Mobil geliştirici olarak uygulamanızın kullanıcı arayüzünü genellikle her şeyi bir kerede geliştirmek yerine adım adım geliştirirsiniz. Android Studio, Jetpack Compose ile bu yaklaşımı benimser. Değerleri incelemek, değiştirmek ve nihai sonucu doğrulamak için tam derleme gerektirmeyen araçlar sunar.
Yapay zeka destekli kullanıcı arayüzü iterasyonu
Android Studio'daki yapay zeka ajanı ile Compose kullanıcı arayüzünüzü doğrudan tasarım önizlemesinden yinelemeli olarak hassaslaştırabilir ve dönüştürebilirsiniz. Bir Compose önizlemesini sağ tıklayın ve aşağıdaki Yapay Zeka İşlemleri'nden birini seçin:
- Kullanıcı arayüzünü hedef görselle eşleştir: Referans tasarım taslağı yüklemek için seçin. Ardından temsilci, uygulamanızın tasarıma mümkün olduğunca yakın olmasını sağlamak için kod değişiklikleri önerir.
- Kullanıcı arayüzünü dönüştürme: Kullanıcı arayüzünüzde yapmak istediğiniz belirli değişiklikleri açıklamak için doğal dilde istemler (ör. "düğme rengini mavi yap") kullanın.
Canlı Düzenleme
Live Edit, emülatörlerdeki ve fiziksel cihazlardaki composable'ları gerçek zamanlı olarak güncellemenizi sağlayan bir özelliktir. Bu işlev, uygulamanızı yazma ve derleme arasındaki bağlam geçişlerini en aza indirerek daha uzun süre kesintisiz olarak kod yazmaya odaklanmanızı sağlar.
Canlı Düzenleme'nin üç modu vardır:
- Manuel: Kod değişiklikleri, Control+' (macOS'te Command+') kullanılarak manuel olarak uygulandığında geçerli olur.
- 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 composable işlevi güncellediğinizde değişiklikler cihazınızda veya emülatörünüzde 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 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'nin sınırlamaları listesine bakın.
Bu özellik, uygulamanızı derleyip çalıştırmanın veya Değişiklikleri Uygulama özelliğinin yerine geçmez. Bunun yerine, Compose kullanıcı arayüzünü geliştirirken, dağıtırken ve yinelerken iş akışınızı optimize etmek için tasarlanmıştır.
En iyi uygulama iş akışı aşağıdaki gibidir:
- Uygulamanızı çalıştırılabilecek şekilde ayarlayın.
- Uygulama çalışırken yeni yöntemler ekleme gibi Live Edit'in desteklemediği bir değişiklik yapmanız gerekene kadar Live Edit'i mümkün olduğunca kullanın.
- Desteklenmeyen bir değişiklik yaptıktan sonra uygulamanızı yeniden başlatmak ve Canlı Düzenleme'ye devam etmek için Çalıştır'ı
tıklayın.
Canlı Düzenleme'yi kullanmaya başlama
Başlamak için aşağıdaki adımları uygulayarak boş bir Compose Activity kitaplığı oluşturun, projeniz için Canlı Düzenleme'yi etkinleştirin ve Canlı Düzenleme ile değişiklikler yapın.
Yeni projenizi oluşturma
Başlamadan önce Android Studio Giraffe veya daha yeni bir sürümün yüklü olduğundan ve fiziksel cihazınızın ya da emülatörünüzün API düzeyinin 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 File (Dosya) > New (Yeni) > New Project (Yeni Proje) bölümüne giderek yeni bir proje oluşturabilirsiniz.
Phone and Tablet (Telefon ve Tablet) için Empty Compose Activity (Boş Oluşturma Etkinliği) şablonunu seçip Next'i (İleri) tıklayın.
Şekil 3. Seçebileceğiniz şablonlar. Canlı Düzenleme için Empty Compose Activity'yi (Boş Oluşturma Etkinliği) seçin. New Project (Yeni Proje) iletişim kutusunda gerekli bilgileri girin: ad, paket adı, kaydetme konumu, minimum SDK ve derleme yapılandırması dili.
Şekil 4. Örnek proje ayarları. Son'u tıklayın.
Canlı Düzenleme'yi etkinleştirme
Canlı Düzenleme'yi etkinleştirmek için ayarlara gidin.
- Windows veya Linux'ta File (Dosya) > Settings (Ayarlar) > Editor (Düzenleyici) > Live Edit'e (Canlı Düzenleme) gidin.
- macOS'te Android Studio > Settings (Ayarlar) > Editor (Düzenleyici) > Live Edit'e (Canlı Düzenleme) gidin.
Ayarlardan Live Edit seçeneğini ve çalıştırmak istediğiniz modu seçin.
Manuel modda, kod değişiklikleriniz Ctrl+' (macOS'te Command+') tuşlarına her bastığınızda gönderilir. Kaydetme sırasında manuel modda, 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 siz değişiklikleri yaparken cihazınıza veya emülatörünüze uygulanır.
Şekil 5. Canlı Düzenleme ayarları. Düzenleyicide, uygulamanızın giriş noktası olan
MainActivitydosyasını açın.Uygulamanızı dağıtmak için Çalıştır'ı
tıklayın.Canlı Düzenleme'yi etkinleştirdikten sonra, Çalışan Cihazlar araç penceresinin sağ üst kısmında Güncel yeşil onay işareti görünür:

Değişiklik yapma ve inceleme
Düzenleyicide desteklenen değişiklikler yaptığınızda sanal veya fiziksel test cihazı otomatik olarak güncellenir.
Örneğin, MainActivity içindeki mevcut Greeting yöntemini aşağıdaki gibi 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 6'da gösterildiği gibi test cihazında anında görünür.
Greeting yönteminde yapılan Canlı Düzenleme değişikliklerini gösteriyor.Canlı Düzenleme ile ilgili sorunları giderme
Düzenlemelerinizi test cihazında görmüyorsanız Android Studio, düzenlemelerinizi güncelleyememiş olabilir. Canlı Düzenleme göstergesinde Şekil 7'de gösterildiği gibi Out Of Date (Eski) ifadesinin yer alıp almadığını kontrol edin. Bu ifade, 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'nin sınırlamaları
Mevcut sınırlamaların listesi aşağıda verilmiştir.
[Yalnızca Android Studio Giraffe ve sonraki sürümler için geçerlidir] Canlı Düzenleme için Compose Runtime 1.3.0 veya sonraki sürümler gerekir. Projeniz Compose'un daha eski bir sürümünü kullanıyorsa Canlı Düzenleme devre dışı bırakılır.
[Yalnızca Android Studio Giraffe ve sonraki sürümler için geçerlidir] Canlı Düzenleme için AGP 8.1.0-alpha05 veya sonraki bir sürüm gerekir. Projeniz AGP'nin daha eski bir sürümünü kullanıyorsa Canlı Düzenleme devre dışı bırakılır.
Canlı Düzenleme için API düzeyi 30 veya daha yüksek bir sürümü çalıştıran fiziksel bir cihaz ya da emülatör gerekir.
Canlı Düzenleme yalnızca işlev gövdesini düzenlemeyi 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.
Live Edit, bir dosyadaki Compose işlevini ilk kez 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, ilgili dosyadaki Compose işlevlerinde yaptığınız sonraki kod değişiklikleriyle sıfırlanmaz.
Live Edit ile değiştirilen sınıflar, performansın düşmesine neden olabilir. Uygulamanızı çalıştırın ve performansını değerlendiriyorsanız temiz bir yayınlanan derleme kullanın.
Hata ayıklayıcının Live Edit ile değiştirdiğiniz sınıflarda çalışması için tam çalıştırma yapmanız gerekir.
Çalışan bir uygulamayı Canlı Düzenleme ile düzenlediğinizde uygulama kilitlenebilir. Bu durumda, Run (Çalıştır)
düğmesini kullanarak uygulamayı yeniden dağıtabilirsiniz.Canlı Düzenleme, projenizin derleme dosyasında tanımlanan bayt kodu manipülasyonlarını 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 derlendiğinde uygulanacak bayt kodu manipülasyonu gerçekleştirilmez.
Composable olmayan 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üncellenen işlevi çağırmayabilir. Composable olmayan işlevler için yeni güncellenen işlevleri tetiklemeniz veya uygulamayı tekrar çalıştırmanız gerekir.
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ıklanabilir işlemleri destekler.
Canlı Düzenleme, derleme yapılandırmasında
kotlinOptionsaltındakimoduleNameiçin özel değerler kullanan projeleri desteklemez.Canlı Düzenleme, çoklu dağıtımlarda çalışmaz. Yani bir cihaza dağıtım yaptıktan sonra 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 listesindeki Birden fazla cihaz seç seçeneğiyle oluşturulan birden fazla cihaza dağıtımlar) çalışır. Ancak bu özellik resmi olarak desteklenmemektedir 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.
Live Edit şu anda Android Automotive projelerini desteklemiyor.
Canlı Düzenleme hakkında sık sorulan sorular
Canlı Düzenleme'nin mevcut durumu nedir?
Canlı Düzenleme, Android Studio Giraffe'de kullanılabilir. Etkinleştirmek için File (Dosya) > Settings (Ayarlar) > Editor (Düzenleyici) > Live Edit'e (Canlı Düzenleme) gidin (macOS'te Android Studio > Settings (Ayarlar) > Editor (Düzenleyici) > Live Edit (Canlı Düzenleme)).
Canlı Düzenleme'yi ne zaman kullanmalıyım?
Kullanıcı deneyimi öğelerinde yapılan güncellemelerin (ör. değiştirici güncellemeleri ve animasyonlar) genel uygulama deneyimi üzerindeki etkisini hızlıca görmek istediğinizde Canlı Düzenleme'yi kullanın.
Canlı Düzenleme'yi ne zaman kullanmamalı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'nin sınırlamaları başlıklı makaleyi inceleyin.
Compose Önizleme'yi ne zaman kullanmalıyım?
Ayrı ayrı composable'lar geliştirirken Oluşturma Önizlemesi'ni kullanın. Önizleme, Compose öğelerini görselleştirir ve kod değişikliklerinin etkisini göstermek için otomatik olarak yenilenir. Önizleme, kullanıcı arayüzü öğelerini koyu tema, yerel ayarlar ve yazı tipi ölçeği gibi farklı yapılandırmalar ve durumlarda görüntülemeyi de destekler.
Compose ile iteratif kod geliştirme
Compose Multiplatform için Canlı Düzenleme ve Hot Reload, Compose ile geliştirme yaparken zamandan tasarruf etmenizi ve üretkenliğinizi artırmanızı sağlayan özelliklerdir. Ancak farklı geliştirme türlerinin ihtiyaçlarına hizmet ederler:
Canlı Düzenleme, Android uygulamaları için Jetpack Compose ile yinelemeli geliştirmeyi destekler. Emülatörlerdeki ve fiziksel cihazlardaki composable'ları gerçek zamanlı olarak güncellemenizi sağlar. Bu işlev, uygulamanızı yazma ve derleme arasındaki bağlam geçişlerini en aza indirerek daha uzun süre kesintisiz olarak kod yazmaya odaklanmanızı sağlar.
Compose Hot Reload aynı ihtiyaca hizmet eder ancak Compose Multiplatform ile oluşturulan masaüstü uygulamalarını destekler. Compose Multiplatform uygulamasında kullanıcı arayüzü kodunuzda değişiklik yapmanıza ve kodunuz her değiştiğinde akıllıca yeniden yükleyerek sonuçları anlık olarak görmenize olanak tanır.
Bu iki özellik, Compose motorunda birçok teknolojiyi paylaşır ve benzer kullanım alanlarını destekler. Ancak farklı Compose geliştirme türleri için geçerli olduklarından aynı özelliklere sahip değildir.
Android uygulaması geliştiriyorsanız geliştirme sürecinizi hızlandırmak için Canlı Düzenleme'yi kullanmalısınız. Compose Multiplatform kullanarak masaüstü uygulaması geliştiriyorsanız Compose Hot Reload'u kullanmanız gerekir.
Değişmez değerlerin canlı düzenlemesi (desteği sonlandı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ı şunlardır:
IntStringColorDpBoolean
Sabit değerlerin Canlı Düzenleme kullanıcı arayüzü göstergesi aracılığıyla sabit değer süslemelerini etkinleştirerek derleme adımı olmadan gerçek zamanlı güncellemeleri tetikleyen sabit değerleri görüntüleyebilirsiniz:
Değişiklikleri Uygula
Değişiklikleri Uygulama, uygulamanızı bir emülatöre veya fiziksel cihaza yeniden dağıtmak zorunda kalmadan kod ve kaynakları güncellemenize olanak tanır (bazı sınırlamalar vardır).
Birleştirilebilir öğe 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:

Sizin için önerilenler
- Not: JavaScript kapalıyken bağlantı metni gösterilir.
- Animasyonları özelleştirme {:#customize-animations}
- Değere dayalı animasyonlar