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:
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 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.
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ın API düzeyi gereksinimleri ve pil ömrü üzerindeki etkileri nelerdir?
Yapılmaması gerekenler
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:
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 üretilmiş olmalıdır. memberSince alanı bir zaman damgasını temsil etmelidir.
Yapılmaması gerekenler
Daha açık uçlu bir soru soruyorsanız x sayıda seçenek isteyin.
Yanıtı sınırlama:
Yapılması gerekenler
Yapılmaması gerekenler
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:
Yapılması gerekenler
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.
Yapılmaması gerekenler
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
.aiexcludedosyaları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.