Yinelemeli kod geliştirme

Mobil uygulama geliştiricisi olarak genellikle uygulamanızın kullanıcı arayüzünü tek seferde geliştirmekten daha iyidir. Android Studio da bu yaklaşımı benimseyerek İncelemek için tam bir derleme gerektirmeyen araçlar sunarak Jetpack Compose'u kullanın. değerleri değiştirmeli ve nihai sonucu doğrulamalıdır.

Canlı Düzenleme

Canlı Düzenleme, emülatörlerdeki composable'ları güncellemenizi sağlayan bir özelliktir. gerçek zamanlı olarak çalışır. Bu işlev, bağlam geçişlerini en aza indirir uygulamanızı yazma ve derleme arasında zaman oluşturur, böylece daha uzun süre kod yazmaya odaklanabilirsiniz kesintisiz izleyin.

Canlı Düzenleme'nin üç modu vardır:

  • Manuel: Kod değişiklikleri, Control+ (macOS'te Command+)
  • Kaydedildiğinde Manuel: Kod değişiklikleri, Control+S (macOS'te Command+S).
  • Otomatik: Bir composable işlevden daha iyidir.

Canlı Düzenleme, kullanıcı arayüzü ve kullanıcı deneyimi ile ilgili kod değişikliklerine odaklanır. Canlı Düzenleme şunları yapmaz: yöntem imzası güncellemeleri, yeni yöntemler ekleme veya sınıf gibi destek değişiklikleri hiyerarşi değişiklikleridir. Daha fazla bilgi için Canlı Yayın Sınırlamaları Düzenle'ye dokunun.

Bu özellik, uygulamanızı geliştirmenin ve çalıştırmanın ya da Değişiklikleri Uygula. Daha ziyade, sorunlarınızı çözmek için ve iterasyonlar yaparak Compose kullanıcı arayüzünü geliştirirken, dağıttığınızda ve iterasyon yaparken iş akışını uygulayın.

En iyi uygulama iş akışı aşağıdaki gibidir:

  1. Uygulamanızı çalıştırılabilecek şekilde ayarlayın.
  2. Bu nedenle, Canlı Düzenleme ayarlarında değişiklik yapmanız gerekene kadar mümkün olduğunca , uygulama çalışırken yeni yöntemler eklemeyi desteklemez.
  3. Desteklenmeyen bir değişiklik yaptıktan sonra yeniden başlatmak için ÇalıştırKoşu
simge tıklayın. uygulamanızı indirin ve Canlı Düzenleme'yi devam ettirin.

Canlı Düzenleme'yi kullanmaya başlama

Başlamak için şu adımları uygulayarak boş bir Oluşturma Etkinliği oluşturun, Projeniz için Canlı Düzenleme yapın ve Canlı Düzenleme özelliğini kullanarak değişiklikler yapın.

Yeni projenizi oluşturun

  1. Başlamadan önce Android Studio Giraffe veya daha üst bir sürüme sahip olduğunuzdan emin olun ve fiziksel hesabınızın API düzeyinin cihaz veya emülatör sayısı en az 30 olmalıdır.

  2. Android Studio'yu açın ve Android'e Hoş Geldiniz bölümünde Yeni Proje'i seçin Studio iletişim kutusu. Halihazırda açık bir projeniz varsa yeni bir Dosya > Yeni > Yeni Proje.

  3. Telefon ve Tablet için Boş Yazma Etkinliği şablonunu seçin ve ve İleri'yi tıklayın.

    Android Studio'da şablon seçimi
    Şekil 1. Aralarından seçim yapabileceğiniz şablonlar. Canlı Düzenleme için Oluşturma Etkinliğini Boşalt'ı seçin.
  4. Yeni Proje iletişim kutusunu şu bilgilerle doldurun: ad, paket adı, kaydetme konumu, minimum SDK ve derleme yapılandırma dili.

    Android Studio'ya girilen 4. adımdaki örnek proje ayarları
    Şekil 2. Örnek proje ayarları.
  5. Son'u tıklayın.

Canlı Düzenlemeyi etkinleştir

  1. Canlı Düzenleme'yi etkinleştirmek için ayarlara gidin.

    • Windows veya Linux'ta Dosya > Ayarlar > Düzenleyen > Canlı Düzenleme.
    • macOS'te Android Studio'ya gidin > Ayarlar > Düzenleyen > Canlı Düzenleme.
  2. Buradan Canlı Düzenleme seçeneğini ve çalıştırmak istediğiniz modu seçin. Ayarlar'da devre dışı bırakabilirsiniz.

    Manuel modda, kod değişiklikleriniz her Control+ (macOS'te Command+). Manuel modda açık kaydettiğinizde, kod değişiklikleriniz manuel olarak her kaydettiğinizde uygulanır. Control+S (Command+S tuşlarına basarak, macOS) açın. Otomatik modda, kod değişiklikleriniz cihazınıza uygulanır veya emülatörüyle oturum açın.

    Android Studio ayarlarındaki Canlı Düzenleme onay kutusu kullanıcı arayüzü
    Şekil 3. Canlı Yayın Düzenleme ayarları.
  3. Düzenleyicide, MainActivity dosyasını açın. Bu dosya, en iyi şekilde yararlanabilirsiniz.

  4. Çalıştırkullanıcı arayüzü düğmesi tıklayın. (uygulamanızı dağıtmak için)

  5. Canlı Düzenleme'yi etkinleştirdikten sonra, videonuzun altında Güncel yeşil onay işareti Çalışan Cihazlar araç penceresinin sağ üst tarafındaki:

    Canlı Düzenleme yeşil onay işareti kullanıcı arayüzü

Değişiklik yapma ve inceleme

Düzenleyicide desteklenen değişiklikler yaptıkça sanal veya fiziksel test cihazı otomatik olarak güncellenir.

Örneğin MainActivity içindeki mevcut Greeting yöntemini şu şekilde düzenleyin: takip etmek için:

@Composable
fun Greeting(name: String) {
    Text(
        text = "Hello $name!",
        Modifier
            .padding(80.dp) // Outer padding; outside background
            .background(color = Color.Cyan) // Solid element background color
            .padding(16.dp) // Inner padding; inside background, around text)
    )
}

Şekil 4'te gösterildiği gibi, değişiklikleriniz anında test cihazında görünür.

Bir cihaza, karşılama yönteminde yapılan değişiklikler
Şekil 4. Greeting yöntemi.

Canlı Düzenleme sorunlarını giderme

Düzenlemelerinizi test cihazında görmüyorsanız Android Studio başarısız olabilir. tıklayın. Canlı Düzenleme göstergesinin şu mesajı gösterip göstermediğini kontrol edin: Şekil 5'te gösterildiği gibi, bir derleme hatası olduğunu belirtir. Güncel değil. Örneğin, hatayla ilgili bilgi ve çözüm önerileri için göstergesidir.

Canlı Düzenleme güncel değil simgesi
Şekil 5. Canlı Düzenleme durum göstergesi.

Canlı Düzenleme ile ilgili sınırlamalar

Mevcut sınırlamaların listesi aşağıda verilmiştir.

  • [Yalnızca Android Studio Zürafa ve sonraki sürümler için geçerlidir] Canlı Düzenleme için Oluşturma Çalışma Zamanı gerekir 1.3.0 veya sonraki sürümler. Projenizde Compose'un daha eski bir sürümü kullanılıyorsa Canlı Düzenleme devre dışı bırakıldı.

  • [Yalnızca Android Studio Zürafa ve sonraki sürümler için geçerlidir] Canlı Düzenleme için AGP 8.1.0-alpha05 veya daha yüksek. Projenizde daha eski bir sürüm kullanılıyorsa Canlı Düzenleme devre dışıdır.

  • Canlı Düzenleme, API düzeyinde çalışan bir fiziksel cihaz veya emülatör gerektirir 30 veya üzeri olmalıdır.

  • Canlı Düzenleme yalnızca işlev gövdesinin düzenlenmesini desteklediğinden işlev adını veya imzayı değiştirin, işlev ekleyip kaldırın ya da işlevsiz alanları da doldurun.

  • Canlı Düzenleme, bir Uygulamada Oluştur işlevini ilk kez değiştirdiğinizde uygulamanın durumunu sıfırlar. olabilir. Bu yalnızca ilk kod değişikliğinden sonra gerçekleşir. Uygulama durumu söz konusu dosyadaki Oluşturma işlevlerinde yaptığınız sonraki kod değişiklikleriyle sıfırlanır.

  • Canlı Düzenleme ile değiştirilmiş sınıflar bazı performans cezalarına neden olabilir. uygulamanızı veya oyununuzu değerlendiriyorsanız temiz bir sürüm performans metriğine bakın.

  • Hata ayıklayıcının şu sınıflarda çalışması için tam çalıştırma yapmanız gerekir: ve Canlı Düzenleme ile değiştirilmiştir.

  • Çalışan bir uygulama, Canlı Düzenleme ile düzenlediğinizde kilitlenebilir. Böyle bir durumda, Çalıştır Kullanıcı arayüzü
düğme düğmesini kullanarak uygulamayı yeniden dağıtabilirsiniz.

  • Canlı Düzenleme, bilgisayarınızda tanımlı herhangi bir bayt kodu değişikliği derleme dosyası olabilir. Örneğin, kullanılması gereken bayt kodu Proje, Derleme menüsündeki seçenekler kullanılarak oluşturulduğunda veya Derle veya Çalıştır düğmelerini tıklayarak.

  • Oluşturulamayan işlevler, cihazda veya emülatörde canlı olarak güncellenir ve tam yeniden oluşturma tetiklenir. Tam yeniden oluşturma işlemi güncellenen işlev. Oluşturulamaz işlevler için yeni güncel işlevlere sahip olabilir veya uygulamayı tekrar çalıştırabilirsiniz.

  • Canlı Düzenleme, uygulama yeniden başlatıldığında devam etmiyor. Uygulamayı tekrar çalıştırmanız gerekiyor.

  • Canlı Düzenleme yalnızca hata ayıklaması yapılabilir işlemleri destekler.

  • Canlı Düzenleme, moduleName için özel değerler kullanan projeleri desteklemez (Derleme yapılandırmasında kotlinOptions altında).

  • Canlı Düzenleme, çoklu dağıtım dağıtımlarında çalışmaz. Bu, sizin için bir cihaza, ardından başka bir cihaza dağıtılamaz. Canlı Düzenleme yalnızca şuralarda etkindir: uygulamanın dağıtıldığı son cihaz grubu.

  • Canlı Düzenleme, çoklu cihaz dağıtımlarında (birden fazla cihaza dağıtım Hedefte Birden fazla cihaz seçin aracılığıyla oluşturulmuş cihazlar cihaz açılır listesine dokunun). Ancak bu özellik resmi olarak desteklenmediği için sorunları. Sorun yaşarsanız lütfen bildirin.

  • Değişiklikleri Uygula/Kod Değişikliklerini Uygula, Canlı Düzenleme ile uyumlu değil ve çalışan uygulamanın yeniden başlatılmasını gerektirir.

  • Canlı Düzenleme şu anda Android Automotive projelerini desteklememektedir.

Canlı Düzenleme hakkında sık sorulan sorular

  • Canlı Düzenleme'nin şu anki durumu nedir?

    Canlı Düzenleme, Android Studio Giraffe'ta kullanılabilir. Bu özelliği etkinleştirmek için: Dosya'ya gidin > Ayarlar > Düzenleyen > Canlı Düzenleme (Android Studio > Ayarlar > Düzenleyen > Canlı Düzenleme'ye dokunun.

  • Canlı Düzenleme'yi ne zaman kullanmalıyım?

    Kullanıcı deneyimindeki güncellemelerin etkisini hızlı bir şekilde görmek istiyorsanız Canlı Düzenleme özelliğini kullanın öğeler (değiştirici güncellemeler ve animasyonlar gibi) sahip olacaksınız.

  • Canlı Düzenleme özelliğini hangi durumlarda kullanmaktan kaçınmalıyım?

    Canlı Düzenleme, kullanıcı arayüzü ve kullanıcı deneyimi ile ilgili kod değişikliklerine odaklanır. Desteklenmiyor yöntem imzası güncellemeleri, yeni yöntemler ekleme veya sınıf hiyerarşi değişiklikleridir. Daha fazla bilgi için Canlı Yayın Sınırlamaları Düzenle'ye dokunun.

  • Oluşturma Önizlemesi'ni ne zaman kullanmalıyım?

    Bağımsız composable'lar geliştirirken Önizleme Oluşturma özelliğini kullanın. Önizle Compose öğelerini görselleştirir ve etkisini görebilirsiniz. Önizleme, kullanıcı arayüzü öğelerinin koyu tema, yerel ayarlar ve yazı tipi gibi farklı yapılandırmalar ve durumlar yardımcı olur.

Değişmez değerleri Canlı Düzenleme (desteği sonlandırılmış)

Android Studio, composable'ları önizlemede, emülatörde ve fiziksel cihazda kullanabilirsiniz. Aşağıda bazı örnekler verilmiştir: desteklenen türler:

  • Int
  • String
  • Color
  • Dp
  • Boolean

Kullanıcının kaynak koddaki değişmez değerleri değiştirdiği video ve önizleme
güncelleniyor
dinamik olarak

Gerçek zamanlı güncellemeleri tetikleyen sabit değerleri Canlı Düzenleme ile bire bir süslemeleri etkinleştirerek bir derleme adımı değişmez değerler kullanıcı arayüzü göstergesi:

Şu öğe için Canlı Düzenleme Etkinleştiriliyor:
Değişmez Değerler

Değişiklikleri Uygulama

Değişiklikleri Uygula, kodu ve kaynakları güncellemenizi sağlar uygulamanızı bir emülatöre veya fiziksel cihaza yeniden dağıtmanız gerekmez ( sınırlamalar) belirtin.

Bir composable eklediğinizde, değiştirdiğinizde veya sildiğinizde uygulamanızı Kod Değişikliklerini Uygula düğmesini tıklayarak yeniden dağıtmanız gerekiyorsa:

"Değişiklikleri uygula"yı tıklayan kullanıcı
düğme

ziyaret edin.