En iyi uygulamalar

Android Studio'daki asistan, kodlama konusunda size yardımcı olur. Kod oluşturma, karmaşık konuları özetleme, belirli kaynakları bulma ve daha pek çok işlemle geliştirme iş akışınızı hızlandırır. Etkili iletişim, temsilcinin tam potansiyelini ortaya çıkarmanın anahtarıdır.

Bu kılavuzda, geliştirme ortamınızı ayarlama ve faydalı ve güvenilir yanıtlar veren istemler yazma stratejileri açıklanmaktadır. 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 göz atın.

Spesifik olun

Temsilci, 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öndermek gibi düşünebilirsiniz: Ne kadar çok bilgi verirseniz sorun o kadar hızlı ve etkili bir şekilde çözülebilir.

Yeni işlevler uygulama:

CameraX kullanarak uygulamama kamera desteğini nasıl eklerim? Kitaplığı kullanmak için gereken tüm bağımlılıkları ve izinleri eklediğinizden emin olun.
Uygulamama kamera desteğini nasıl eklerim?

Kod oluşturma:

Belirli bir URL dizesinden resim indirmek için Coil kitaplığını kullanan bir Kotlin askıya alma işlevi yazın.

İşlevin adı fetchImageAsBitmap olmalıdır. Bağımsız değişken olarak bir Context ve bir String URL'si almalı ve null değer alabilen bir Bitmap döndürmelidir. Ağ veya kod çözme hatası varsa istisnayı yakalamalı, günlüğe kaydetmeli ve null değerini döndürmelidir.

Resim indirmek için bir işlev yazın.

Bir kavramı açıklama:

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ın API düzeyi gereksinimleri ve pil ömrü üzerindeki etkileri nelerdir?

Android hizmetlerini açıklama

Yanıtın yapısını açıklayın.

Temsilci, varsayılan olarak sohbet tarzında, paragrafa dayalı bir biçimde yanıt verir. Bu yöntem genellikle açıklama almak için faydalı olsa da yanıtın nasıl yapılandırılacağını belirterek daha etkili ve hemen kullanılabilir sonuçlar elde edebilirsiniz. Çıkış biçimini belirtmek, modeli bilgileri net ve öngörülebilir bir şekilde düzenlemeye yönlendirerek sizi bilgileri yeniden biçimlendirme zahmetinden kurtarır.

Temsilci tarafından oluşturulan kodu uygulamanıza eklemek istiyorsanız ve kodu anında kullanabilmek için belirli bir biçimde olması gerekiyorsa temsilciye kodun oluşturulması ve biçimlendirilmesiyle ilgili net talimatlar verin.

Yanıtı yapılandırma:

Kullanıcı profili için bir oda öğesi oluşturun. id, userName, email ve memberSince alanlarını içermelidir. id alanı otomatik olarak üretilmiş olmalıdır. memberSince alanı bir zaman damgasını temsil etmelidir.

Kullanıcı profili için bir oda öğesi oluşturun.

Daha açık uçlu bir soru soruyorsanız x sayıda seçenek isteyin.

Yanıtı sınırlama:

Uygulama performansı optimizasyonu için hangi araçlar kullanılabilir? En iyi üç seçeneğin listesini ver.
Uygulama performansı optimizasyonu için hangi araçlar kullanılabilir?

Karmaşık isteklerinizi küçük görevlere bölün.

Temsilcinin yaklaşımı beklediğiniz gibi değilse her şeyi tek seferde istemek yerine bir dizi daha küçük, sıralı istemle temsilciye rehberlik etmek 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:

1. istem: Veri modeli
Öncelikle User adında bir Kotlin veri sınıfı oluşturun. Üç özelliği olmalıdır: id (Int), name (Dize) ve email (Dize).

2. istem: Ağ katmanı
Şimdi ApiService adında bir Retrofit API arayüzü oluşturun. List<User> döndüren getUsers() adlı tek bir suspend fun gerekir.

3. istem: Durum yönetimi
Ardından, ApiService öğesini bağımlılık olarak alan 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 değerini göstermelidir. Kullanıcıları getirmek ve durumu güncellemek için ViewModel içinde bir işlev oluşturun. Yeni işlev için birim testleri yazın.

İstem 4: Kullanıcı arayüzü katmanı
Son olarak, parametre olarak UiState değerini kabul eden UserListScreen adlı bir Jetpack Compose işlevi yazın. Yükleme durumu için CircularProgressIndicator, başarılı durum için kullanıcı adlarının LazyColumn ve hata durumu için hata mesajını içeren bir Text öğesi görüntülemek üzere when ifadesini kullanın. Yeni işlevi doğrulayan testler ekleyin.

JSON API'den kullanıcı listesi alıp bu listeyi gösteren bir Jetpack Compose ekranı oluşturun. Retrofit ve eş yordamları kullanan bir ViewModel, veri mantığını işlemek için bir depo, User veri sınıfı olmalı ve yükleme ile hata durumlarını göstermelidir.

Bağlamı yönetme

Temsilciyle çalışmanın önemli bir kısmı, doğru bağlamı sağlamaktır. En faydalı yanıtları almak için alakalı kod snippet'lerini, dosya içeriklerini ve proje yapısı bilgilerini sağlayın. Doğru dengeyi bulmak için birkaç deneme yapmanız gerekebilir. Çok fazla bilgi, temsilcinin yanlış yönlendirilmesine neden olabilir. Çok az bilgi ise temsilcinin yardımcı olması için yeterli bağlamı sağlamaz. Temsilciye gerekli bağlama erişim izni vermek için mevcut özellikleri kullanın:

  • Hayal ettiğiniz kullanıcı arayüzünü veya anlamaya çalıştığınız uygulama mimarisini görselleştirmek için görsel ekleyin.
  • Kod tabanının ilgili bölümlerini vurgulamak için dosya ekleyin.
  • Temsilcinin kod tabanının belirli bölümlerini 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ı netleştirmek için Markdown başlıklarını ve biçimlendirmesini kullanın.
  • Temsilci Modu'nu kullanırken temsilcinin bilgi ve yeteneklerini harici ortamla genişletmek için MCP sunucularını yapılandırın.

Açıklama isteme

Temsilcinin yanıtını anlamadıysanız açıklama isteyin. Bu, önerilen çözümün kullanım alanınıza uygun olduğunu öğrenmenin ve doğrulamanın harika bir yoludur. Yanıt beklediğiniz gibi değilse temsilci gerçekten yanılıyor olabilir. Açıklama istemek, temsilciye kendini düzeltme fırsatı verir.

Talimatlarınızı gözden geçirme

Bir iş arkadaşınızla çalışırken olduğu gibi, temsilciyle çalışırken de görevi ve beklenen sonucu netleştirmek için bazen karşılıklı iletişim kurmanız gerekir. Temsilcinin ilk yanıtı yetersizse geri bildirim ve iyileştirme önerileriyle yanıt verin. Önerilerinize göre yanıtı iyileşirse İstem Kitaplığı'ndaki girişi güncelleyerek veya AGENTS.md dosyalarınızı güncelleyerek bu öneriyi orijinal isteme dahil edin.