সর্বোত্তম অনুশীলন

অ্যান্ড্রয়েড স্টুডিওতে জেমিনি আপনার কোডিং সহযোগী হিসাবে কাজ করে, কোড তৈরি করে, জটিল বিষয়গুলির সংক্ষিপ্তকরণ, নির্দিষ্ট সংস্থানগুলি খুঁজে বের করে এবং আরও অনেক কিছুর মাধ্যমে আপনার উন্নয়ন কর্মপ্রবাহকে ত্বরান্বিত করে৷ মিথুনের সম্পূর্ণ সম্ভাবনাকে আনলক করার চাবিকাঠি হল কার্যকর যোগাযোগ।

এই নির্দেশিকাটি আপনার বিকাশের পরিবেশ সেট আপ করার জন্য কৌশলগুলির রূপরেখা দেয় এবং প্রম্পটগুলি লেখার জন্য যা দরকারী এবং নির্ভরযোগ্য প্রতিক্রিয়া দেয়৷ একাধিক কৌশলের জন্য, আমরা বিভিন্ন ব্যবহারের ক্ষেত্রে উদাহরণ প্রম্পট প্রদান করেছি। আরও উদাহরণের জন্য, প্রম্পট গ্যালারি দেখুন।

এজেন্ট মোড ব্যবহার করুন

অ্যান্ড্রয়েড স্টুডিওর এজেন্ট মোডে জেমিনি আপনি শুধু মিথুনের সাথে চ্যাট করে যা অনুভব করতে পারেন তার বাইরে চলে যায়৷ আপনি এজেন্টকে একটি উচ্চ-স্তরের লক্ষ্য দিতে পারেন এবং এজেন্ট সমস্যাটি ভেঙে দেয় এবং এটি সমাধান করার জন্য একটি পরিকল্পনা তৈরি করে। এজেন্ট সরঞ্জামগুলিতে কল করে, একাধিক ফাইল সম্পাদনা করে, এবং ত্রুটিগুলি ঠিক করে। এজেন্ট মোড আপনাকে জটিল কাজগুলিকে আরও দক্ষতার সাথে পরিচালনা করতে সাহায্য করে, আপনার সম্পূর্ণ বিকাশ প্রক্রিয়াকে দ্রুততর করে।

নির্দিষ্ট হোন

অ্যান্ড্রয়েড স্টুডিওতে জেমিনি স্পষ্ট, নির্দিষ্ট নির্দেশাবলীর সাথে সেরা পারফর্ম করে। যদি কিছু নির্দিষ্ট লাইব্রেরি, API, বা পন্থা থাকে যা আপনি ব্যবহার করতে চান, সেগুলিকে আপনার প্রশ্নে অন্তর্ভুক্ত করুন—অথবা সেগুলিকে ইন্টারঅ্যাকশন জুড়ে বজায় রাখতে আপনার প্রকল্পের রুট AGENTS.md ফাইলে অন্তর্ভুক্ত করুন৷ এটিকে একটি বাগ রিপোর্ট ফাইল করার মতো মনে করুন: আপনি যত বেশি তথ্য প্রদান করেন, তত দ্রুত এবং আরও কার্যকরভাবে সমস্যাটি সমাধান করা যেতে পারে।

নতুন কার্যকারিতা বাস্তবায়ন:

CameraX ব্যবহার করে আমি কীভাবে আমার অ্যাপে ক্যামেরা সমর্থন যোগ করব? লাইব্রেরি ব্যবহার করার জন্য আমার যেকোন নির্ভরতা এবং অনুমতিগুলি অন্তর্ভুক্ত করা নিশ্চিত করুন।
আমি কিভাবে আমার অ্যাপে ক্যামেরা সমর্থন যোগ করব?

কোড তৈরি করা হচ্ছে:

একটি কোটলিন সাসপেন্ড ফাংশন লিখুন যা একটি প্রদত্ত URL স্ট্রিং থেকে একটি চিত্র ডাউনলোড করতে কয়েল লাইব্রেরি ব্যবহার করে।

ফাংশনটির নাম fetchImageAsBitmap হওয়া উচিত। এটি আর্গুমেন্ট হিসাবে একটি Context এবং একটি String URL নিতে হবে এবং একটি বাতিলযোগ্য Bitmap প্রদান করবে। যদি কোনও নেটওয়ার্ক বা ডিকোডিং ত্রুটি থাকে, তবে এটির ব্যতিক্রমটি ধরা উচিত, এটি লগ করা উচিত এবং null ফেরত দেওয়া উচিত।

একটি ছবি ডাউনলোড করার জন্য একটি ফাংশন লিখুন।

একটি ধারণা ব্যাখ্যা:

আমি একটি মিউজিক প্লেয়ার অ্যাপ তৈরি করছি এবং অ্যাপটি ব্যাকগ্রাউন্ডে থাকলে প্লেব্যাক চালিয়ে যেতে হবে।

ব্যবহারকারী ডিভাইসে অন্যান্য কাজ করার সময় আমার অ্যাপটি চালু রাখার জন্য আমার বিকল্পগুলি কী কী? প্রতিটি পদ্ধতির জন্য API স্তরের প্রয়োজনীয়তা এবং ব্যাটারি জীবনের প্রভাবগুলি কী কী?

অ্যান্ড্রয়েড পরিষেবাগুলি ব্যাখ্যা করুন।

উত্তরের গঠন বর্ণনা কর

ডিফল্টরূপে, মিথুন একটি কথোপকথন, অনুচ্ছেদ-ভিত্তিক বিন্যাসে উত্তর প্রদান করে। যদিও এটি প্রায়শই ব্যাখ্যার জন্য উপযোগী হয়, আপনি কীভাবে প্রতিক্রিয়া গঠন করতে হবে তা বলে আরও কার্যকর এবং অবিলম্বে ব্যবহারযোগ্য ফলাফল পেতে পারেন। আউটপুট ফরম্যাট নির্দিষ্ট করা মডেলটিকে তথ্যটিকে একটি পরিষ্কার, অনুমানযোগ্য উপায়ে সংগঠিত করার নির্দেশ দেয়, এটিকে পুনরায় ফর্ম্যাট করার সময় আপনার বাঁচায়।

আপনি যদি আপনার অ্যাপে জেমিনি দ্বারা জেনারেট করা কোড সন্নিবেশ করতে চান এবং একটি নির্দিষ্ট বিন্যাসে কোডের প্রয়োজন হয় যাতে আপনি এটি অবিলম্বে ব্যবহার করতে পারেন, কোড তৈরি এবং ফর্ম্যাট করার বিষয়ে মিথুনকে স্পষ্ট নির্দেশ দিন।

প্রতিক্রিয়া গঠন:

ব্যবহারকারীর প্রোফাইলের জন্য একটি রুম সত্তা তৈরি করুন। এটিতে ক্ষেত্র id , userName , email এবং memberSince থাকা উচিত। id ক্ষেত্রটি স্বয়ংক্রিয়ভাবে তৈরি হওয়া উচিত। memberSince ক্ষেত্রের একটি টাইমস্ট্যাম্প প্রতিনিধিত্ব করা উচিত.

ব্যবহারকারীর প্রোফাইলের জন্য একটি রুম সত্তা তৈরি করুন।

আপনি যদি আরও খোলামেলা প্রশ্ন জিজ্ঞাসা করেন, তাহলে x নম্বর বিকল্পের জন্য জিজ্ঞাসা করুন।

প্রতিক্রিয়া সীমিত করা:

অ্যাপ্লিকেশন কর্মক্ষমতা অপ্টিমাইজেশান জন্য কি সরঞ্জাম উপলব্ধ? আমাকে সেরা তিনজনের একটি তালিকা দিন।
অ্যাপ্লিকেশন কর্মক্ষমতা অপ্টিমাইজেশান জন্য কি সরঞ্জাম উপলব্ধ?

জটিল অনুরোধগুলিকে ছোট ছোট কাজে ভাগ করুন

জটিল, বহু-পদক্ষেপের অনুরোধের জন্য, এজেন্ট মোড ব্যবহার করে দেখতে ভুলবেন না। যাইহোক, যদি এজেন্টের দৃষ্টিভঙ্গি আপনার প্রত্যাশা অনুযায়ী না হয়, তাহলে এটি মিথুনকে একযোগে সবকিছু চাওয়ার পরিবর্তে ছোট, অনুক্রমিক প্রম্পটের একটি সিরিজের মাধ্যমে গাইড করতে সাহায্য করতে পারে। এই পদ্ধতিটি আপনাকে আরও নিয়ন্ত্রণ দেয় এবং পরবর্তীতে যাওয়ার আগে আপনাকে প্রতিটি ধাপ যাচাই করতে দেয়।

অনুক্রমিক প্রম্পট প্রয়োগ করা:

প্রম্পট 1: ডেটা মডেল
প্রথমে, User নামে একটি Kotlin ডেটা ক্লাস তৈরি করুন। এটির তিনটি বৈশিষ্ট্য থাকা উচিত: id (একটি Int), name (একটি স্ট্রিং), এবং email (একটি স্ট্রিং)।

প্রম্পট 2: নেটওয়ার্ক স্তর
এখন, ApiService নামে একটি Retrofit API ইন্টারফেস তৈরি করুন। এটির জন্য getUsers() নামে একটি একক suspend fun প্রয়োজন যা একটি List<User> প্রদান করে।

প্রম্পট 3: রাষ্ট্রীয় ব্যবস্থাপনা
এরপরে, একটি UsersViewModel লিখুন যা ApiService নির্ভরতা হিসাবে নেয়। UsersViewModel একটি সিল করা UiState ক্লাসের একটি StateFlow প্রকাশ করা উচিত যা Loading, Success(users: List ) প্রতিনিধিত্ব করতে পারে Loading, Success(users: List ) , এবং Error(message: String) বলে। ব্যবহারকারীদের আনতে এবং অবস্থা আপডেট করতে ViewModel এ একটি ফাংশন তৈরি করুন। নতুন কার্যকারিতার জন্য ইউনিট পরীক্ষা লিখুন

প্রম্পট 4: UI স্তর
অবশেষে, UserListScreen নামে একটি Jetpack Compose ফাংশন লিখুন যা UiState প্যারামিটার হিসাবে গ্রহণ করে। লোডিং অবস্থার জন্য একটি CircularProgressIndicator প্রদর্শন করতে একটি when স্টেটমেন্ট ব্যবহার করুন, সফলতার অবস্থার জন্য ব্যবহারকারীর নামের একটি LazyColumn এবং ত্রুটির অবস্থার জন্য ত্রুটি বার্তা সহ একটি Text উপাদান। নতুন কার্যকারিতা যাচাই করে এমন পরীক্ষা যোগ করুন।

একটি জেটপ্যাক কম্পোজ স্ক্রিন তৈরি করুন যা একটি JSON API থেকে ব্যবহারকারীদের একটি তালিকা নিয়ে আসে এবং তাদের একটি তালিকায় প্রদর্শন করে। এটিতে একটি ViewModel থাকা উচিত যা Retrofit এবং coroutines ব্যবহার করে, ডেটা লজিক পরিচালনা করার জন্য একটি সংগ্রহস্থল, একটি User ডেটা ক্লাস এবং এটি লোডিং এবং ত্রুটির অবস্থা দেখাতে হবে৷

প্রসঙ্গ পরিচালনা করুন

অ্যান্ড্রয়েড স্টুডিওতে জেমিনীর সাথে কাজ করার একটি বড় অংশ সঠিক প্রসঙ্গ প্রদান করছে। সবচেয়ে সহায়ক প্রতিক্রিয়া পেতে প্রাসঙ্গিক কোড স্নিপেট, ফাইলের বিষয়বস্তু এবং প্রকল্পের কাঠামোর তথ্য প্রদান করুন। সঠিক ভারসাম্য বজায় রাখার জন্য আপনাকে পুনরাবৃত্তি করতে হতে পারে: অত্যধিক তথ্য মিথুনকে বিপথে নিয়ে যেতে পারে, যেখানে খুব কম এটি সাহায্য করার জন্য যথেষ্ট প্রসঙ্গ সরবরাহ করবে না। প্রয়োজনীয় প্রসঙ্গে মিথুনকে অ্যাক্সেস দিতে উপলব্ধ বৈশিষ্ট্যগুলি ব্যবহার করুন:

  • আপনি যে UI কল্পনা করছেন বা যে অ্যাপ আর্কিটেকচার আপনি বোঝার চেষ্টা করছেন তার একটি ভিজ্যুয়াল প্রদান করতে ছবি সংযুক্ত করুন
  • কোডবেসের প্রাসঙ্গিক অংশ হাইলাইট করতে ফাইল সংযুক্ত করুন
  • .aiexclude ফাইল ব্যবহার করুন মিথুনকে কোডবেসের কিছু অংশ উপেক্ষা করতে।
  • প্রজেক্ট-নির্দিষ্ট নির্দেশনা দিতে AGENTS.md ফাইল ব্যবহার করুন এবং সেগুলি আপনার দলে শেয়ার করুন। AGENTS.md ফাইলগুলি ব্যবহার করার সময়, আপনার নির্দেশাবলী পরিষ্কার করতে মার্কডাউন শিরোনাম এবং বিন্যাস ব্যবহার করুন।
  • এজেন্ট মোড ব্যবহার করার সময়, বাহ্যিক পরিবেশের সাথে জেমিনীর জ্ঞান এবং ক্ষমতা প্রসারিত করতে MCP সার্ভারগুলি কনফিগার করুন।

ব্যাখ্যা জিজ্ঞাসা করুন

আপনি যদি অ্যান্ড্রয়েড স্টুডিওর প্রতিক্রিয়াতে জেমিনি বুঝতে না পারেন তবে একটি ব্যাখ্যা জিজ্ঞাসা করুন। প্রস্তাবিত সমাধানটি আপনার ব্যবহারের ক্ষেত্রে উপযুক্ত কিনা তা শেখার এবং যাচাই করার এটি একটি দুর্দান্ত উপায়। যদি প্রতিক্রিয়াটি আপনার প্রত্যাশা অনুযায়ী না হয়, তবে এটি আসলে হতে পারে যে মিথুনটি ভুল, এবং একটি ব্যাখ্যা চাওয়া মিথুনকে নিজেকে সংশোধন করার সুযোগ দেবে।

আপনার নির্দেশাবলী পুনরাবৃত্তি করুন

আপনি যখন একজন সহকর্মীর সাথে কাজ করছেন ঠিক তেমনই, Android স্টুডিওতে Gemini-এর সাথে কাজ করার সময় কখনও কখনও কাজ এবং প্রত্যাশিত ফলাফল সম্পর্কে স্পষ্টতা পেতে কিছু পিছিয়ে এবং যোগাযোগের প্রয়োজন হয়। মিথুনের প্রাথমিক প্রতিক্রিয়া অপর্যাপ্ত হলে, কীভাবে উন্নতি করা যায় তার জন্য প্রতিক্রিয়া এবং পরামর্শ সহ এটির প্রতিক্রিয়া জানান। যদি আপনার পরামর্শের উপর ভিত্তি করে এর প্রতিক্রিয়া উন্নত হয়, তাহলে প্রম্পট লাইব্রেরিতে এন্ট্রি আপডেট করে বা আপনার AGENTS.md ফাইলগুলি আপডেট করে সেই পরামর্শটিকে মূল প্রম্পটে অন্তর্ভুক্ত করুন।