بهترین شیوه ها

Gemini در Android Studio به عنوان همکار برنامه نویسی شما عمل می کند و با تولید کد، خلاصه کردن موضوعات پیچیده، یافتن منابع خاص و موارد دیگر، گردش کار توسعه شما را تسریع می بخشد. ارتباط موثر کلید باز کردن پتانسیل کامل جوزا است.

این راهنما راهبردهایی را برای تنظیم محیط توسعه و نوشتن اعلان‌هایی که پاسخ‌های مفید و قابل اعتمادی را ارائه می‌دهند، تشریح می‌کند. برای استراتژی‌های متعدد، ما اعلان‌های مثالی برای موارد استفاده مختلف ارائه کرده‌ایم. برای مثال‌های بیشتر، به گالری Prompt مراجعه کنید.

از حالت عامل استفاده کنید

Gemini در Android Studio's Agent Mode فراتر از آن چیزی است که فقط با چت با Gemini می توانید تجربه کنید. شما می توانید به عامل یک هدف سطح بالا بدهید، و عامل مشکل را تجزیه می کند و برنامه ای برای حل آن ایجاد می کند. نماینده ابزارها را فراخوانی می‌کند، چندین فایل را ویرایش می‌کند، و خطاها را در حین کار برطرف می‌کند. Agent Mode به شما کمک می کند تا کارهای پیچیده را با کارایی بیشتری انجام دهید و کل فرآیند توسعه خود را سرعت بخشد.

خاص باشید

Gemini در Android Studio بهترین عملکرد را با دستورالعمل‌های واضح و مشخص دارد. اگر کتابخانه‌ها، APIها یا رویکردهای خاصی وجود دارد که می‌خواهید از آن‌ها استفاده کنید، آنها را در سؤال خود بگنجانید - یا آنها را در فایل ریشه AGENTS.md پروژه خود بگنجانید تا آنها را در تمام تعاملات ادامه دهید. آن را به عنوان ارسال گزارش اشکال در نظر بگیرید: هرچه اطلاعات بیشتری ارائه دهید، مشکل سریعتر و مؤثرتر حل می شود.

پیاده سازی عملکرد جدید:

چگونه با استفاده از CameraX پشتیبانی دوربین را به برنامه خود اضافه کنم؟ اطمینان حاصل کنید که وابستگی ها و مجوزهایی را که برای استفاده از کتابخانه نیاز دارم، درج کنید.
چگونه پشتیبانی دوربین را به برنامه خود اضافه کنم؟

تولید کد:

یک تابع تعلیق Kotlin بنویسید که از کتابخانه Coil برای دانلود یک تصویر از یک رشته URL معین استفاده می کند.

تابع باید fetchImageAsBitmap نامیده شود. باید یک Context و یک URL String را به عنوان آرگومان در نظر بگیرد و یک Bitmap nullable برگرداند. اگر خطای شبکه یا رمزگشایی وجود داشته باشد، باید استثنا را بگیرد، آن را ثبت کند و null را برگرداند.

یک تابع برای دانلود یک تصویر بنویسید.

تبیین یک مفهوم:

من در حال ساخت یک برنامه پخش کننده موسیقی هستم و باید وقتی برنامه در پس زمینه است به پخش ادامه دهم.

در حالی که کاربر در حال انجام کارهای دیگری در دستگاه است، گزینه‌های من برای فعال نگه داشتن برنامه من چیست؟ الزامات سطح API و پیامدهای عمر باتری برای هر رویکرد چیست؟

خدمات اندروید را توضیح دهید.

ساختار پاسخ را شرح دهید

به‌طور پیش‌فرض، Gemini پاسخ‌ها را در قالب مکالمه‌ای و مبتنی بر پاراگراف ارائه می‌کند. در حالی که این اغلب برای توضیحات مفید است، می‌توانید با گفتن نحوه ساختار پاسخ، نتایج مؤثرتر و قابل استفاده‌تری دریافت کنید. مشخص کردن فرمت خروجی، مدل را هدایت می کند تا اطلاعات را به روشی واضح و قابل پیش بینی سازماندهی کند و در زمان شما صرفه جویی کند که خودتان آن را دوباره قالب بندی کنید.

اگر می‌خواهید کد تولید شده توسط Gemini را در برنامه خود وارد کنید و به کد در قالب خاصی نیاز دارید تا بتوانید فوراً از آن استفاده کنید، دستورالعمل‌های واضحی در مورد تولید و قالب‌بندی کد به Gemini بدهید.

ساختار پاسخ:

یک موجودیت اتاق برای نمایه کاربری ایجاد کنید. باید شامل فیلدهای id , userName , email , and memberSince باشد . فیلد id باید به صورت خودکار ایجاد شود. فیلد memberSince باید نشان دهنده یک مهر زمانی باشد.

یک موجودیت اتاق برای نمایه کاربری ایجاد کنید.

اگر سوال بازتری می‌پرسید، x تعداد گزینه را از آن بپرسید.

محدود کردن پاسخ:

چه ابزارهایی برای بهینه سازی عملکرد اپلیکیشن موجود است؟ یک لیست از سه نفر برتر به من بدهید.
چه ابزارهایی برای بهینه سازی عملکرد اپلیکیشن موجود است؟

درخواست های پیچیده را به وظایف کوچکتر تقسیم کنید

برای درخواست‌های پیچیده و چند مرحله‌ای، حتماً حالت عامل را امتحان کنید. با این حال، اگر رویکرد نماینده آن چیزی نیست که شما انتظار دارید، ممکن است به جای اینکه همه چیز را به یکباره بخواهید، جمینی را از طریق یک سری درخواست های کوچکتر و متوالی راهنمایی کنید. این رویکرد به شما کنترل بیشتری می‌دهد و به شما امکان می‌دهد هر مرحله را قبل از ادامه مرحله بعدی تأیید کنید.

اعمال دستورهای متوالی:

درخواست 1: مدل داده
ابتدا یک کلاس داده Kotlin با نام User ایجاد کنید. باید سه ویژگی داشته باشد: id (یک Int)، name (یک رشته) و email (یک رشته).

درخواست 2: لایه شبکه
اکنون یک رابط API Retrofit به نام ApiService ایجاد کنید. به یک suspend fun به نام getUsers() نیاز دارد که یک List<User> برمی گرداند.

درخواست 3: مدیریت دولتی
در مرحله بعد، یک UsersViewModel بنویسید که ApiService به عنوان یک وابستگی دریافت کند. UsersViewModel باید StateFlow یک کلاس UiState مهر و موم شده را نشان دهد که می تواند Loading, Success(users: List ) را نشان دهد Loading, Success(users: List ) و حالت های Error(message: String) . یک تابع در ViewModel برای واکشی کاربران و به روز رسانی وضعیت ایجاد کنید. تست های واحد را برای عملکردهای جدید بنویسید

درخواست 4: لایه UI
در نهایت، یک تابع Jetpack Compose به نام UserListScreen بنویسید که UiState به عنوان یک پارامتر می پذیرد. از دستور when برای نمایش CircularProgressIndicator برای وضعیت بارگیری، LazyColumn از نام های کاربری برای وضعیت موفقیت و یک عنصر Text با پیام خطا برای وضعیت خطا استفاده کنید. آزمایش هایی را اضافه کنید که عملکرد جدید را تأیید می کند.

یک صفحه Jetpack Compose ایجاد کنید که لیستی از کاربران را از JSON API دریافت کرده و آنها را در یک لیست نمایش دهد. باید یک ViewModel داشته باشد که از Retrofit و coroutines استفاده می کند، یک مخزن برای مدیریت منطق داده ها، یک کلاس داده User ، و باید حالت های بارگذاری و خطا را نشان دهد.

زمینه را مدیریت کنید

بخش عمده کار با Gemini در اندروید استودیو، فراهم کردن زمینه مناسب است. قطعات کد مربوطه، محتویات فایل و اطلاعات ساختار پروژه را برای دریافت مفیدترین پاسخ ها ارائه دهید. ممکن است مجبور شوید برای ایجاد تعادل مناسب تکرار کنید: اطلاعات زیاد ممکن است جوزا را به بیراهه بکشاند، در حالی که اطلاعات بسیار کم زمینه کافی برای کمک به آن را فراهم نمی کند. از ویژگی های موجود برای دسترسی Gemini به زمینه لازم استفاده کنید:

  • تصاویر را ضمیمه کنید تا تصویری از رابط کاربری مورد نظرتان یا معماری برنامه‌ای که می‌خواهید درک کنید ارائه دهید.
  • فایل‌ها را ضمیمه کنید تا قسمت‌های مربوط به پایگاه کد را برجسته کنید.
  • از فایل‌های .aiexclude استفاده کنید تا Gemini بخش‌های خاصی از پایگاه کد را نادیده بگیرد.
  • از فایل های AGENTS.md برای ارائه دستورالعمل های خاص پروژه و به اشتراک گذاری آنها در تیم خود استفاده کنید. هنگام استفاده از فایل‌های AGENTS.md، از سربرگ‌ها و قالب‌بندی Markdown استفاده کنید تا دستورالعمل‌های خود را شفاف کنید.
  • هنگام استفاده از حالت عامل، سرورهای MCP را برای گسترش دانش و قابلیت های Gemini با محیط خارجی پیکربندی کنید.

توضیح بخواهید

اگر جمینی را در پاسخ اندروید استودیو متوجه نشدید، توضیح بخواهید. این یک راه عالی برای یادگیری و تأیید مناسب بودن راه حل پیشنهادی برای مورد استفاده شما است. اگر پاسخ آن چیزی نبود که انتظار داشتید، در واقع می‌تواند این باشد که جمینی نادرست است، و درخواست توضیح فرصتی را برای جمینی فراهم می‌کند تا خودش را اصلاح کند.

دستورالعمل های خود را تکرار کنید

مانند زمانی که با یک همکار کار می کنید، کار با Gemini در اندروید استودیو گاهی اوقات برای شفافیت در مورد کار و نتیجه مورد انتظار نیاز به برقراری ارتباط بین دو طرف دارد. اگر پاسخ اولیه Gemini ناکافی است، با بازخورد و پیشنهادات برای بهبود به آن پاسخ دهید. اگر پاسخ آن بر اساس پیشنهادات شما بهبود یافت، با به‌روزرسانی ورودی در کتابخانه درخواست یا به‌روزرسانی فایل‌های AGENTS.md ، آن پیشنهاد را در درخواست اصلی بگنجانید.