Praktik terbaik

Gemini di Android Studio berfungsi sebagai kolaborator coding Anda, yang mempercepat alur kerja pengembangan dengan menghasilkan kode, meringkas topik yang kompleks, menemukan resource tertentu, dan banyak lagi. Komunikasi yang efektif adalah kunci untuk mewujudkan potensi penuh Gemini.

Panduan ini menguraikan strategi untuk menyiapkan lingkungan pengembangan dan menulis perintah yang menghasilkan respons yang berguna dan andal. Untuk beberapa strategi, kami telah memberikan contoh perintah untuk berbagai kasus penggunaan. Untuk melihat contoh perintah lainnya, lihat Galeri perintah.

Menggunakan Mode Agen

Mode Agen Gemini di Android Studio melampaui apa yang dapat Anda alami hanya dengan melakukan percakapan dengan Gemini. Anda dapat memberikan tujuan tingkat tinggi kepada agen, dan agen akan menguraikan masalah serta membuat rencana untuk menyelesaikannya. Agen memanggil alat, mengedit beberapa file, dan memperbaiki error saat melakukannya. Agent Mode membantu Anda menangani tugas kompleks secara lebih efisien, sehingga mempercepat seluruh proses pengembangan Anda.

Harus spesifik

Gemini di Android Studio berfungsi paling baik dengan petunjuk yang jelas dan spesifik. Jika ada library, API, atau pendekatan tertentu yang ingin Anda gunakan, sertakan dalam pertanyaan Anda—atau sertakan dalam file AGENTS.md root project untuk mempertahankan penggunaannya di seluruh interaksi. Anggap saja seperti mengirimkan laporan bug: makin banyak informasi yang Anda berikan, makin cepat dan efektif masalah dapat diselesaikan.

Mengimplementasikan fungsi baru:

Bagaimana cara menambahkan dukungan kamera ke aplikasi saya menggunakan CameraX? Pastikan untuk menyertakan semua dependensi dan izin yang saya perlukan untuk menggunakan library.
Bagaimana cara menambahkan dukungan kamera ke aplikasi saya?

Membuat kode:

Tulis fungsi penangguhan Kotlin yang menggunakan library Coil untuk mendownload gambar dari string URL tertentu.

Fungsi harus bernama fetchImageAsBitmap. Fungsi ini harus menggunakan Context dan URL String sebagai argumen dan menampilkan Bitmap yang dapat bernilai null. Jika ada error jaringan atau decoding, pengecualian harus ditangkap, dicatat, dan menampilkan null.

Tulis fungsi untuk mendownload gambar.

Menjelaskan konsep:

Saya sedang membuat aplikasi pemutar musik dan perlu melanjutkan pemutaran saat aplikasi berada di latar belakang.

Apa opsi saya untuk membuat aplikasi saya tetap berjalan saat pengguna melakukan hal lain di perangkat? Apa saja persyaratan level API dan implikasi masa pakai baterai untuk setiap pendekatan?

Jelaskan Layanan Android.

Menjelaskan struktur jawaban

Secara default, Gemini memberikan jawaban dalam format percakapan berbasis paragraf. Meskipun sering kali berguna untuk penjelasan, Anda bisa mendapatkan hasil yang lebih efektif dan dapat langsung digunakan dengan memberi tahu cara menyusun respons. Menentukan format output mengarahkan model untuk mengatur informasi dengan cara yang jelas dan dapat diprediksi, sehingga Anda tidak perlu memformat ulang sendiri.

Jika Anda ingin menyisipkan kode yang dihasilkan oleh Gemini ke dalam aplikasi dan memerlukan kode dalam format tertentu agar dapat langsung menggunakannya, berikan petunjuk yang jelas kepada Gemini tentang pembuatan dan pemformatan kode.

Menyusun respons:

Buat entity Room untuk profil pengguna. Harus berisi kolom id, userName, email, dan memberSince. Kolom id harus dibuat secara otomatis. Kolom memberSince harus merepresentasikan stempel waktu.

Buat entity Room untuk profil pengguna.

Jika Anda mengajukan pertanyaan yang lebih terbuka, ajukan pertanyaan untuk x jumlah opsi.

Membatasi respons:

Alat apa saja yang tersedia untuk pengoptimalan performa aplikasi? Berikan daftar tiga teratas.
Alat apa saja yang tersedia untuk pengoptimalan performa aplikasi?

Membagi permintaan kompleks menjadi tugas-tugas yang lebih kecil

Untuk permintaan multi-langkah yang kompleks, pastikan untuk mencoba Mode Agen. Namun, jika pendekatan agen tidak sesuai dengan yang Anda harapkan, Anda dapat memandu Gemini melalui serangkaian perintah yang lebih kecil dan berurutan, daripada meminta semuanya sekaligus. Pendekatan ini memberi Anda lebih banyak kontrol dan memungkinkan Anda memverifikasi setiap langkah sebelum melanjutkan ke langkah berikutnya.

Menerapkan perintah berurutan:

Perintah 1: Model data
Pertama, buat class data Kotlin bernama User. Class ini harus memiliki tiga properti: id (Int), name (String), dan email (String).

Perintah 2: Lapisan jaringan
Sekarang, buat antarmuka API Retrofit yang disebut ApiService. API ini memerlukan satu suspend fun yang disebut getUsers() yang menampilkan List<User>.

Perintah 3: Pengelolaan status
Selanjutnya, tulis UsersViewModel yang menggunakan ApiService sebagai dependensi. UsersViewModel harus mengekspos StateFlow dari class UiState tertutup yang dapat merepresentasikan status Loading, Success(users: List), dan Error(message: String). Buat fungsi di ViewModel untuk mengambil pengguna dan memperbarui status. Menulis pengujian unit untuk fungsi baru

Perintah 4: Lapisan UI
Terakhir, tulis fungsi Jetpack Compose bernama UserListScreen yang menerima UiState sebagai parameter. Gunakan pernyataan when untuk menampilkan CircularProgressIndicator untuk status pemuatan, LazyColumn nama pengguna untuk status berhasil, dan elemen Text dengan pesan error untuk status error. Tambahkan pengujian yang memverifikasi fungsi baru.

Buat layar Jetpack Compose yang mengambil daftar pengguna dari JSON API dan menampilkannya dalam daftar. Aplikasi ini harus memiliki ViewModel yang menggunakan Retrofit dan coroutine, repositori untuk menangani logika data, class data User, dan perlu menampilkan status pemuatan dan error.

Mengelola konteks

Bagian penting dalam menggunakan Gemini di Android Studio adalah memberikan konteks yang tepat. Berikan cuplikan kode, konten file, dan informasi struktur project yang relevan untuk mendapatkan respons yang paling bermanfaat. Anda mungkin harus melakukan iterasi untuk menemukan keseimbangan yang tepat: terlalu banyak informasi dapat membuat Gemini keliru, sedangkan terlalu sedikit informasi tidak akan memberikan konteks yang cukup untuk membantunya. Gunakan fitur yang tersedia untuk memberi Gemini akses ke konteks yang diperlukan:

  • Lampirkan gambar untuk memberikan visualisasi UI yang Anda bayangkan atau arsitektur aplikasi yang sedang Anda coba pahami.
  • Lampirkan file untuk menandai bagian yang relevan dari kode.
  • Gunakan file .aiexclude agar Gemini mengabaikan bagian tertentu dari codebase.
  • Gunakan file AGENTS.md untuk memberikan petunjuk khusus project dan membagikannya kepada tim Anda. Saat menggunakan file AGENTS.md, gunakan header dan pemformatan Markdown untuk membuat petunjuk Anda jelas.
  • Saat menggunakan Mode Agen, konfigurasikan server MCP untuk memperluas pengetahuan dan kemampuan Gemini dengan lingkungan eksternal.

Meminta penjelasan

Jika Anda tidak memahami respons Gemini di Android Studio, minta penjelasan. Ini adalah cara yang efektif untuk mempelajari dan memverifikasi bahwa solusi yang diusulkan sesuai untuk kasus penggunaan Anda. Jika responsnya tidak sesuai dengan yang Anda harapkan, bisa jadi Gemini salah, dan meminta penjelasan akan memberi Gemini kesempatan untuk mengoreksi dirinya sendiri.

Melakukan iterasi pada petunjuk Anda

Mirip dengan saat Anda bekerja dengan rekan kerja, bekerja dengan Gemini di Android Studio terkadang memerlukan komunikasi dua arah untuk mendapatkan kejelasan tentang tugas dan hasil yang diharapkan. Jika respons awal Gemini tidak memadai, balas respons tersebut dengan memberikan masukan dan saran tentang cara meningkatkannya. Jika responsnya meningkat berdasarkan saran Anda, gabungkan saran tersebut ke dalam perintah asli dengan memperbarui entri di Prompt Library atau memperbarui file AGENTS.md Anda.