Android Studio'da Gemini, kod oluşturma, karmaşık konuları özetleme ve belirli kaynakları bulma gibi işlemler yaparak geliştirme iş akışınızı hızlandıran bir kodlama iş ortağı gibi çalışır. Gemini'ın tüm potansiyelinden yararlanmak için etkili iletişim kurmak gerekir.
Bu rehberde, geliştirme ortamınızı kurma ve yararlı ve güvenilir yanıtlar veren istemler yazma stratejileri özetlenmektedir. Birden fazla strateji için farklı kullanım alanlarına yönelik örnek istemler sağladık. Daha fazla örnek istem için İstem galerisi'ne bakın.
Temsilci Modu'nu kullanma
Android Studio'daki Gemini'ın Temsilci Modu, Gemini ile sohbet ederek elde edebileceğiniz deneyimin ötesine geçer. Aracıya üst düzey bir hedef verebilirsiniz. Aracı, sorunu parçalara ayırır ve çözmek için bir plan oluşturur. Aracı, araçları çağırır, birden fazla dosyayı düzenler ve hataları düzeltir. Agent Mode, karmaşık görevleri daha verimli bir şekilde ele almanıza yardımcı olarak tüm geliştirme sürecinizi hızlandırır.
Spesifik olun
Android Studio'da Gemini, net ve spesifik talimatlarla en iyi performansı gösterir. Kullanmak istediğiniz belirli kitaplıklar, API'ler veya yaklaşımlar varsa bunları sorunuza ekleyin ya da etkileşimler arasında kalıcı olmaları için projenizin kök AGENTS.md dosyasına ekleyin. Bunu bir hata raporu gönderme gibi düşünebilirsiniz: Ne kadar çok bilgi verirseniz sorun o kadar hızlı ve etkili bir şekilde çözülebilir.
Yeni işlevleri uygulama:
Yapılması gerekenler
Yapılmaması gerekenler
Kod oluşturma:
Yapılması gerekenler
Belirli bir URL dizesinden resim indirmek için Coil kitaplığını kullanan bir Kotlin suspend işlevi yazın.
İşlev fetchImageAsBitmap
olarak adlandırılmalıdır. Context
ve String
URL'sini bağımsız değişken olarak almalı ve boş değer atanabilir bir Bitmap
döndürmelidir. Ağ veya kod çözme hatası varsa istisnayı yakalamalı, günlüğe kaydetmeli ve null
değerini döndürmelidir.
Yapılmaması gerekenler
Bir kavramı açıklama:
Yapılması gerekenler
Bir müzik çalar uygulaması geliştiriyorum ve uygulama arka plandayken oynatmaya devam etmem gerekiyor.
Kullanıcı cihazda başka işlemler yaparken uygulamamın çalışmaya devam etmesi için hangi seçeneklerim var? Her yaklaşım için API düzeyi şartları ve pil ömrüyle ilgili sonuçlar nelerdir?
Yapılmaması gerekenler
Yanıtın yapısını açıklama
Gemini, varsayılan olarak sohbet tarzında ve paragraflara dayalı bir biçimde yanıt verir. Bu yöntem genellikle açıklamalar için faydalı olsa da yanıtı nasıl yapılandıracağını söyleyerek daha etkili ve hemen kullanılabilir sonuçlar elde edebilirsiniz. Çıkış biçimini belirtmek, modeli bilgileri net ve tahmin edilebilir bir şekilde düzenlemeye yönlendirir. Böylece, bilgileri kendiniz yeniden biçimlendirmek için harcayacağınız zamandan tasarruf edersiniz.
Gemini tarafından oluşturulan kodu uygulamanıza eklemek istiyorsanız ve kodu anında kullanabilmek için belirli bir biçimde istiyorsanız Gemini'a kodu oluşturma ve biçimlendirme konusunda net talimatlar verin.
Yanıtı yapılandırma:
Yapılması gerekenler
Kullanıcı profili için bir oda öğesi oluşturun. id
, userName
, email
ve memberSince
alanlarını içermelidir. id
alanı otomatik olarak oluşturulmalıdır. memberSince
alanı bir zaman damgasını temsil etmelidir.
Yapılmaması gerekenler
Daha açık uçlu bir soru soruyorsanız x seçenekli olarak sorun.
Yanıtı sınırlama:
Yapılması gerekenler
Yapılmaması gerekenler
Karmaşık istekleri daha küçük görevlere ayırın
Karmaşık ve çok adımlı istekler için Aracı Modu'nu deneyin. Ancak aracının yaklaşımı beklentilerinizi karşılamıyorsa Gemini'a her şeyi tek seferde sormak yerine bir dizi küçük ve sıralı istemle yol göstermek faydalı olabilir. Bu yaklaşım, size daha fazla kontrol sağlar ve bir sonraki adıma geçmeden önce her adımı doğrulamanıza olanak tanır.
Sıralı istemleri uygulama:
Yapılması gerekenler
1. istem: Veri modeli
Öncelikle User
adlı bir Kotlin veri sınıfı oluşturun. Üç özelliği olmalıdır: id
(Int), name
(String) ve email
(String).
İstem 2: Ağ katmanı
Şimdi ApiService
adlı bir Retrofit API arayüzü oluşturun. suspend fun
adlı tek bir getUsers()
işlevi gerekir. Bu işlev, List<User>
değerini döndürür.
İstem 3: Durum yönetimi
Ardından, ApiService
öğesini bağımlılık olarak kullanan bir UsersViewModel
yazın. UsersViewModel
, Loading, Success(users: List
ve Error(message: String)
durumlarını temsil edebilen kapalı bir UiState
sınıfının StateFlow
öğesini kullanıma sunmalıdır. Kullanıcıları getirmek ve durumu güncellemek için ViewModel
içinde bir işlev oluşturun. Yeni işlevler için birim testleri yazma
İstem 4: Kullanıcı arayüzü
katmanı
Son olarak, UiState
öğesini parametre olarak kabul eden UserListScreen
adlı bir Jetpack Compose işlevi yazın. Yükleme durumu için when
ifadesini kullanarak CircularProgressIndicator
, başarı durumu için kullanıcı adlarının LazyColumn
, hata durumu için ise hata mesajını içeren bir Text
öğesi görüntüleyin. Yeni işlevin doğrulandığı testler ekleyin.
Yapılmaması gerekenler
ViewModel
, veri mantığını işleyen bir depo, User
veri sınıfı olmalı ve yükleme ile hata durumlarını göstermelidir.Bağlamı yönetme
Android Studio'da Gemini ile çalışmanın önemli bir kısmı doğru bağlamı sağlamaktır. En faydalı yanıtları almak için alakalı kod snippet'leri, dosya içerikleri ve proje yapısı bilgilerini sağlayın. Doğru dengeyi bulmak için isteminizi yinelemeniz gerekebilir. Çok fazla bilgi, Gemini'ı yanıltabilir. Çok az bilgi ise Gemini'ın size yardımcı olabilmesi için yeterli bağlamı sağlamaz. Gemini'a gerekli bağlama erişim izni vermek için mevcut özellikleri kullanın:
- Resim ekleyerek tasarladığınız kullanıcı arayüzünün veya anlamaya çalıştığınız uygulama mimarisinin görselini paylaşın.
- Kod tabanının ilgili bölümlerini vurgulamak için dosya ekleyin.
- Gemini'ın kod tabanının belirli kısımlarını yoksaymasını sağlamak için
.aiexclude
dosyalarını kullanın. - Projeye özel talimatlar vermek ve bunları ekibinizle paylaşmak için AGENTS.md dosyalarını kullanın. AGENTS.md dosyalarını kullanırken talimatlarınızın net olması için Markdown üstbilgilerini ve biçimlendirmesini kullanın.
- Aracı Modu'nu kullanırken Gemini'ın bilgi ve yeteneklerini harici ortamla genişletmek için MCP sunucularını yapılandırın.
Açıklama isteme
Android Studio'daki Gemini'ın yanıtını anlamıyorsanız açıklama isteyin. Bu, önerilen çözümün kullanım alanınıza uygun olup olmadığını öğrenmek ve doğrulamak için harika bir yöntemdir. Yanıt beklentilerinizi karşılamadıysa Gemini'ın hatalı olması mümkündür. Açıklama istemek, Gemini'ın kendini düzeltmesine olanak tanır.
Talimatlarınızı yineleme
Android Studio'da Gemini ile çalışmak, iş arkadaşınızla çalışmaya benzer şekilde bazen görev ve beklenen sonuç hakkında netlik kazanmak için karşılıklı iletişim gerektirir. Gemini'ın ilk yanıtı yeterli değilse yanıtı geri bildirim ve iyileştirme önerileriyle birlikte gönderin. Yanıtı, önerileriniz doğrultusunda iyileşirse İstem Kitaplığı'ndaki girişi veya AGENTS.md dosyalarınızı güncelleyerek bu öneriyi orijinal isteme dahil edin.