Mobil geliştirici olarak genellikle, her şeyi tek seferde geliştirmek yerine uygulamanızın kullanıcı arayüzünü adım adım geliştiriyorsunuz. Android Studio, değerleri incelemek, değiştirmek ve nihai sonucu doğrulamak için tam derleme gerektirmeyen araçlar sunarak bu yaklaşımı Jetpack Compose ile benimser.
Canlı Düzenleme
Canlı Düzenleme, composable'ları emülatörlerde ve fiziksel cihazlarda gerçek zamanlı olarak güncellemenize olanak tanıyan bir özelliktir. Bu işlev, uygulama yazma ve uygulama oluşturma arasındaki bağlam geçişlerini en aza indirerek kesintisiz bir şekilde daha uzun süre kod yazmaya odaklanmanızı sağlar.
Canlı Düzenleme'de üç mod vardır:
- Manuel: Kod değişiklikleri, Control+\ (macOS'te Command+\) kullanılarak manuel olarak aktarıldığında uygulanır
- Kaydetme Sırasında Manuel: Kod değişiklikleri, Control+S (macOS'te Command+S) kullanılarak manuel olarak kaydedildiğinde uygulanır.
- Otomatik: Değişiklikler, composable bir işlevi güncellediğinizde cihazınıza veya emülatörünüze uygulanır.
Canlı Düzenleme, kullanıcı arayüzü ve kullanıcı deneyimiyle ilgili kod değişikliklerine odaklanır. Canlı Düzenleme; yöntem imza güncellemeleri, yeni yöntemler ekleme veya sınıf hiyerarşi değişiklikleri gibi değişiklikleri desteklemez. Daha fazla bilgi için Canlı Düzenleme Sınırlamaları listesine bakın.
Bu özellik, uygulamanızı oluşturup çalıştırmanın veya Değişiklikleri Uygula'nın yerine geçmez. Bunun yerine, siz Compose kullanıcı arayüzünü geliştirirken, dağıtırken ve iterken iş akışınızı optimize edecek şekilde tasarlanmıştır.
En iyi uygulama iş akışı aşağıdaki gibidir:
- Uygulamanızı çalıştırılabilecek şekilde ayarlayın.
- Canlı Düzenleme'nin desteklemediği bir değişiklik (ör. uygulama çalışırken yeni yöntemler eklemek) gerekene kadar mümkün olduğunca sık Canlı Düzenleme'yi kullanın.
- Desteklenmeyen bir değişiklik yaptıktan sonra Çalıştır'ı tıklayarak uygulamanızı yeniden başlatın ve Canlı Düzenleme'yi devam ettirin.
Canlı Düzenleme özelliğini kullanmaya başlama
Başlamak için boş bir Oluşturma Etkinliği oluşturmak, projeniz için Canlı Düzenleme'yi etkinleştirmek ve Canlı Düzenleme ile değişiklik yapmak üzere aşağıdaki adımları izleyin.
Yeni projenizi oluşturun
Başlamadan önce, Android Studio Giraffe veya sonraki bir sürümün yüklü olduğundan ve fiziksel cihazınızın veya emülatörünüzün API seviyesinin en az 30 olduğundan emin olun.
Android Studio'yu açın ve Android Studio'ya hoş geldiniz iletişim kutusunda Yeni Proje'yi seçin. Zaten açık bir projeniz varsa Dosya > Yeni > Yeni Proje'ye giderek yeni bir proje oluşturabilirsiniz.
Telefon ve Tablet için Boş Yazma Etkinliği şablonunu seçin ve İleri'yi tıklayın.
Yeni Proje iletişim kutusunu gerekli bilgilerle doldurun: ad, paket adı, kayıt konumu, minimum SDK ve derleme yapılandırma dili.
Son'u tıklayın.
Canlı Düzenlemeyi Etkinleştir
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 > Ayarlar > Düzenleyici > Canlı Düzenleme'ye gidin.
Ayarlardan Canlı Düzenleme seçeneğini ve çalıştırmak istediğiniz modu seçin.
Manuel modda, Control+\ (macOS'te Command+\) tuşlarına her bastığınızda kod değişiklikleriniz aktarılır. Kaydetme sırasında manuel moddayken, kod değişiklikleriniz Control+S (macOS'te Command+S) tuşlarını kullanarak manuel olarak her kaydettiğinizde uygulanır. Otomatik modda, kod değişiklikleriniz değişikliklerinizi yaparken cihazınıza veya emülatörünüze uygulanır.
Düzenleyicide, uygulamanızın giriş noktası olan
MainActivity
dosyasını açın.Uygulamanızı dağıtmak için Çalıştır'ı tıklayın.
Canlı Düzenleme'yi açtıktan sonra, Çalışan Cihazlar araç penceresinin sağ üst tarafında Güncel yeşil onay işareti görünür:
Değişiklikleri yapma ve inceleme
Düzenleyicide desteklenen değişiklikleri yaptığınızda sanal veya fiziksel test cihazı otomatik olarak güncellenir.
Örneğin, MainActivity
içindeki mevcut Greeting
yöntemini aşağıdaki şekilde düzenleyin:
@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) ) }
Değişiklikleriniz Şekil 4'te gösterildiği gibi test cihazında anında görünür.
Canlı Düzenleme sorunlarını giderme
Yaptığınız düzenlemeleri test cihazında görmüyorsanız Android Studio, düzenlemelerinizi güncelleyememiş olabilir. Canlı Düzenleme göstergesinin, Şekil 5'te gösterildiği gibi Eski yazıp yazmadığını kontrol edin. Bu, derleme hatası olduğunu gösterir. Hata hakkında bilgi ve hatanın nasıl çözüleceğine dair öneriler için göstergeyi tıklayın.
Canlı Düzenleme Sınırlamaları
Aşağıda, mevcut sınırlamalara ilişkin bir liste bulunmaktadır.
[Yalnızca Android Studio Giraffe ve sonraki sürümleri için geçerlidir] Canlı Düzenleme, Compose Çalışma Zamanı 1.3.0 veya sonraki sürümlerini gerektirir. Projenizde Oluşturma'nın eski bir sürümü kullanılıyorsa Canlı Düzenleme devre dışı bırakılır.
[Yalnızca Android Studio Giraffe ve sonraki sürümleri için geçerlidir] Canlı Düzenleme için AGP 8.1 veya üstü gerekir. Projenizde daha düşük bir AGP sürümü kullanılıyorsa Canlı Düzenleme devre dışı bırakılır.
Canlı Düzenleme, API düzeyi 30 veya üstünü çalıştıran fiziksel bir cihaz veya emülatör gerektirir.
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 ekleyemez ya da kaldıramaz ya da işlevsiz alanları değiştiremezsiniz.
Canlı Düzenleme, bir dosyada Oluştur işlevini ilk kez değiştirdiğinizde uygulamanın durumunu sıfırlar. Bu işlem 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ırlanmaz.
Canlı Düzenleme'de değiştirilen sınıflar bazı performans cezalarına neden olabilir. Uygulamanızı çalıştırın ve performansını değerlendiriyorsanız temiz bir sürüm derlemesi kullanı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 gerçekleştirmeniz gerekir.
Çalışan bir uygulama, Canlı Düzenleme ile düzenlediğinizde kilitlenebilir. Böyle bir durumda, Çalıştır düğmesini kullanarak uygulamayı yeniden dağıtabilirsiniz.
Canlı Düzenleme, projenizin derleme dosyasında tanımlanan herhangi bir bayt kodu işlemi gerçekleştirmez. Örneğin, proje Derleme menüsündeki seçenekler kullanılarak veya Oluştur ya da Çalıştır düğmeleri tıklanarak oluşturulduğunda uygulanan bayt kodu değiştirme işlemi gerçekleştirmez.
Oluşturulamayan işlevler cihazda veya emülatörde canlı olarak güncellenir ve tam bir yeniden oluşturma tetiklenir. Tam yeniden oluşturma işlemi, güncellenmiş işlevi çağırmayabilir. Oluşturulamayan işlevler için yeni güncellenen işlevleri tetiklemeniz veya uygulamayı yeniden çalıştırmanız gerekir.
Canlı Düzenleme, uygulama yeniden başlatıldığında devam ettirilmiyor. Uygulamayı tekrar çalıştırmanız gerekir.
Canlı Düzenleme yalnızca hata ayıklanabilir işlemleri destekler.
Canlı Düzenleme, derleme yapılandırmasında
kotlinOptions
altındamoduleName
için özel değerler kullanan projeleri desteklemez.Canlı Düzenleme, çoklu dağıtım dağıtımlarıyla çalışmaz. Yani bir cihaza, ardından başka bir cihaza dağıtım yapamazsınız. Canlı Düzenleme, yalnızca uygulamanın dağıtıldığı son cihaz grubunda etkindir.
Canlı Düzenleme, çoklu cihaz dağıtımlarıyla (hedef cihaz açılır menüsündeki Birden fazla cihaz seçin seçeneği üzerinden oluşturulmuş birden fazla cihaza yapılan dağıtımlar) birlikte çalışır. Ancak, resmi olarak desteklenmediğinden sorunlar yaşanabilir. Sorun yaşarsanız lütfen bunları 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 hakkında sık sorulan sorular
Canlı Düzenleme'nin şu anki durumu nedir?
Canlı Düzenleme, Android Studio Giraffe'ta kullanılabilir. Özelliği etkinleştirmek için macOS'te Dosya > Ayarlar > Düzenleyici > Canlı Düzenleme (Android Studio > Ayarlar > Düzenleyici > Canlı Düzenleme) bölümüne gidin.
Canlı Düzenleme özelliğini ne zaman kullanmalıyım?
Kullanıcı deneyimi öğelerinde yapılan güncellemelerin (değiştirici güncellemeleri ve animasyonlar gibi) genel uygulama deneyimi üzerindeki etkisini hızlı bir şekilde görmek istediğinizde Canlı Düzenleme'yi kullanın.
Canlı Düzenleme özelliğini kullanmaktan ne zaman kaçınmalıyım?
Canlı Düzenleme, kullanıcı arayüzü ve kullanıcı deneyimiyle ilgili kod değişikliklerine odaklanır. Yöntem imzası güncellemeleri, yeni yöntemler ekleme veya sınıf hiyerarşisi değişiklikleri gibi değişiklikleri desteklemez. Daha fazla bilgi için Canlı Düzenleme Sınırlamaları bölümüne bakın.
Oluştur Önizlemesi'ni ne zaman kullanmalıyım?
Tek tek composable'lar geliştirirken Oluşturma Önizlemesi'ni kullanın. Önizleme, Oluştur öğelerini görselleştirir ve kod değişikliklerinin etkisini görüntülemek için otomatik olarak yenilenir. Önizleme; koyu tema, yerel ayarlar ve yazı tipi ölçeği gibi kullanıcı arayüzü öğelerinin farklı yapılandırma ve durumlarda görüntülenmesini de destekler.
Değişmez değerleri Canlı Düzenleme (kullanımdan kaldırıldı)
Android Studio; önizlemeler, emülatör ve fiziksel cihazdaki composable'larda kullanılan bazı sabit değerleri gerçek zamanlı olarak güncelleyebilir. Desteklenen türlerden bazılarını aşağıda bulabilirsiniz:
Int
String
Color
Dp
Boolean
Değişmez değerlerin Canlı Düzenleme kullanıcı arayüzü göstergesi aracılığıyla değişmez değerleri etkinleştirerek derleme adımı olmadan gerçek zamanlı güncellemeleri tetikleyen sabit değerleri görüntüleyebilirsiniz:
Değişiklikleri Uygulama
Değişiklikleri Uygula, uygulamanızı bir emülatöre veya fiziksel cihaza yeniden dağıtmak zorunda kalmadan (bazı kısıtlamalarla) kodu ve kaynakları güncellemenize olanak tanır.
composable'ları her eklediğinizde, değiştirdiğinizde veya sildiğinizde, yeniden dağıtmak zorunda kalmadan Kod Değişikliklerini Uygula düğmesini tıklayarak uygulamanızı güncelleyebilirsiniz:
Sizin için önerilenler
- Not: Bağlantı metni JavaScript kapalıyken görüntülenir
- Animasyonları özelleştirme {:#customize-animations}
- Değere dayalı animasyonlar
- Parametre ekleme