Yinelemeli kod geliştirme

Mobil geliştirici olarak genellikle her şeyi bir kerede geliştirmek yerine uygulamanızın kullanıcı arayüzünü adım adım geliştirirsiniz. 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 ve fiziksel cihazlardaki bileşenleri gerçek zamanlı olarak güncellemenizi sağlayan bir özelliktir. Bu işlev, uygulamanızı yazma ve derleme arasında bağlam geçişlerini en aza indirerek kesintisiz olarak daha uzun süre kod yazmaya odaklanmanızı sağlar.

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

  • Manuel: Kod değişiklikleri, Control+ (macOS'te Command+)
  • Kaydetme sırasında manuel: Kod değişiklikleri, Control+S (macOS'te Command+S) kullanılarak manuel olarak kaydedildiğinde uygulanır.
  • Otomatik: Bir derlenebilir işlevi güncellediğinizde değişiklikler cihazınıza veya emülatörünüze uygulanır.

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

Bu özellik, uygulamanızı oluşturma ve çalıştırma veya Değişiklikleri Uygulama'nın yerini almaz. Bunun yerine, Compose kullanıcı arayüzünü oluşturmak, dağıtmak ve geliştirmek için iterasyon yaparken iş akışınızı optimize etmek üzere tasarlanmıştır.

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

  1. Uygulamanızı çalıştırılabilir hale getirin.
  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 uygulamanızı yeniden başlatmak ve Canlı Düzenleme'yi devam ettirmek için ÇalıştırRun icon tıklayın.

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şturma

  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 Studio'ya Hoşgeldiniz iletişim kutusunda Yeni Proje'yi seçin. Halihazırda açık bir projeniz varsa yeni bir Dosya > Yeni > Yeni Proje.

  3. Telefon ve Tablet için Boş E-posta Oluşturma Etkinliği şablonunu seçin ve Sonraki'yi tıklayın.

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

    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ştirme

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

    • Windows veya Linux'ta Dosya > Ayarlar > Düzenleyici > Canlı Düzenleme'ye gidin.
    • macOS'te Android Studio'ya gidin > Ayarlar > Düzenleyen > Canlı Düzenleme.
  2. Ayarlar bölümünden Canlı Düzenleme seçeneğini ve çalıştırmak istediğiniz modu belirleyin.

    Manuel modda, Ctrl+' (macOS'te Command+') tuşlarına her bastığınızda kod değişiklikleriniz gönderilir. Kaydetme işleminde manuel modda, kod değişiklikleriniz Ctrl+S (macOS'te Komut+S) tuşlarını kullanarak her manuel kaydetme işleminde uygulanır. 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, uygulamanızın giriş noktası olan MainActivity dosyasını açın.

  4. Uygulamanızı dağıtmak için Çalıştırkullanıcı arayüzü düğmesitıklayın.

  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)
    )
}

Yaptığınız değişiklikler, Şekil 4'te gösterildiği gibi test cihazında anı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. Hata hakkında bilgi edinmek ve hatayı nasıl çözeceğinizle ilgili öneriler almak için göstergeyi tıklayın.

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

Canlı düzenlemenin 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 Giraffe ve sonraki sürümler için geçerlidir] Canlı Düzenleme özelliği için AGP 8.1.0-alpha05 veya sonraki sürümler gerekir. Projenizde daha eski bir AGP sürümü kullanılıyorsa Canlı Düzenleme devre dışıdır.

  • Canlı düzenleme özelliğini kullanmak için API düzeyi 30 veya üstünü çalıştıran fiziksel bir cihaz ya da emülatör gerekir.

  • Canlı düzenleme yalnızca işlev gövdesinin düzenlenmesini destekler. Yani işlev adını veya imzasını değiştiremez, işlev ekleyip kaldıramaz ya da işlev dışı alanları değiştiremezsiniz.

  • Canlı Düzenleme, bir dosyada ilk kez Oluştur işlevini değiştirdiğinizde uygulamanın durumunu sıfırlar. Bu durum yalnızca ilk kod değişikliğinden sonra gerçekleşir. Uygulama durumu, söz konusu dosyada Compose işlevlerinde yaptığınız sonraki kod değişiklikleri tarafından sıfırlanmaz.

  • Canlı düzenlemeyle değiştirilen sınıflar performans açısından bazı cezalara tabi olabilir. uygulamanızı veya oyununuzu değerlendiriyorsanız temiz bir sürüm performans metriğine bakın.

  • Hata ayıklayıcının, Canlı Düzenleme ile değiştirdiğiniz sınıflarda çalışabilmesi için tam çalıştırma yapmanız gerekir.

  • Ç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, projenizin derleme dosyasında tanımlanan herhangi bir bayt kodu değiştirme işlemini gerçekleştirmez. Örneğin, proje Derle menüsündeki seçenekler kullanılarak veya Derle ya da Çalıştır düğmeleri tıklanarak derlenirken uygulanacak bayt kodu değiştirme işlemleri.

  • Kompozit olmayan işlevler cihazda veya emülatörde canlı olarak güncellenir ve tam yeniden kompozisyon 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 etmez. Uygulamayı tekrar çalıştırmanız gerekir.

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

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

  • Canlı düzenleme, birden fazla dağıtım yapılan dağıtımlarda ç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, çok cihazlı dağıtımlarda (hedef cihaz açılır listesinde Birden fazla cihaz seç aracılığıyla oluşturulan birden fazla cihaza dağıtımlar) çalışır. Ancak bu yöntem resmi olarak desteklenmez ve sorunlar yaşanabilir. Sorun yaşarsanız lütfen bildirin.

  • Değişiklikleri Uygula/Kod Değişikliklerini Uygula, Canlı Düzenleme ile uyumlu değildir 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ı deneyimi öğelerindeki güncellemelerin (değişken güncellemeleri ve animasyonlar gibi) genel uygulama deneyimi üzerindeki etkisini hızlıca görmek istediğinizde Canlı Düzenleme'yi kullanın.

  • Canlı Düzenleme'yi ne zaman kullanmamam gerekir?

    Canlı düzenleme, kullanıcı arayüzü ve kullanıcı deneyimiyle 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ı Düzenleme'nin sınırlamaları başlıklı makaleyi inceleyin.

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

    Bağımsız composable'lar geliştirirken Önizleme Oluşturma özelliğini kullanın. Önizleme, Oluştur öğelerini görselleştirir ve kod değişikliklerinin etkisini göstermek için otomatik olarak yenilenir. Önizleme, koyu tema, yerel ayarlar ve yazı tipi ölçeği gibi farklı yapılandırmalar ve durumlarda kullanıcı arayüzü öğelerinin görüntülenmesini de destekler.

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. Desteklenen türlerden bazıları şunlardır:

  • 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 Uygulama, uygulamanızı bir emülatöre veya fiziksel cihaza yeniden dağıtmak zorunda kalmadan kodu ve kaynakları güncellemenize olanak tanır (bazı kısıtlamalar vardır).

Herhangi bir zaman bileşen eklediğinizde, değiştirdiğinizde veya sildiğinizde Kod Değişikliklerini Uygula düğmesini tıklayarak uygulamanızı yeniden dağıtmak zorunda kalmadan güncelleyebilirsiniz:

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