Etkinlik
Son Güncelleme | Kararlı Sürüm | Serbest Bırakma Adayı | Beta Sürümü | Alfa Sürümü |
---|---|---|---|---|
29 Kasım 2023 | 1.8.1 | - | - | 1.9.0-alpha01 |
Bağımlılıkları bildirme
Etkinlik için bağımlılık eklemek üzere projenize Google Maven deposunu eklemeniz gerekir. Daha fazla bilgi için Google'ın Maven deposunu okuyun.
Uygulamanız veya modülünüz için build.gradle
dosyasına ihtiyaç duyduğunuz yapıların bağımlılıklarını ekleyin:
Groovy
dependencies { def activity_version = "1.8.1" // Java language implementation implementation "androidx.activity:activity:$activity_version" // Kotlin implementation "androidx.activity:activity-ktx:$activity_version" }
Kotlin
dependencies { val activity_version = "1.8.1" // Java language implementation implementation("androidx.activity:activity:$activity_version") // Kotlin implementation("androidx.activity:activity-ktx:$activity_version") }
Bağımlılıklar hakkında daha fazla bilgi için Derleme bağımlılıkları ekleme bölümüne bakın.
Geri bildirim
Geri bildirimleriniz Jetpack'i iyileştirmemize yardımcı olur. Yeni sorunlar keşfederseniz veya bu kitaplığı geliştirmek için fikirleriniz varsa lütfen bize bildirin. Yeni hesap oluşturmadan önce lütfen bu kitaplıktaki mevcut sorunlara göz atın. Yıldız düğmesini tıklayarak mevcut bir soruna oyunuzu ekleyebilirsiniz.
Daha fazla bilgi için Sorun İzleyici belgelerine bakın.
Sürüm 1.9
Sürüm 1.9.0-alpha01
29 Kasım 2023
androidx.activity:activity:1.9.0-alpha01
, androidx.activity:activity-compose:1.9.0-alpha01
ve androidx.activity:activity-ktx:1.9.0-alpha01
yayınlandı. Sürüm 1.9.0-alpha01 bu kayıtları içerir.
Yeni Özellikler
ComponentActivity
artıkonUserLeaveHint
etkinliklerinde bileşenlerin geri çağırmalarına izin vermek içinOnUserLeaveHintProvider
uyguluyor. (I54892)
API Değişiklikleri
ComponentActivity
, Kotlin ile yeniden yazıldı. (I14f31)ActivityResultCaller
, Kotlin ile yeniden yazıldı. (Ib02e4)ActivityResultLauncher
, Kotlin ile yeniden yazıldı. Bu dönüşümün bir parçası olarakgetContract
yöntemi, artık soyut bir Kotlin mülküdür. Bu, ikili program uyumlu bir değişikliktir ancakActivityResultLauncher
uygulamanız Kotlin dilinde yazılmışsa kaynak bozulur. (Id4615)PickVisualMediaRequest
artıkPickVisualMedia
Etkinlik Sonucu sözleşmesiyle aynı minimum API düzeyi 19'a sahip. (Id6e21)
Bağımlılık Güncellemesi
- Etkinlik artık Core
1.13.0-alpha01
'a bağlıdır. (I14f31)
Sürüm 1.8
Sürüm 1.8.1
15 Kasım 2023
androidx.activity:activity:1.8.1
, androidx.activity:activity-compose:1.8.1
ve androidx.activity:activity-ktx:1.8.1
yayınlandı. Sürüm 1.8.1 bu kayıtları içerir.
Hata Düzeltmeleri
OnBackPressedDispatcher
artık geri hareketi işlenirken yeni birOnBackPressedCallback
eklendikten sonra bile doğruOnBackPressedCallback
öğesine dağıtım yapmaya devam ediyor. (Id0ff6)
Sürüm 1.8.0
4 Ekim 2023
androidx.activity:activity:1.8.0
, androidx.activity:activity-compose:1.8.0
ve androidx.activity:activity-ktx:1.8.0
yayınlandı. 1.8.0 sürümü bu kayıtları içerir.
1.7.0 sürümünden sonraki önemli değişiklikler
- Tahmini Geri Arama -
OnBackPressedCallback
, geri hareketi yapıldığında kullanılan öncekihandleOnBackPressed()
geri aramasına ek olarak, geri hareketinin başlatılması, hareket boyunca ilerleme durumu ve geri gitme hareketinin iptal edilmesi için yeni Tahmine Dayalı Geri çağırma işlevi sunar. Bu ayrıca, Etkinlik Yazma'da tahmine dayalı geri hareketi etkinliklerini işlemek içinPredictiveBackHandler
Composable özelliğiyle birlikte gelir. Sağladığınız askıya alma lambasında toplanması gereken BackEventCompat nesnelerinin bir akışını sağlar:
PredictiveBackHandler { progress: Flow<BackEventCompat> ->
// code for gesture back started
try {
progress.collect { backEvent ->
// code for progress
}
// code for completion
} catch (e: CancellationException) {
// code for cancellation
}
}
ComponentActivity.onBackPressed()
desteği sonlandırıldı ve yerini geri almak için API'ler aldı. Geliştiriciler bu yöntemi geçersiz kılmak yerine artık OnBackPressedDispatcher
kullanmalıdır.
- EdgeToEdge - Uçtan uca ekranı geriye dönük uyumlu olacak şekilde kolayca ayarlamak için
ComponentActivity.enableEdgeToEdge()
eklendi.
Sürüm 1.8.0-rc01
20 Eylül 2023
androidx.activity:activity:1.8.0-rc01
, androidx.activity:activity-compose:1.8.0-rc01
ve androidx.activity:activity-ktx:1.8.0-rc01
yayınlandı. Sürüm 1.8.0-rc01 bu kayıtları içerir.
Sürüm 1.8.0-beta01
6 Eylül 2023
androidx.activity:activity:1.8.0-beta01
, androidx.activity:activity-compose:1.8.0-beta01
ve androidx.activity:activity-ktx:1.8.0-beta01
yayınlandı. Sürüm 1.8.0-beta01 bu kayıtları içerir.
Dokümanlarda İyileştirme
BackEventCompat
dokümanları iyileştirildi. (aosp/2722254)
Sürüm 1.8.0-alpha07
23 Ağustos 2023
androidx.activity:activity:1.8.0-alpha07
, androidx.activity:activity-compose:1.8.0-alpha07
ve androidx.activity:activity-ktx:1.8.0-alpha07
yayınlandı. Sürüm 1.8.0-alpha07 bu kaydetmeleri içerir.
Yeni Özellikler
Etkinlik Yazma, tahmine dayalı geri hareketi etkinliklerini işlemek için yeni bir
PredictiveBackHandler
Composable (Oluşturulabilir) ekledi. Sağladığınız askıya alma lambasında toplanması gerekenBackEventCompat
nesnedenFlow
sağlar:PredictiveBackHandler { progress: Flow<BackEventCompat> -> // code for gesture back started try { progress.collect { backEvent -> // code for progress } // code for completion } catch (e: CancellationException) { // code for cancellation } }
Ayrıca,
Flow
tarafındancollect()
çağrısının yapıldığından emin olmak için lint kuralı aracılığıyla derleme zamanı uyarısı da verilir. (Id2773, b/294884345)ComponentActivity
içindekionBackPressedDispatcher
öğesi artık gecikmeli olarak başlatılıyor. Böylece yalnızca gerektiğinde oluşturulması gerekiyor. (I0bf8e)
Hata Düzeltmeleri
ComponentActivity
,onBackPressed()
geri araması aldığında ve etkinlik zatenDESTROYED
olduğunda artık Android 13'te NPE göstermeyecek. (Idb055, b/291869278)- Deneysel
isAtLeastU()
API'sinin (Ie9117, b/289269026) kullanımları kaldırıldı
Sürüm 1.8.0-alpha06
21 Haziran 2023
androidx.activity:activity:1.8.0-alpha06
, androidx.activity:activity-compose:1.8.0-alpha06
ve androidx.activity:activity-ktx:1.8.0-alpha06
yayınlandı. Sürüm 1.8.0-alpha06 bu kaydetmeleri içerir.
Yeni Özellikler
OnBackPressedDispatcher
artık Tahmine Dayalı Geri Hareketi sırasında kaldırılan tüm geri çağırmaları doğru bir şekilde iptal edebiliyor. (I3f90f)
API Değişiklikleri
- Artık
enableEdgeToEdge
API'sineSystemBarStyle.auto
değerini iletirkendetectDarkMode
lambda parametresini geçersiz kılarak gece modunu algılamak için özel mantık sağlayabilirsiniz. (aosp/2546393, b/278263793)
Sürüm 1.8.0-alpha05
7 Haziran 2023
androidx.activity:activity:1.8.0-alpha05
, androidx.activity:activity-compose:1.8.0-alpha05
ve androidx.activity:activity-ktx:1.8.0-alpha05
yayınlandı. Bu sürüm, dahili bir dalda geliştirilmiştir.
API Değişiklikleri
- Etkinlik artık
BackEvent
çerçevesininBackEvent
sınıfından ayrılmış geriye dönük uyumlu sürümü olarak hizmet veren birBackEventCompat
sınıfı sağlıyor. - Sökücü değişiklik:
OnBackPressedCallback
işlevininhandleOnBackStarted
vehandleOnBackProgressed
yöntemleri artık bir çerçeveandroid.window.BackEvent
sınıfı yerineandroidx.activity.BackEventCompat
örneği alıyor.OnBackPressedDispatcher
hizmetindeki eşdeğer@VisibleForTesting
API'leri de güncellendi. OnBackPressedDispatcher
oluşturucu artık isteğe bağlı birConsumer<Boolean>
örneği alıyor. Bu örnek, etkin geri çağırmaların sayısı sıfırdan sıfır olmayan bir değere (veya tam tersi) her değiştiğinde görev dağıtıcının sahiplerinin geri çağırma almasını sağlar.
Hata Düzeltmeleri
1.7.2
etkinliği:report
çağrılmadan önce ekrandan çıkılırken oluşanReportDrawn
kilitlenmesi düzeltildi. (Ic46f1, b/260506820)
Sürüm 1.8.0-alpha04
10 Mayıs 2023
androidx.activity:activity:1.8.0-alpha04
, androidx.activity:activity-compose:1.8.0-alpha04
ve androidx.activity:activity-ktx:1.8.0-alpha04
yayınlandı. Bu sürüm dahili bir şubeden serbest bırakıldı.
Hata Düzeltmeleri
- 1.7.1 etkinliğinden: -
ComponentActivity
ileActivityScenario
kullanıldığındaReportFullyDrawExecuter
artık veri sızıntısı almıyor. (Id2ff2, b/277434271)
Sürüm 1.8.0-alpha03
12 Nisan 2023
androidx.activity:activity:1.8.0-alpha03
, androidx.activity:activity-compose:1.8.0-alpha03
ve androidx.activity:activity-ktx:1.8.0-alpha03
yayınlandı. Bu sürüm dahili bir şubeden serbest bırakıldı.
Yeni Özellikler
- Uçtan uca ekranı geriye dönük uyumlu olacak şekilde kolayca ayarlamak için
ComponentActivity.setUpEdgeToEdge()
eklendi.
API Değişiklikleri
ComponentActivity.onBackPressed()
desteği sonlandırıldı ve yerini geri almak için API'ler aldı. Geliştiriciler bu yöntemi geçersiz kılmak yerine artıkOnBackPressedDispatcher
kullanmalıdır. (Ibce2f, b/271596918)ComponentDialog
veComponentActivity
artık içerik görünümünü ayarlamadan önce tüm görünüm ağacı sahiplerini başlatmak için kullanılacak genel APIinitViewTreeOwners()
içeriyor. (Ibdce0, b/261314581)
Hata Düzeltmeleri
- Fragment'ların, MenuHosts öğelerini yanlış şekilde geçersiz kılmasına ve Etkinlik'teki diğer menülerin beklenmeyen davranışlara neden olmasına neden olan sorun düzeltildi. (I9404e, b/244336571)
Diğer Değişiklikler
ActivityResultRegister
artık Java yerine KotlinRandom
kullanıyor. (I4d98f, b/272096025)
Sürüm 1.8.0-alpha02
8 Mart 2023
androidx.activity:activity:1.8.0-alpha02
, androidx.activity:activity-compose:1.8.0-alpha02
ve androidx.activity:activity-ktx:1.8.0-alpha02
yayınlandı. Dahili bir daldan geliştirildi.
Bağımlılık güncellemesi
1.7.0-rc01
Etkinliği'nde: Etkinlik artıkLifecycle 2.6.0
tarihine bağlıdır.
Sürüm 1.8.0-alpha01
8 Şubat 2023
androidx.activity:activity:1.8.0-alpha01
, androidx.activity:activity-compose:1.8.0-alpha01
ve androidx.activity:activity-ktx:1.8.0-alpha01
yayınlandı. Bu, dahili bir daldan oluşturulmuştur.
Yeni Özellikler
OnBackPressedCallback
sınıfı, geri hareketinin gerçekleştirildiği durumlar için öncekihandleOnBackPressed()
geri çağırmasına ek olarak artık geri hareketinin başlatılmasını, hareket boyunca ilerlemesini ve iptal edilen geri hareketini işlemek için yeni Tahmini Geri Arama ilerlemesi geri çağırmalarını içermektedir.
Sürüm 1.7
Sürüm 1.7.2
24 Mayıs 2023
androidx.activity:activity:1.7.2
, androidx.activity:activity-compose:1.7.2
ve androidx.activity:activity-ktx:1.7.2
yayınlandı. 1.7.2 sürümü bu kayıtları içerir.
Hata Düzeltmeleri
report
çağrılmadan önce bir ekrandan çıkılırken oluşanReportDrawn
kilitlenmesi düzeltildi. (Ic46f1, b/260506820)
Sürüm 1.7.1
19 Nisan 2023
androidx.activity:activity:1.7.1
, androidx.activity:activity-compose:1.7.1
ve androidx.activity:activity-ktx:1.7.1
yayınlandı. Sürüm 1.7.1 bu kayıtları içerir.
Hata Düzeltmeleri
ComponentActivity
ActivityScenario
ile kullanıldığındaReportFullyDrawExecuter
artık su sızıntısı almıyor. (Id2ff2, b/277434271)
Sürüm 1.7.0
22 Mart 2023
androidx.activity:activity:1.7.0
, androidx.activity:activity-compose:1.7.0
ve androidx.activity:activity-ktx:1.7.0
yayınlandı. 1.7.0 sürümü bu kayıtları içerir.
1.6.0 sürümünden sonraki önemli değişiklikler
PickVisualMedia
vePickMultipleVisualMedia
sürümlerindeki Fotoğraf Seçici etkinlik sözleşmeleri, OEM'lerin ve Google Play Hizmetleri gibi sistem uygulamalarının, yedek işlemi uygulayarak daha çeşitli Android cihazlarda ve API düzeylerinde tutarlı bir Fotoğraf Seçici deneyimi sunmasına olanak tanıyan,MediaStore.ACTION_PICK_IMAGES
kullanılamadığında ek bir yedek içerecek şekilde güncellendi. Fotoğraf seçici, API 19 ve sonraki sürümlerin tamamını desteklemeye devam edenIntent.ACTION_OPEN_DOCUMENT
kullanımına geri dönmeden önce kullanılabiliyorsa bu yedeği kullanır.ComponentDialog
, artıkSavedStateRegistryOwner
politikasını uygular, kendiSavedStateRegistry
öğesine erişebilir veViewTree
içinSavedStateRegistryOwner
değerini ayarlar.ViewTree
API şartları aracılığıyla pencereye eklenmişLifecycleOwner
veSavedStateRegistryOwner
şartlarını karşıladığı için artık Jetpack Compose'uComponentDialog
içinde kullanmak mümkün.IntentSenderRequest.Builder.setFlags()
artık tek bir işaret yerine birden fazlaIntent
işareti ayarlamanıza izin veriyor.
Kotlin Dönüşümü
Bazı Etkinlik sınıfları Kotlin'e dönüştürüldü. Dönüştürülen tüm sınıfların önceki sürümlerle ikili program uyumluluğu korunur. Şu sınıflarda, Kotlin'de yazılan sınıflar için kaynak uyumsuz değişiklikler var: ActivityResultRegistryOwner
, OnBackPressedDispatcherOwner
.
Aşağıdaki tabloda, Etkinlik'in yeni sürümü için kaynak dönüşümler gösterilmektedir:
Aktivite 1.5 | Aktivite 1.6 |
---|---|
override fun getActivityResultRegistry() = activityResultRegistry |
override val activityResultRegistry = activityResultRegistry |
override fun getOnBackPressedDispatcher() = onBackPressedDispatcher |
override val onBackPressedDispatcher = onBackPressedDispatcher |
Şu sınıflar da Kotlin'e dönüştürülmüştür ancak kaynak uyumluluğu devam etmektedir: ContextAware
, ContextAwareHelper
, OnContextAvailableListener
, IntentSenderRequest
ve OnBackPressedDispatcher
FullyDrawnReporter API'leri
ComponentActivity
artık birden fazla bileşenin etkileşime hazır olduklarında rapor oluşturmasına olanak tanıyan bir FullyDrawnReporter
örneği sunuyor. ComponentActivity
, sizin adınıza reportFullyDrawn()
çağırmadan önce tüm bileşenlerin tamamlanmasını bekler. Zamanlamayla ilgili gereksinimleri bu API'ler yerine getirir ve bir onDraw
görüşmesinin parçası olarak çağrılmanız gerekmez.
Bu API'lerin şunları etkinleştirmesi önerilir:
- Çok çerçeveli başlatma sırasında çalışan tüm kodların dahil edildiğinden ve arka plan derlemesine öncelik verildiğinden emin olmak için başlatma tamamlandığında Android Çalışma Zamanı'nı bildirme.
- Uygulamanızın başlangıç metrikleri için tamamen çekildiği kabul edilmesi gerektiğinde Makrobenchmark ve Play Vitals'a bildirimde bulunur. Böylece, performansı izleyebilirsiniz.
Oluşturulan dokümanlardan FullyDrawnReporter
kullanımını daha kolay hale getirmek için üç etkinlik yazma API'si eklendi:
ReportDrawn
, oluşturma öğenizin etkileşim için hemen hazır olduğunu gösterir.ReportDrawnWhen
bir yüklem alır (ör.list.count > 0
) oluşturun.ReportDrawnAfter
, askıya alma yöntemini alır ve tamamlandığında etkileşim için hazır olduğunuzu belirtir.
Bağımlılık Güncellemeleri
- Etkinlik artık Yaşam Döngüsü
2.6.1
'ne bağlıdır. (8fc31d) - Etkinlik artık ProfileInstaller
1.3.0
öğesine bağlıdır. (83d3b1)
Sürüm 1.7.0-rc01
8 Mart 2023
androidx.activity:activity:1.7.0-rc01
, androidx.activity:activity-compose:1.7.0-rc01
ve androidx.activity:activity-ktx:1.7.0-rc01
yayınlandı. Sürüm 1.7.0-rc01 bu kayıtları içerir.
Bağımlılık güncellemesi
- Etkinlik artık
Lifecycle 2.6.0
ile ilişkili.
Sürüm 1.7.0-beta02
22 Şubat 2023
androidx.activity:activity:1.7.0-beta02
, androidx.activity:activity-compose:1.7.0-beta02
ve androidx.activity:activity-ktx:1.7.0-beta02
yayınlandı. Sürüm 1.7.0-beta02 bu kayıtları içerir.
API Değişiklikleri
MediaStore.ACTION_PICK_IMAGES
kullanılamadığında yedek olarakPickVisualMedia
vePickMultipleVisualMedia
sözleşmeleri tarafından kullanılan işlem ve ekstralar, artık tutarlı bir fotoğraf seçici deneyimi sunmak isteyen OEM'lere ve sistem uygulamalarına API kararlılığı sağlayan herkese açık sabit değerlerdir. Bu yedeğin uygulanması hâlâ yalnızca sistem uygulamalarıyla sınırlıdır. (Icd320)
Sürüm 1.7.0-beta01
8 Şubat 2023
androidx.activity:activity:1.7.0-beta01
, androidx.activity:activity-compose:1.7.0-beta01
ve androidx.activity:activity-ktx:1.7.0-beta01
yayınlandı. Sürüm 1.7.0-beta01 bu kayıtları içerir.
Yeni Özellikler
IntentSenderRequest.Builder.setFlags()
artık tek bir işaret yerine birden fazlaIntent
işareti ayarlamanıza izin veriyor. (Iac04c)
Hata Düzeltmeleri
- Çerçeve Fotoğraf Seçici'nin kullanılamadığı durumlardaki
PickVisualMedia
yedeği, işlemeyi cihazın sistem resminde yüklenen uygulamalarla doğru şekilde sınırlar. (If8ae6)
Kotlin Dönüşümleri
ActivityResultRegistryOwner
artık Kotlin dilinde yazılmıştır. Bu, Kotlin'de yazılan sınıflar için kaynakla uyumlu olmayan bir değişikliktir. ÖncekigetActivityResultRegistry()
işlevini uygulamak yerine artıkactivityResultRegistry
özelliğini geçersiz kılmanız gerekir. (I0b00e)OnBackPressedDispatcherOwner
artık Kotlin dilinde yazılmıştır. Bu, Kotlin'de yazılan sınıflar için kaynakla uyumlu olmayan bir değişikliktir. ÖncekigetOnBackPressedDispatcher
işlevini uygulamak yerine artıkonBackPressedDispatcher
özelliğini geçersiz kılmanız gerekir. (Ia277d)ContextAware
,ContextAwareHelper
,OnContextAvailableListener
,IntentSenderRequest
veOnBackPressedDispatcher
artık Kotlin dilinde yazılmış durumda. (I1a73e, Iada92, aosp/2410754, I18ac7, b/257291701)
Sürüm 1.7.0-alpha04
25 Ocak 2023
androidx.activity:activity:1.7.0-alpha04
, androidx.activity:activity-compose:1.7.0-alpha04
ve androidx.activity:activity-ktx:1.7.0-alpha04
yayınlandı. Sürüm 1.7.0-alpha04 bu kayıtları içerir.
Yeni Özellikler
PickVisualMedia
vePickMultipleVisualMedia
Etkinlik Sonucu sözleşmelerinde artık Android sisteminin fotoğraf seçici (ör.MediaStore.ACTION_PICK_IMAGES
) kullanılamıyor. Yalnızca Android sisteminin sağladığı Fotoğraf Seçici'yi algılayanisPhotoPickerAvailable()
API'nin desteği sonlandırılmıştır. YeniisPhotoPickerAvailable(Context)
API'yi kullanmanız önerilir. Bu API, iki fotoğraf seçiciden biri kullanılabiliyorsa geri dönecektir. (I55be6)
Sürüm 1.7.0-alpha03
11 Ocak 2023
androidx.activity:activity:1.7.0-alpha03
, androidx.activity:activity-compose:1.7.0-alpha03
ve androidx.activity:activity-ktx:1.7.0-alpha03
yayınlandı. Sürüm 1.7.0-alpha03 bu kayıtları içerir.
Yeni Özellikler
ComponentDialog
, artıkSavedStateRegistryOwner
politikasını uygular, kendiSavedStateRegistry
öğesine erişebilir ve ViewTree içinSavedStateRegistryOwner
öğesini ayarlar. ViewTree API şartlarıyla pencereye eklenmişLifecycleOwner
veSavedStateRegistryOwner
şartlarını karşıladığı için artık Jetpack Compose'uComponentDialog
içinde kullanmak mümkün. (Idca17, I73468 b/261162296)
API Değişiklikleri
- Etkinliği hemen
reportFullyDrawn
çağrısına hazır olarak işaretleyen birReportDrawn
bestesi eklendi. (Ic5b14, b/259687964)
Kotlin Dönüşümleri
ActvitiyResultCallback
veOnBackPressedCallback
sınıfları, kaynak ve ikili uyumluluğu sürdürürken Kotlin'e dönüştürülmüştür. (Ifc5e5, Ide1b0, b/257291701)
Sürüm 1.7.0-alpha02
24 Ekim 2022
androidx.activity:activity:1.7.0-alpha02
, androidx.activity:activity-compose:1.7.0-alpha02
ve androidx.activity:activity-ktx:1.7.0-alpha02
yayınlandı. Sürüm 1.7.0-alpha02 bu kayıtları içerir.
Hata Düzeltmeleri
1.6.1
etkinliğinde:maxItems
için varsayılan değer kullanılırken Android R cihazlardaPickMultipleVisualMedia
Etkinlik Sonucu sözleşmesinin başlatılmaması sorunu düzeltildi. (Ie2776, b/249182130)
Sürüm 1.7.0-alpha01
5 Ekim 2022
androidx.activity:activity:1.7.0-alpha01
, androidx.activity:activity-compose:1.7.0-alpha01
ve androidx.activity:activity-ktx:1.7.0-alpha01
yayınlandı. Sürüm 1.7.0-alpha01 bu kayıtları içerir.
FullyDrawnReporter API'leri
ComponentActivity
artık birden fazla bileşenin etkileşime hazır olduklarında rapor oluşturmasına olanak tanıyan bir FullyDrawnReporter
örneği sunuyor. ComponentActivity
, sizin adınıza reportFullyDrawn()
çağırmadan önce tüm bileşenlerin tamamlanmasını bekler. Zamanlamayla ilgili gereksinimleri bu API'ler yerine getirir ve bir onDraw
görüşmesinin parçası olarak çağrılmanız gerekmez.
Bu API'lerin şunları etkinleştirmesi önerilir:
- Çok çerçeveli başlatma sırasında çalışan tüm kodların dahil edildiğinden ve arka plan derlemesine öncelik verildiğinden emin olmak için başlatma tamamlandığında Android Çalışma Zamanı'nı bildirme.
- Uygulamanızın başlangıç metrikleri için tamamen çekildiği kabul edilmesi gerektiğinde Makrobenchmark ve Play Vitals'a bildirimde bulunur. Böylece, performansı izleyebilirsiniz.
Oluşturulan dokümanlardan FullyDrawnReporter
kullanımını daha kolay hale getirmek için iki Activity Compose API eklendi:
ReportDrawnWhen
bir yüklem alır (ör.list.count > 0
) oluşturun.ReportDrawnAfter
, askıya alma yöntemini alır ve tamamlandığında etkileşim için hazır olduğunuzu belirtir.
Sürüm 1.6.1
Sürüm 1.6.1
24 Ekim 2022
androidx.activity:activity:1.6.1
, androidx.activity:activity-compose:1.6.1
ve androidx.activity:activity-ktx:1.6.1
yayınlandı. Sürüm 1.6.1 bu kayıtları içerir.
Hata Düzeltmeleri
maxItems
için varsayılan değer kullanılırkenPickMultipleVisualMedia
Etkinlik Sonucu sözleşmesinin Android R cihazlarda başlatılmamasıyla ilgili sorun düzeltildi. (Ie2776, b/249182130)
Sürüm 1.6.0
Sürüm 1.6.0
21 Eylül 2022
androidx.activity:activity:1.6.0
, androidx.activity:activity-compose:1.6.0
ve androidx.activity:activity-ktx:1.6.0
yayınlandı. 1.6.0 sürümü bu kayıtları içerir.
1.5.0 sürümünden sonraki önemli değişiklikler
- Fotoğraf Seçici kullanılabilir olduğunda
MediaStore.ACTION_PICK_IMAGES
, kullanılamadığında iseIntent.ACTION_OPEN_DOCUMENT
kullanan geriye dönük uyumlu bir sözleşme sağlamak içinActivityResultContracts.PickVisualMedia
veActivityResultContracts.PickMultipleVisualMedia
eklendi. - Android 13'teki
OnBackInvokedCallback
,ComponentActivity
veComponentDialog
tarafından sağlananOnBackPressedDispatchers
uygulamasına entegre edildi. Bu,OnBackPressedDispatcher
üzerinde oluşturulan tüm API'lerin tahminli geri hareketini etkinleştirirken çalışmasını sağlar.
Sürüm 1.6.0-rc02
7 Eylül 2022
androidx.activity:activity:1.6.0-rc02
, androidx.activity:activity-compose:1.6.0-rc02
ve androidx.activity:activity-ktx:1.6.0-rc02
yayınlandı. Sürüm 1.6.0-rc02 bu kayıtları içerir.
Hata Düzeltmeleri
OnBackPressedDispatcher
,OnBackInvokedCallback
cihazını artıkPRIORITY_OVERLAY
yerinePRIORITY_DEFAULT
ile kaydediyor. (I3901f)ComponentActivity
kapsamını genişleten sınıflara artık her zamanonMultiWindowModeChanged()
geri çağırmalarının ikisi de dağıtılacak. (Ic4d85)launch
çağrısı herhangi birException
yanıtı verdiğinde ve geri çağırmaLifecycleOwner
olmadan kaydedildiğindeActivityResultRegistry
artıkActivityResultCallback
için bir sonuç döndürmez. (Ia7ff7, b/238350794)ComponentActivity
artık etkinliğinizdeki süper işlevi çağırmaya gerek kalmadan menü çağrılarını düzgün bir şekilde dağıtacaktır. (Ie33c5, b/238057118)
Bağımlılık Güncellemesi
Activity
kitaplığı artık Yaşam Döngüsü2.5.1
'ne bağlı. (If6697)
Sürüm 1.6.0-rc01
24 Ağustos 2022
androidx.activity:activity:1.6.0-rc01
, androidx.activity:activity-compose:1.6.0-rc01
ve androidx.activity:activity-ktx:1.6.0-rc01
yayınlandı. Sürüm 1.6.0-rc01 bu kayıtları içerir.
Hata Düzeltmeleri
- 33'ten önceki SDK sürümleri kullanılırken
OnBackPressedDispatcher
başlatıldığında artıkClassVerificationError
işlevine neden olmayacak. (Ic32e1) ComponentActivity
öğesininonPictureInPictureModeChanged()
geri çağırmasını geçersiz kılan sınıfların geri çağırmaları artık her zaman gönderilir. (Ib7fdb)
Sürüm 1.6.0-beta01
10 Ağustos 2022
androidx.activity:activity:1.6.0-beta01
, androidx.activity:activity-compose:1.6.0-beta01
ve androidx.activity:activity-ktx:1.6.0-beta01
yayınlandı. Sürüm 1.6.0-beta01 bu kayıtları içerir.
API Değişiklikleri
null
geçişi her zaman kilitlenmeyle sonuçlandığı için,ComponentActivity
üzerinde kullanımdan kaldırılanstartActivityForResult
vestartIntentSenderForResult
yöntemleri@NonNull
ile işaretlendi. (Id2a25, b/231476082)
Hata Düzeltmeleri
1.5.1
Etkinliği'nden:launch
çağrısıException
herhangi bir değer attığında ve geri çağırmaLifecycleOwner
olmadan kaydedildiğindeActivityResultRegistry
artıkActivityResultCallback
öğesine sonuç döndürmeyecek. (Ia7ff7, b/238350794)1.5.1
Etkinliği'nden:ComponentActivity
artık menü çağrılarınıonPrepareOptionMenu()
,onCreateOptionsMenu()
veonOptionsItemSelected()
geçersiz kılma işlemleri için süper işlevi çağırmaya gerek kalmadan düzgün bir şekilde dağıtacak. (Ie33c5, b/238057118)
Bağımlılık Güncellemesi
1.5.1
Etkinliği'nden:Activity
kitaplığı artıkLifecycle
2.5.1
sürümüne bağlıdır. (If6697)
Sürüm 1.6.0-alpha05
15 Haziran 2022
androidx.activity:activity:1.6.0-alpha05
, androidx.activity:activity-compose:1.6.0-alpha05
ve androidx.activity:activity-ktx:1.6.0-alpha05
yayınlandı. 1.6.0-alpha05 sürümü özel bir yayın öncesi dal olarak geliştirilmiştir ve herkese açık kaydetmeleri yoktur.
API Değişiklikleri
- Tiramisu Beta 3 SDK'sı ile uyumlu olması için
minCompileSdk
artık 33 yaşında
Hata Düzeltmeleri
PickVisualMedia
ActivityResultContract
için SDK uzantısı kontrolü yapılırken eski cihazlarda yaşanan kilitlenme düzeltildi. Böylece artık Android 10 ve önceki sürümleri çalıştıran cihazlardaACTION_OPEN_DOCUMENT
ile çalışması gerekir.
Sürüm 1.6.0-alpha04
18 Mayıs 2022
androidx.activity:activity:1.6.0-alpha04
ve androidx.activity:activity-ktx:1.6.0-alpha04
yayınlandı.
Hata Düzeltmeleri
PickVisualMediaRequest
öğesinde, Oluşturucu veya üst düzey Kotlin işleviyle istek oluşturmanın yığın taşmasına neden olmasına neden olan bir hata düzeltildi.OnBackInvokedCallback
, Android 13 Geliştirici Beta 2 sürümündeComponentDialog
tarafından sağlananOnBackPressedDispatcher
uygulamasına entegre edildi. Bu, tahmini geri hareketi etkinleştirirkenOnBackPressedDispatcher
üzerinde oluşturulan tüm API'lerin çalışmasını sağlar.
Sürüm 1.6.0-alpha03
27 Nisan 2022
androidx.activity:activity:1.6.0-alpha03
, androidx.activity:activity-compose:1.6.0-alpha03
ve androidx.activity:activity-ktx:1.6.0-alpha03
yayınlandı.
- Not: Bu sürüm yalnızca Android 13 Geliştirici Beta 1 SDK'sına göre derlenecektir.
Yeni Özellikler
- Fotoğraf Seçici kullanılabilir olduğunda
MediaStore.ACTION_PICK_IMAGES
, kullanılamadığında iseIntent.ACTION_OPEN_DOCUMENT
kullanan geriye dönük uyumlu bir sözleşme sağlamak içinActivityResultContracts.PickVisualMedia
veActivityResultContracts.PickMultipleVisualMedia
eklendi. OnBackInvokedCallback
, Android 13 Geliştirici Beta 1 sürümüneComponentActivity
tarafından sağlananOnBackPressedDispatcher
entegre edildi. Bu, tahmini geri hareketi etkinleştirirkenOnBackPressedDispatcher
üzerinde oluşturulan tüm API'lerin çalışmasını sağlar.
Sürüm 1.6.0-alpha01
23 Mart 2022
androidx.activity:activity:1.6.0-alpha01
, androidx.activity:activity-compose:1.6.0-alpha01
ve androidx.activity:activity-ktx:1.6.0-alpha01
yayınlandı.
- Not: Bu sürüm yalnızca Android 13 Geliştirici Önizleme 2 SDK'sına göre derlenecektir.
Yeni Özellikler
- Android 13 Geliştirici Önizlemesi 2'deki değişiklikler
ComponentActivity
sürümüne entegre edildi.
Sürüm 1.5.1
Sürüm 1.5.1
27 Temmuz 2022
androidx.activity:activity:1.5.1
, androidx.activity:activity-compose:1.5.1
ve androidx.activity:activity-ktx:1.5.1
yayınlandı. 1.5.1 sürümü bu kayıtları içerir.
Hata Düzeltmeleri
launch()
çağrısıException
çağrısı yaptığında ve geri çağırmaLifecycleOwner
olmadan kaydedildiğindeActivityResultRegistry
artıkActivityResultCallback
öğesine sonuç döndürmez. (Ia7ff7, b/238350794)ComponentActivity
, süper işlevi çağırmaya gerek kalmadan menü çağrılarınıonPrepareOptionMenu()
,onCreateOptionsMenu()
veonOptionsItemSelected()
geçersiz kılma işlemlerine doğru şekilde dağıtır. (Ie33c5, b/238057118)
Bağımlılık güncellemesi
Activity
kitaplığı artık Yaşam Döngüsü2.5.1
'ne bağlıdır. (If6697)
Sürüm 1.5.0
Sürüm 1.5.0
29 Haziran 2022
androidx.activity:activity:1.5.0
, androidx.activity:activity-compose:1.5.0
ve androidx.activity:activity-ktx:1.5.0
yayınlandı. 1.5.0 sürümü bu kayıtları içerir.
1.4.0 sürümünden sonraki önemli değişiklikler
- Bileşen İletişim Kutusu:
ComponentDialog
, sistem geri düğmesine basıldığında ve iletişim kutusu görünür olduğunda çağrılacak birOnBackPressedDispatcher
içeren birDialog
alt sınıfıdır. Daha da önemlisi, bu alt sınıfViewTreeOnBackPressedDispatcherOwner
öğesini de ayarlar. Böylece,ComponentActivity
veyaComponentDialog
içinde olması fark etmeksizin doğru görev dağıtıcıyı almak için genel bir yönteme olanak tanır. - Geri Çağırma Arayüzleri -
ComponentActivity
, artıkActivity
geri çağırma işlevinin yerine kullanılabilecek bir dizi modüler geri çağırma arayüzü uygulamaktadır. Bu arayüzler şunları içerir:OnNewIntentProvider
,OnConfigurationChangedProvider
,OnTrimMemoryProvider
,OnPictureInPictureModeChangedProvider
,OnMultiWindowModeChangedProvider
- CreationExtras Integration: Artık Lifecycle
2.5.0
'ınCreationExtras
aracılığıyla durum bilgisizViewModelProvider.Factory
sağlayabilir.ComponentActivity
Diğer değişiklikler
ActivityResultContracts.CreateDocument
için parametre yok oluşturucu kullanımdan kaldırıldı ve yerini beton MIME türü (ör. "image/png")Intent.ACTION_CREATE_DOCUMENT
tarafından gerektiği şekilde.
Sürüm 1.5.0-rc01
11 Mayıs 2022
androidx.activity:activity:1.5.0-rc01
, androidx.activity:activity-compose:1.5.0-rc01
ve androidx.activity:activity-ktx:1.5.0-rc01
, 1.5.0-beta01 sürümünden herhangi bir değişiklik olmadan yayınlandı. Sürüm 1.5.0-rc01 bu kayıtları içerir.
Sürüm 1.5.0-beta01
20 Nisan 2022
androidx.activity:activity:1.5.0-beta01
, androidx.activity:activity-compose:1.5.0-beta01
ve androidx.activity:activity-ktx:1.5.0-beta01
yayınlandı. Sürüm 1.5.0-beta01 bu kayıtları içerir.
Bağımlılık güncellemeleri
- Etkinlik artık Yaşam Döngüsü
2.4.0-beta01
'ne bağlıdır.
Sürüm 1.5.0-alpha05
6 Nisan 2022
androidx.activity:activity:1.5.0-alpha05
, androidx.activity:activity-compose:1.5.0-alpha05
ve androidx.activity:activity-ktx:1.5.0-alpha05
yayınlandı. Sürüm 1.5.0-alpha05 bu kayıtları içerir.
Hata Düzeltmeleri
ComponentActivity
cihazınınonPanelClosed()
cihazı da artık süperonPanelClosed()
öğesini çağırarakonContextMenuClosed
yönteminin çağrılmamasına neden olan bir sorunu düzeltir. (Ib6f77)
Sürüm 1.5.0-alpha04
23 Mart 2022
androidx.activity:activity:1.5.0-alpha04
, androidx.activity:activity-compose:1.5.0-alpha04
ve androidx.activity:activity-ktx:1.5.0-alpha04
yayınlandı. Sürüm 1.5.0-alpha04 bu kayıtları içerir.
Hata Düzeltmeleri
SavedStateViewFactory
,SavedStateRegistryOwner
ile başlatılmış olsa bile artıkCreationExtras
kullanımını destekliyor. Ekstralar sağlanırsa başlatılan bağımsız değişkenler yoksayılır. (I6c43b, b/224844583)
Sürüm 1.5.0-alpha03
23 Şubat 2022
androidx.activity:activity:1.5.0-alpha03
, androidx.activity:activity-compose:1.5.0-alpha03
ve androidx.activity:activity-ktx:1.5.0-alpha03
yayınlandı. Sürüm 1.5.0-alpha03 bu kayıtları içerir.
API Değişiklikleri
- Artık
CreationExtras
öğesiniby viewModels()
etkinliği işlevine aktarabilirsiniz (I6a3e6, b/217600303)
Sürüm 1.5.0-alpha02
9 Şubat 2022
androidx.activity:activity:1.5.0-alpha02
, androidx.activity:activity-compose:1.5.0-alpha02
ve androidx.activity:activity-ktx:1.5.0-alpha02
yayınlandı. Sürüm 1.5.0-alpha02 bu kayıtları içerir.
Yeni Özellikler
ComponentActivity
artık tüm bileşenlerin pencere içinde pencere modu değişiklik etkinliklerini almasını sağlamak içinOnPictureInPictureModeChangedProvider
arayüzünü uyguluyor. (I9f567)ComponentActivity
artık herhangi bir bileşenin birden fazla pencere modu değişikliği etkinlikleri almasına izin vermek içinOnMultiWindowModeChangedProvider
arayüzünü uyguluyor. (I62d91)
Sürüm 1.5.0-alpha01
26 Ocak 2022
androidx.activity:activity:1.5.0-alpha01
, androidx.activity:activity-compose:1.5.0-alpha01
ve androidx.activity:activity-ktx:1.5.0-alpha01
yayınlandı. Sürüm 1.5.0-alpha01 bu kayıtları içerir.
Yeni Özellikler
ComponentActivity
artık Yaşam Döngüsü2.5.0-alpha01
kapsamında kullanıma sunulan ViewModel CreationExtras ile entegre olur. (Ie7e00, b/207012584)- İletişim kutusu görünür olduğunda sistem geri düğmesine basıldığında çağrılacak bir
OnBackPressedDispatcher
içerenOnBackPressedDispatcher
alt sınıfıComponentDialog
eklendi.Dialog
Daha da önemlisi, bu alt sınıfViewTreeOnBackPressedDispatcherOwner
öğesini de ayarlar. Böylece,ComponentActivity
veyaComponentDialog
içinde mevcut olması fark etmeksizin doğru görev dağıtıcıyı almak için genel bir yönteme olanak tanır. (I8a1bc) ComponentActivity
artık tüm bileşenlerin bu etkinlikleri almasına izin vermek için yeniOnNewIntentProvider
arayüzünü uyguluyor. (If1f8b)ComponentActivity
artık tüm bileşenlerin bu etkinlikleri almasına izin vermek için yeniOnConfigurationChangedProvider
arayüzünü uyguluyor. (If623b)ComponentActivity
artık tüm bileşenlerin bu etkinlikleri almasına izin vermek için yeniOnTrimMemoryProvider
arayüzünü uyguluyor. (Ia9295)
API Değişiklikleri
ActivityResultContracts.CreateDocument
için parametre yok oluşturucu kullanımdan kaldırıldı ve yerini beton MIME türü (ör."image/png"
) gereken şekildeIntent.ACTION_CREATE_DOCUMENT
kullanın. (I2bec6)- Bir Görünümle ilişkilendirilen
OnBackPressedDispatcherOwner
artıkContext
öğesini yayınlamak yerineViewTreeOnBackPressedDispatcherOwner
aracılığıyla alınabilir. (I74685)
Hata Düzeltmeleri
- Bir
registerForActivityResult()
geri çağırmasından veya birComponentActivity
öğesinininit
parçası olarak eklenenLifecycleObserver
öğesine geri çağırmalardanViewModel
öğesine ilk kez erişilirken yaşanan kilitlenme düzeltildi. (Ife83f)
Sürüm 1.4.0
Sürüm 1.4.0
27 Ekim 2021
androidx.activity:activity:1.4.0
, androidx.activity:activity-compose:1.4.0
ve androidx.activity:activity-ktx:1.4.0
yayınlandı. 1.4.0 sürümü bu kayıtları içerir.
1.3.0 sürümünden sonraki önemli değişiklikler
- AndroidX
ComponentActivity
artıkMenuHost
arayüzünü uyguluyor. Bu, herhangi bir bileşenin etkinliğeMenuProvider
örneği ekleyerekActionBar
öğesine menü öğeleri eklemesine olanak tanır. HerMenuProvider
isteğe bağlı olarakLifecycle
durumuna göre bu menü öğelerinin görünürlüğünü otomatik olarak kontrol edecek veLifecycle
kaldırıldığındaMenuProvider
öğesinin kaldırılmasını sağlayacak olanLifecycle
ile eklenebilir. - Kotlin'de özel sözleşmeler yazan geliştiricilerin, giriş ve çıkış sınıfları için doğru boş değer atanabilirliğini tanımlayabilmelerini sağlamak amacıyla
ActivityResultContract
sınıfı Kotlin'de yeniden yazılmıştır. - Uygun boş değer atanabilirliğini sağlamak için
ActivityResultContracts
sınıfı ve sözleşmeleri Kotlin'de yeniden yazılmıştır.
Sürüm 1.4.0-rc01
13 Ekim 2021
androidx.activity:activity:1.4.0-rc01
, androidx.activity:activity-compose:1.4.0-rc01
ve androidx.activity:activity-ktx:1.4.0-rc01
yayınlandı. Sürüm 1.4.0-rc01 bu kayıtları içerir.
Hata Düzeltmeleri
launch
çağrısıException
attığındaActivityResultRegistry
, artıkActivityResultCallback
öğesine sonuç döndürmez. (If4f91, b/200845664)
Sürüm 1.4.0-beta01
29 Eylül 2021
androidx.activity:activity:1.4.0-beta01
, androidx.activity:activity-compose:1.4.0-beta01
ve androidx.activity:activity-ktx:1.4.0-beta01
yayınlandı. Sürüm 1.4.0-beta01 bu kayıtları içerir.
API Değişiklikleri
- Java programlama dilinden kod kullanırken
List<? extends Uri>
çıkış türü kullanılmasına neden olanActivityResultContracts.OpenMultipleDocuments
veActivityResultContracts.GetMultipleContents
türleri düzeltildi. (If71de) ActivityResultContracts.StartActivityForResult
,ActivityResultContracts.StartIntentSenderForResult
veActivityResultContracts.RequestMultiplePermissions
sınıflarındaki herkese açık sabit değerler, Kotlin'i artık herkese açıkCompanion
nesneleri aracılığıyla kullanırken artık erişilebilir durumdadır. (aosp/1832555)
Belge Güncellemeleri
- Etkinlik Sonucu API'leri (
startActivityForResult
,startIntentSenderForResult
,onActivityResult
,requestPermissions
veonRequestPermissionsResult
) tarafından işlenen API'lere yönelik desteği sonlandırma mesajının tamamı daha fazla ayrıntı içerecek şekilde genişletildi. (cce80f)
Sürüm 1.4.0-alpha02
15 Eylül 2021
androidx.activity:activity:1.4.0-alpha02
, androidx.activity:activity-compose:1.4.0-alpha02
ve androidx.activity:activity-ktx:1.4.0-alpha02
yayınlandı. Sürüm 1.4.0-alpha02 bu kayıtları içerir.
Yeni Özellikler
activity-compose
yapısı artıkLaunchDuringComposition
lint hatası içeriyor. Bu hata, bestenin yan etkisi olmadanActivityResultLauncher
içinlaunch
yöntemini çağırmanızı engelliyor. Yan etkileri ele almak için API'leri kullanın. (7c2bbe, b/191347220)
API Değişiklikleri
- Kotlin'de özel sözleşmeler yazan geliştiricilerin, giriş ve çıkış sınıfları için doğru boş değer atanabilirliğini tanımlayabilmelerini sağlamak için
ActivityResultContract
sınıfı Kotlin'de yeniden yazılmıştır. (I8a8f5) ActivityResultContracts
sınıfı ve sözleşmeleri, uygun nulliteyi sağlamak için Kotlin'de yeniden yazılmıştır. (I69802)
Sürüm 1.4.0-alpha01
1 Eylül 2021
androidx.activity:activity:1.4.0-alpha01
, androidx.activity:activity-compose:1.4.0-alpha01
ve androidx.activity:activity-ktx:1.4.0-alpha01
yayınlandı. Sürüm 1.4.0-alpha01 bu kayıtları içerir.
Yeni Özellikler
- AndroidX
ComponentActivity
artıkMenuHost
arayüzünü uyguluyor. Bu, herhangi bir bileşenin etkinliğeMenuProvider
örneği ekleyerekActionBar
öğesine menü öğeleri eklemesine olanak tanır. HerMenuProvider
isteğe bağlı olarakLifecycle
durumuna göre bu menü öğelerinin görünürlüğünü otomatik olarak kontrol edecek veLifecycle
kaldırıldığındaMenuProvider
öğesinin kaldırılmasını sağlayacak olanLifecycle
ile eklenebilir. (I3b608):
/**
* Using the addMenuProvider() API directly in your Activity
**/
class ExampleActivity : ComponentActivity(R.layout.activity_example) {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// Add menu items without overriding methods in the Activity
addMenuProvider(object : MenuProvider {
override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) {
// Add menu items here
menuInflater.inflate(R.menu.example_menu, menu)
}
override fun onMenuItemSelected(menuItem: MenuItem): Boolean {
// Handle the menu selection
return true
}
})
}
}
/**
* Using the addMenuProvider() API in a Fragment
**/
class ExampleFragment : Fragment(R.layout.fragment_example) {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
// The usage of an interface lets you inject your own implementation
val menuHost: MenuHost = requireActivity()
// Add menu items without using the Fragment Menu APIs
// Note how we can tie the MenuProvider to the viewLifecycleOwner
// and an optional Lifecycle.State (here, RESUMED) to indicate when
// the menu should be visible
menuHost.addMenuProvider(object : MenuProvider {
override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) {
// Add menu items here
menuInflater.inflate(R.menu.example_menu, menu)
}
override fun onMenuItemSelected(menuItem: MenuItem): Boolean {
// Handle the menu selection
return true
}
}, viewLifecycleOwner, Lifecycle.State.RESUMED)
}
Davranış Değişiklikleri
ActivityResultRegistry
artık kayıtlı olmayan veya kaydı iptal edilmiş birActivityResultLauncher
üzerindelaunch()
çağrısı yapmaya çalıştığındaIllegalStateException
hatası verir. (Ida75d, b/192567522)
Harici Katkı
ActivityResult
dokümanlarındaki bir yazım hatasını düzelttiğiniz için dmitrilc teşekkür ederiz. (#221)
Sürüm 1.3.1
Sürüm 1.3.1
4 Ağustos 2021
androidx.activity:activity:1.3.1
, androidx.activity:activity-compose:1.3.1
ve androidx.activity:activity-ktx:1.3.1
yayınlandı. 1.3.1 sürümü bu kayıtları içerir.
Bağımlılık güncellemeleri
- Etkinlik artık Kotlin
1.5.21
uygulamasına bağlı. - Etkinlik Yazma işlevi artık Oluşturma
1.0.1
ürününe bağlıdır.
Sürüm 1.3.0
Sürüm 1.3.0
28 Temmuz 2021
androidx.activity:activity:1.3.0
, androidx.activity:activity-compose:1.3.0
ve androidx.activity:activity-ktx:1.3.0
yayınlandı. 1.3.0 sürümü bu kayıtları içerir.
1.2.0 sürümünden sonraki önemli değişiklikler
- Activity Compose yapısı:
activity-compose
yapısı, Jetpack Compose kullanıcı arayüzünüzü bir etkinlikte barındırmanız içinsetContent
uzantı yöntemini, sistem geri düğmesini ve Activity Result API'lerini işlemek içinComponentActivity
API'leriyle etkileşimde bulunmak için özel sarmalayıcıları sağlar. Daha fazla bilgi için belgeleri inceleyin. - CaptureVideo sözleşmesi:
CaptureVideo
ActivityResultContract
, desteği sonlandırılmışTakeVideo
sözleşmesinin yerini alır ve birçok kamera uygulamasında işe yarayan bir boole değeri döndürür. - Pencere İçinde Pencere İpucu Görünümü İzleme -
activity-ktx
kullanıcıları, artıkActivity
üzerindekitrackPipAnimationHintView
uzantı yöntemini kullanarakPictureInPictureParams
öğesini pencereye göre konumu değiştikçe görünümün yeni konumuyla otomatik olarak yeniden oluşturabilir.
Sürüm 1.3.0-rc02
14 Temmuz 2021
androidx.activity:activity:1.3.0-rc02
, androidx.activity:activity-compose:1.3.0-rc02
ve androidx.activity:activity-ktx:1.3.0-rc02
yayınlandı. Sürüm 1.3.0-rc02 bu kayıtları içerir.
Hata Düzeltmeleri
ActivityResultRegistry
geri çağırmaları artık düzgün bir şekilde kaydedilip geri yüklenmiştir. Böylece, geri çağırmalar recordState'te yinelenmez. (I97816, b/191893160)
Sürüm 1.3.0-rc01
1 Temmuz 2021
1.3.0-beta02
tarihinden itibaren herhangi bir değişiklik yapılmadan androidx.activity:activity:1.3.0-rc01
, androidx.activity:activity-compose:1.3.0-rc01
ve androidx.activity:activity-ktx:1.3.0-rc01
yayınlandı. Sürüm 1.3.0-rc01 bu kayıtları içerir.
Sürüm 1.3.0-beta02
16 Haziran 2021
androidx.activity:activity:1.3.0-beta02
, androidx.activity:activity-compose:1.3.0-beta02
ve androidx.activity:activity-ktx:1.3.0-beta02
yayınlandı. 1.3.0-beta02 sürümü bu kayıtları içerir.
activity-compose
, Oluşturma 1.0.0-beta09
özelliğini temel alacak şekilde güncellendi. androidx.compose.ui:ui-test-junit4
artık activity-compose
üzerinde bir derleme zamanı bağımlılığı içeriyor.
Sürüm 1.3.0-beta01
2 Haziran 2021
androidx.activity:activity:1.3.0-beta01
, androidx.activity:activity-compose:1.3.0-beta01
ve androidx.activity:activity-ktx:1.3.0-beta01
yayınlandı. 1.3.0-beta01 sürümü bu kayıtları içerir.
API Değişiklikleri
- Daha önce desteği sonlandırılmış
@Composable registerForActivityResult()
yöntemi kaldırılmıştır. LütfenrememberLauncherForActivityResult()
kullanın. (Ic39d3)
Sürüm 1.3.0-alpha08
18 Mayıs 2021
androidx.activity:activity:1.3.0-alpha08
, androidx.activity:activity-compose:1.3.0-alpha08
ve androidx.activity:activity-ktx:1.3.0-alpha08
yayınlandı. Sürüm 1.3.0-alpha08 bu kayıtları içerir.
Yeni Özellikler
- Yeni
CaptureVideo
ActivityResultContract
,ActivityResultCallback
öğenize videonuzun belirtilen URI'ye başarıyla kaydedilip kaydedilmediğini gösteren bir boole döndürür. Kamera uygulamaları çok nadir bir şekilde küçük resim bit eşlemi döndürmeyi desteklediğinden bu işlem, artık kullanımdan kaldırılanTakeVideo
sözleşmesinin yerini almıştır ve sonucu faydalı olmaz. (Ie21f2, b/185938070) - Görünüm her hareket ettiğinde PipParams'ın kaynak dikdörtgen ipucunu güncellemek için yeni
Activity#setPipAnimationHintView
API'si eklendi. (I9063d)
API Değişiklikleri
rememberLauncherForActivityResult
işlevi, artıkunregister()
işlevini kullanımdan kaldıran bir başlatıcı döndürüyor. Başlatıcının kaydedilmesi ve kaydının iptal edilmesirememberLauncherForActivityResult
tarafından otomatik olarak gerçekleştirilir. (I2443e)
Oluşturma Uyumluluğu
androidx.activity:activity-compose:1.3.0-alpha08
yalnızca Compose1.0.0-beta07
ve sonraki sürümlerle uyumludur.
Sürüm 1.3.0-alpha07
21 Nisan 2021
androidx.activity:activity:1.3.0-alpha07
, androidx.activity:activity-compose:1.3.0-alpha07
ve androidx.activity:activity-ktx:1.3.0-alpha07
yayınlandı. Sürüm 1.3.0-alpha07 bu kayıtları içerir.
Hata Düzeltmeleri
rememberLauncherForActivityResult
, artık yeniden oluşturmalar nedeniyle sözleşme değişse bile aynıActivityResultLauncher
örneğine sabit bir referans döndürüyor. (Id2d6d)1.3.0
üzerindeki Fragments'ın kararsız sürümlerini kullandığınızda, artık1.3.0
kullanmanızı söyleyen yanlış pozitif lint hatası almazsınız. (aosp/1670206, b/184847092)
Sürüm 1.3.0-alpha06
7 Nisan 2021
androidx.activity:activity:1.3.0-alpha06
, androidx.activity:activity-compose:1.3.0-alpha06
ve androidx.activity:activity-ktx:1.3.0-alpha06
yayınlandı. 1.3.0-alpha06 sürümü bu kayıtları içerir.
API Değişiklikleri
registerForActivityResult()
API, döndürülenActivityResultLauncher
öğesinin sizin adınıza hatırlanan yönetilen bir nesne olduğunu daha iyi belirtmek içinrememberLauncherForActivityResult()
olarak yeniden adlandırıldı. DöndürülenActivityResultLauncher
,unregister
çağrılmaya çalışıldığında hata verecek. (I2bb6d)LocalOnBackPressedDispatcherOwner.current
veLocalActivityResultRegistryOwner.current
artık mevcut bestede mevcut olup olmadığını daha iyi belirlemek için boş değer döndürüyor. Bu API'leri gerektirenBackHandler
verememberLauncherForActivityResult()
gibi API'ler, artık temel sahibi bulunamazsa daha açıklayıcı bir hata verecek.NavHost
artık birOnBackPressedDispatcherOwner
bulunamadığında bile çalışıyor.NavHost
önizlenirken durum böyledir. (I7d8b4)
Hata Düzeltmeleri
BackHandler
, artık EtkinliğinSTOPPED
, ardından tekrarSTARTED
ve bir LifecycleOwner ile diğer geri çağırmaların eklenmiş olması durumunda geri basmaları düzgün bir şekilde keser. (I71de6, b/182284739)launch()
yöntemi uzantısını,Unit
girişi olan özel birActivityResultContract
ile kullanmak artıkNullPointerException
(I76282, b/183837954)
Sürüm 1.3.0-alpha05
24 Mart 2021
androidx.activity:activity:1.3.0-alpha05
, androidx.activity:activity-compose:1.3.0-alpha05
ve androidx.activity:activity-ktx:1.3.0-alpha05
yayınlandı. Sürüm 1.3.0-alpha05 bu kayıtları içerir.
Hata Düzeltmeleri
- Etkinlik 1.2.2'de: Fragment 1.3.1 veya sonraki sürümler kullanılırken yanlış pozitife neden olan
InvalidFragmentVersionForActivityResult
hata analizi kontrolünde bir sorun düzeltildi. (I54da1, b/182388985) - 1.2.2 Etkinliği'nden:
ComponentActivity
, daha önce başka birIntent
'da ekstra olarak tutulan birActivityResultContract
öğesininIntent
lansmanını yaparkenClassNotFoundException
kullanmaktan kaçınıyor. (Ieff05, b/182906230)
Bağımlılık Güncellemeleri
- 1.2.2 etkinliği'nden: Etkinlik artık Yaşam Döngüsü
2.3.1
'ne bağlıdır.
Sürüm 1.3.0-alpha04
10 Mart 2021
androidx.activity:activity:1.3.0-alpha04
, androidx.activity:activity-compose:1.3.0-alpha04
ve androidx.activity:activity-ktx:1.3.0-alpha04
yayınlandı. 1.3.0-alpha04 sürümü bu kayıtları içerir.
Hata Düzeltmeleri
1.2.1
etkinliğinde:RequestMultiplePermissions
artık yalnızca daha önce verilmemiş izinler yerine istenen tüm izinler için sonuçları her zaman döndürüyor. (I50bc3, b/180884668)1.2.1
Etkinliğinden:ActivityResultRegistry
artık devam edenlaunch()
isteklerinin,unregister()
ve ardından aynı anahtarla tekrarregister()
işlemi gerçekleştirseniz bile sonuç döndürmesini sağlar. (I9ef34, b/181267562)- Etkinlik Yazma artık çalışma zamanı sınıf yoluna test bağımlılığı eklememektedir. (Ifd8b3)
BackHandler
ile ilgili olarak, daha önce ayarlananonBack
lambda'nın yeniden oluşturma sonrasında kullanılmaya devam etmesine neden olan sorun düzeltildi. (8eb5eb)
Sürüm 1.3.0-alpha03
24 Şubat 2021
androidx.activity:activity:1.3.0-alpha03
, androidx.activity:activity-compose:1.3.0-alpha03
ve androidx.activity:activity-ktx:1.3.0-alpha03
yayınlandı. Sürüm 1.3.0-alpha03 bu kaydetmeleri içerir.
Yeni Özellikler
- Artık composable'lar içindeki etkinliklerden sonuç almak için bir Composable
registerForActivityResult
işlevi var. (Ia7851, b/172690553)
API Değişiklikleri
LocalOnBackPressedDispatcherOwner
,asProvidableCompositionLocal()
API'nin yerine geçerekCompositionLocalProvider
ile kullanılabilen birprovides
işlevine sahiptir. (I45d24)
Sürüm 1.3.0-alpha02
10 Şubat 2021
androidx.activity:activity:1.3.0-alpha02
, androidx.activity:activity-compose:1.3.0-alpha02
ve androidx.activity:activity-ktx:1.3.0-alpha02
yayınlandı. 1.3.0-alpha02 sürümü bu kayıtları içerir.
Hata Düzeltmeleri
- Etkinlik Oluşturma
1.3.0-alpha01
özelliğinde, Oluştur1.0.0-alpha12
kullanılırkenNoSuchMethodError: No static method setContent
istisnasına neden olan bir sorun düzeltildi. Tüm Compose kullanıcıları1.3.0-alpha02
ve sonraki sürümlere bağlı olmalıdır. (b/179911234)
API Değişiklikleri
- Composable öğesinin sistem geri düğmesine müdahale etmesine izin vermek için
BackHandler
API kullanılabilir. (I58ed5, b/172154006)
Sürüm 1.3.0-alpha01
10 Şubat 2021
androidx.activity:activity:1.3.0-alpha01
, androidx.activity:activity-compose:1.3.0-alpha01
ve androidx.activity:activity-ktx:1.3.0-alpha01
yayınlandı. Sürüm 1.3.0-alpha01 bu kayıtları içerir.
Yeni Özellikler
- Yeni
activity-compose
yapısı,androidx.activity
'e özgü API'ler için Jetpack Compose'a özel yardımcılar sağlar.ComponentActivity.setContent
,androidx.compose.ui.platform.setContent
kuruluş birimindenandroidx.activity.compose.setContent
kuruluş birimine taşındı. (Icf416)
Bilinen Sorunlar
- Etkinlik Yazma
1.3.0-alpha01
ve buna bağlı kitaplıkların (ör.androidx.compose.ui:ui-test-junit4:1.0.0-alpha12
) kullanılmasıNoSuchMethodError: No static method setContent
istisnasına neden olur. (b/179911234)
Sürüm 1.2.4
Sürüm 1.2.4
21 Temmuz 2021
androidx.activity:activity:1.2.4
ve androidx.activity:activity-ktx:1.2.4
yayınlandı. Sürüm 1.2.4 bu kayıtları içerir.
Hata Düzeltmeleri
1.3.0-rc02
Etkinliği'nde: ActivityResultRegistry geri çağırmaları artık düzgün bir şekilde kaydedilip geri yükleniyor. Böylece geri çağırmalar recordState'te yinelenmez. (I97816, b/191893160)
Sürüm 1.2.3
Sürüm 1.2.3
5 Mayıs 2021
androidx.activity:activity:1.2.3
ve androidx.activity:activity-ktx:1.2.3
yayınlandı. 1.2.3 sürümü bu kayıtları içerir.
Hata Düzeltmeleri
launch()
yöntemi uzantısını,Unit
girişi olan özel birActivityResultContract
ile kullanmak artıkNullPointerException
(I76282, b/183837954)- Fragments'ın daha yeni bir sürümünün anlık görüntüsü, alfa, beta veya RC derlemesini kullanırken Fragment
1.3.0
öğesini kullanmanızı isteyen yanlış pozitif lint hatası düzeltildi. (f4a57e, b/184847092)
Sürüm 1.2.2
Sürüm 1.2.2
24 Mart 2021
androidx.activity:activity:1.2.2
ve androidx.activity:activity-ktx:1.2.2
yayınlandı. 1.2.2 sürümü bu kayıtları içerir.
Hata Düzeltmeleri
InvalidFragmentVersionForActivityResult
hata analizi kontrolünde, Fragment 1.3.1 veya sonraki sürümler kullanılırken yanlış pozitife neden olan bir sorun düzeltildi. (I54da1, b/182388985)ComponentActivity
, daha önce başka birIntent
içinde ekstra olarak tutulanActivityResultContract
öğesindenIntent
başlatılırkenClassNotFoundException
işleminden kaçınıyor. (Ieff05, b/182906230)
Bağımlılık Güncellemeleri
- Etkinlik artık Yaşam Döngüsü
2.3.1
'ne bağlıdır.
Sürüm 1.2.1
Sürüm 1.2.1
10 Mart 2021
androidx.activity:activity:1.2.1
ve androidx.activity:activity-ktx:1.2.1
yayınlandı. Sürüm 1.2.1 bu kayıtları içerir.
Hata Düzeltmeleri
RequestMultiplePermissions
artık yalnızca daha önce verilmemiş izinler yerine, her zaman istenen tüm izinler için sonuçlar döndürüyor. (I50bc3, b/180884668)ActivityResultRegistry
artık devam edenlaunch()
isteklerinin,unregister()
, ardından aynı anahtarı kullanarakregister()
işlemi yapsanız bile kendi sonuçlarını döndürmesini sağlıyor. (I9ef34, b/181267562)
Sürüm 1.2.0
Sürüm 1.2.0
10 Şubat 2021
androidx.activity:activity:1.2.0
ve androidx.activity:activity-ktx:1.2.0
yayınlandı. 1.2.0 sürümü bu kayıtları içerir.
1.1.0 sürümünden beri yapılan önemli değişiklikler
- Etkinlik Sonucu API'leri:
ComponentActivity
artık hemstartActivityForResult()
+onActivityResult()
akışlarını hem derequestPermissions()
+onRequestPermissionsResult()
akışlarını Etkinliğinizdeki veya Fragment'ınızdaki yöntemleri geçersiz kılmadan yönetmenize olanak tanıyan birActivityResultRegistry
sağlıyor,ActivityResultContract
ile daha fazla tür güvenliği getiriyor ve bu akışları test etmek için kancalar sağlıyor. Güncellenen Etkinlikten Sonuç Alma konusuna bakın.
ContextAware
:ComponentActivity
artıkContextAware
özelliğini uyguluyor. Böylece,Activity.onCreate()
temel öğesinden önce geri çağırma alacak bir veya daha fazlaOnContextAvailableListener
örneği eklemenize olanak tanıyor.- Askıya alınan Kotlin uzantısı (
withContextAvailable()
), Bağlam kullanılabilir olduğunda askıya alma işlemi yapılmayan bir blok çalıştırmanıza ve sonuç döndürmenize olanak tanır. - Bu API,
FragmentActivity
tarafından Parça 1.3.0'daFragmentManager
durumunu geri yüklemek için kullanılır.FragmentActivity
alt sınıflarına eklenen tüm işleyiciler, ilgili işleyiciden sonra çalıştırılır. - Bu API,
AppCompatActivity
tarafından AppCompat 1.3.0-alpha02 veya sonraki sürümlerde kullanılır.AppCompatActivity
alt sınıflarına eklenen tüm işleyiciler, ilgili işleyiciden sonra çalıştırılır.
- Askıya alınan Kotlin uzantısı (
ViewTree
Desteği:ComponentActivity
artık Yaşam Döngüsü2.3.0
ve Kayıtlı Durum1.1.0
'a eklenenViewTreeLifecycleOwner.get(View)
,ViewTreeViewModelStoreOwner.get(View)
veViewTreeSavedStateRegistryOwner
API'lerini desteklemektedir. Böylece, doğrudanComponentActivity
'a eklenen tüm görünümler için EtkinliğiLifecycleOwner
,ViewModelStoreOwner
veSavedStateRegistryOwner
olarak döndürecektir.
- reportFullyDrawn() geri bağlantı noktası -
reportFullyDrawn()
öğesininActivity
yöntemi, tüm API düzeylerinde çalışmak ve API 19'daki kilitlenmeyi düzelterek tüm API düzeylerinde bu yönteme yönelik izleme eklemek üzereComponentActivity
içinde geri taşındı.
Sürüm 1.2.0-rc01
16 Aralık 2020
androidx.activity:activity:1.2.0-rc01
ve androidx.activity:activity-ktx:1.2.0-rc01
yayınlandı. Sürüm 1.2.0-rc01 bu kayıtları içerir.
Hata Düzeltmeleri
ActivityResultRegistry
artık her zaman tam olarak kaydedilen durumu geri yüklüyor. (Idd56b)ComponentActivity.reportFullyDrawn
için iz ekle (Ic7632)
Harici Katkı
ComponentActivity
artıkreportFullyDrawn()
öğesini geçersiz kılarak tüm API düzeylerinde çağrılmasına ve API 19 cihazlarda uygun sistem izni olmadan bu yöntem çağrılırken oluşan kilitlenmenin düzeltilmesine olanak tanıyor. Teşekkürler Simon Schiller. (b/163239764, #103)
Sürüm 1.2.0-beta02
2 Aralık 2020
androidx.activity:activity:1.2.0-beta02
ve androidx.activity:activity-ktx:1.2.0-beta02
yayınlandı. Sürüm 1.2.0-beta02 bu kayıtları içerir.
Hata Düzeltmeleri
- Activity Result API'nin
Lifecycle
ile kaydettirildiğinde sonuç yayınlamadan önce Yaşam DöngüsününSTARTED
olmasını beklememesi sorunu düzeltildi. (I109ea)
Harici Katkı
launch()
dokümanları,ActivityNotFoundException
hatası verebileceğini açıkça belirtecek şekilde güncellendi. Teşekkürler Michał Zieliński. (aosp/1493580)
Sürüm 1.2.0-beta01
1 Ekim 2020
androidx.activity:activity:1.2.0-beta01
ve androidx.activity:activity-ktx:1.2.0-beta01
yayınlandı. Sürüm 1.2.0-beta01 bu kayıtları içerir.
Hata Düzeltmeleri
ActivityResultRegistry
artıkregister()
istek kodu olarak kullanmak üzere ayrılmamış bir tam sayı bulana kadar rastgele tam sayılar oluşturur. Böylece, artan istek kodlarından kaynaklanan olası tam sayı taşmalarını önler. (b/168779518)ActivityResultLauncher
üzerindeunregister()
çağrılırkenLifecycle
gözlemcileri düzgün şekilde kaldırılır. (b/165608393)
Davranış Değişiklikleri
ActivityResultRegistry
artıkLifecycle
değeriSTARTED
olan birLifecycleOwner
ileregister()
çağrısı yapmaya çalıştığındaIllegalStateException
hatası veriyor. (b/165435866)
Dokümanlar Güncellendi
ContextAware
dokümanları,Lifecycle
geri çağırma işlemini oluşturma ve yok etme etkinliklerine uygun yer olarak vurgulamak içinLifecycleOwner
bağlantısı verir. (aosp/1414152)
Sürüm 1.2.0-alpha08
19 Ağustos 2020
androidx.activity:activity:1.2.0-alpha08
ve androidx.activity:activity-ktx:1.2.0-alpha08
yayınlandı. Sürüm 1.2.0-alpha08 bu kayıtları içerir.
Yeni Özellikler
ComponentActivity
artıkContextAware
yöntemini uyguluyor. Böylece, temelActivity.onCreate()
öğesinden önce geri çağırma alacak bir veya daha fazlaOnContextAvailableListener
örneği ekleyebilirsiniz. (b/161390636)- Askıya alınan Kotlin uzantısı (
withContextAvailable()
), Bağlam kullanılabilir olduğunda askıya alma işlemi yapılmayan bir blok çalıştırmanıza ve sonuç döndürmenize olanak tanır. (I8290c) - Bu API,
FragmentActivity
tarafından Fragment 1.3.0-alpha08'deFragmentManager
durumunu geri yüklemek için kullanılır.FragmentActivity
alt sınıflarına eklenen tüm işleyiciler, ilgili işleyiciden sonra çalıştırılır. (I513da) - Bu API, AppCompat 1.3.0-alpha02 sürümünde
AppCompatActivity
tarafından kullanılır.AppCompatActivity
alt sınıflarına eklenen tüm işleyiciler, ilgili işleyiciden sonra çalıştırılır. (I513da)
- Askıya alınan Kotlin uzantısı (
Hata Düzeltmeleri
- Lint 27.1.0 veya sonraki sürümleri kullanırken
ActivityResultFragmentVersionDetector
Lint denetimiyle ilgili sorunun bozulmasına neden olan sorun düzeltildi. (b/162155191)
Sürüm 1.2.0-alpha07
22 Temmuz 2020
androidx.activity:activity:1.2.0-alpha07
ve androidx.activity:activity-ktx:1.2.0-alpha07
yayınlandı. Sürüm 1.2.0-alpha07 bu kayıtları içerir.
Yeni Özellikler
- Activity Result API'sini kullanırken Fragment
1.3.0-alpha07
öğesini kullandığınızı doğrulayan yeni birInvalidFragmentVersionForActivityResult
lint denetimi eklendi. Böylece, "geçersiz istek kodu" sorunlarından kaynaklanan çalışma zamanı kilitlenmelerini ve Fragments'ın eski sürümlerini kullanmanın neden olduğu çalışmayan izin isteklerinden kaçınabilirsiniz. (b/152554847)
Harici Katkı
RequestPermission
Etkinlik Sonucu sözleşmesi için sonuçlar ayrıştırılırken olanArrayIndexOutOfBoundsException
düzeltildi. (I8f9e3, b/161057605)
Sürüm 1.2.0-alpha06
10 Haziran 2020
androidx.activity:activity:1.2.0-alpha06
ve androidx.activity:activity-ktx:1.2.0-alpha06
yayınlandı. Sürüm 1.2.0-alpha06 bu kaydetmeleri içerir.
Yeni Özellikler
- Artık
requestCode
veintent
öğelerine doğrudan erişmek için kotlin'deActivityResult
sınıfını yapılandırabilirsiniz. (b/157212935) ActivityResultLauncher
artık başlatıcıyı kaydetmek için kullanılanActivityResultContract
uygulamasını almanıza olanak tanıyor. (b/156875743)
API Değişiklikleri
- Zarar veren değişiklik:
ActivityResultRegistry
üzerindekiinvoke()
yöntemi,onLaunch()
olarak yeniden adlandırıldı. (b/157496491) - Hiçbir sonuç döndürülmezse
OpenMultipleDocuments
sözleşmesi artık kayıtlı geri çağırmayanull
yerine boş bir liste döndürüyor. (b/157348014)
Sürüm 1.2.0-alpha05
20 Mayıs 2020
androidx.activity:activity:1.2.0-alpha05
ve androidx.activity:activity-ktx:1.2.0-alpha05
yayınlandı. Sürüm 1.2.0-alpha05 bu kayıtları içerir.
Yeni Özellikler
ComponentActivity
içindeView
kullanılırken2.3.0-alpha03
Yaşam Döngüsü'ndenViewTreeViewModelStoreOwner
ve KayıtlıState1.1.0-alpha01
'tenViewTreeSavedStateRegistryOwner
için destek eklendi. (aosp/1297993, aosp/1300264)
API Değişiklikleri
TakePicture
sözleşmesi artıkBitmap
küçük resmi yerine, başarılı olduğunu belirten birboolean
döndürüyor. Çünkü küçük resim, sağlananUri
öğesine resim yazılırken kamera uygulamaları tarafından çok nadiren destekleniyordu. (b/154302879)ActivityResultLauncher
sitesindekiinvoke()
uzantıları kaldırıldı. Bunun yerine, bunların eşzamansız işlemler olduğunu daha iyi belirtmek amacıyla açık bir şekildelaunch()
kullanıldı.ActivityResultLauncher<Void>
veActivityResultLauncher<Unit>
içinandroidx.activity.result
paketinelaunch
için Kotlin uzantıları eklendi. Bu uzantılar, sırasıylanull
veyaUnit
içinde geçme ihtiyacını ortadan kaldırarak öncekiinvoke()
uzantılarındaki davranışı yansıtır. (aosp/1304674, aosp/1304675)setFlagsMask()
vesetFlagsValues()
içinIntentSenderRequest.Builder
yöntemleri tek birsetFlags()
yönteminde birleştirildi. (aosp/1302111)
Hata Düzeltmeleri
- Bir
ActivityResultCallback
,LifecycleOwner
ile kaydettirilirken durumSTARTED
ulaşmadan önce geri çağırmanın tetiklenmesine neden olan bir sorun düzeltildi. (aosp/1309744)
Davranış Değişiklikleri
ActivityResultRegistry
artık0
yerine0xFFFF
ile başlayan istek kodları oluşturarak bir etkinliktestartActivityForResult()
veyarequestPermissions()
kullanıldığında çakışmayı önler. (aosp/1302324)
Sürüm 1.2.0-alpha04
29 Nisan 2020
androidx.activity:activity:1.2.0-alpha04
ve androidx.activity:activity-ktx:1.2.0-alpha04
yayınlandı. Sürüm 1.2.0-alpha04 bu kayıtları içerir.
Yeni Özellikler
- ActivityResult API'lerine startIntentGönderenForResult öğesini çağırabilecek bir sözleşme eklendi. (b/153007517)
API Değişiklikleri
prepareCall()
yöntemi, hemComponentActivity
hem de1.3.0-alpha04
parçasındaregisterForActivityResult()
olarak yeniden adlandırıldı. (aosp/1278717)GetContents
,OpenDocuments
veRequestPermissions
sözleşmeleri, sırasıylaGetMultipleContents
,OpenMultipleDocuments
veRequestMultiplePermissions
olarak yeniden adlandırıldı. (aosp/1280161)ComponentActivity
artıkActivityResultRegisteryOwner
arayüzünü uyguluyor. (aosp/1290888)- -
ComponentActivity
üzerindekistartActivityForResult()
/onActivityResult()
veonRequestPermissionsResult()
API'lerinin desteği sonlandırıldı. Lütfen Etkinlik Sonucu API'lerini kullanın. (b/154751887)
Hata Düzeltmeleri
GetMultipleContents
veOpenMultipleDocuments
sözleşmelerini kullanırken ve tek bir öğe seçerken, bu öğe artık doğru şekilde geri çağırmanıza döndürülür. (b/152941153)
Sürüm 1.2.0-alpha03
1 Nisan 2020
androidx.activity:activity:1.2.0-alpha03
ve androidx.activity:activity-ktx:1.2.0-alpha03
yayınlandı. Sürüm 1.2.0-alpha03 bu kayıtları içerir.
Yeni Özellikler
ActivityResultContracts
tarafından sağlanan önceden oluşturulmuş sözleşmeler grubunaTakeVideo
,PickContact
,GetContent
,GetContents
,OpenDocument
,OpenDocuments
,OpenDocumentTree
veCreateDocument
sözleşmeleri eklendi. (aosp/1262482, aosp/1266916, aosp/1268960)- Activity Result API'leri artık isteğe bağlı
ActivityOptionsCompat
ile sonuç için bir etkinliğin başlatılmasını destekliyor. (b/151860054)
API Değişiklikleri
TakePicture
sözleşmesi artık resmin depolanacağı yer içinUri
girişi alıyor. Herhangi bir girdi almayan önceki sözleşmeTakePicturePreview
olarak yeniden adlandırıldı. (aosp/1262482)ActivityResultRegistry
üzerindekiregisterActivityResultCallback()
yöntemi,register()
olarak yeniden adlandırıldı. (aosp/1267621)ActivityResultLauncher
alan adındakidispose()
yöntemiunregister()
olarak yeniden adlandırıldı veActivityResultRegistry
üzerindekiunregisterResultCallback()
kaldırıldı. (aosp/1267621)ActivityResultContact
createIntent()
yöntemi, açık Intent'lerin oluşturulabilmesi için artık girişe ek olarak birContext
alıyor. (aosp/1238800)ActivityResultContract
artıkgetSynchronousResult()
öğesini geçersiz kılarakstartActivityForResult
çağrılmadan bir sonuç gönderebilir. Bu değer, istenen izinler zaten verilmişse "verildi" durumunu doğru şekilde sunmak içinRequestPermission
veRequestPermissions
sözleşmeleri tarafından kullanılır. (b/151110799)Intent
,startActivityForResult()
ile kullanılmak üzere tasarlanmadığından önceden mevcut olanDial
sözleşmesi kaldırıldı. (aosp/1266916)- Genişletilmesi amaçlanmamış olan Activity Result API'lerin çoğu artık
final
olarak sunulmaktadır.getActivityResultRegistry()
,prepareCall()
yöntemleri,invoke()
hariç tümActivityResultRegistry
yöntemleri ve isteğe bağlı ekstraları desteklemeyen bir dizi varsayılan sözleşme buna dahildir. (b/152439361)
Hata Düzeltmeleri
- Yapılandırma değişikliğinden sonra henüz yeniden kaydedilmemiş bir geri çağırmaya sonuç teslim edilmeye çalışıldığında
ActivityResultRegistry
alanındakiNullPointerException
sorunu düzeltildi.ActivityResultRegistry
artık bu bekleyen sonuçları bekletiyor ve geri çağırma yeniden kaydedildiğinde bunları iletiyor. (b/152137004)
Sürüm 1.2.0-alpha02
18 Mart 2020
androidx.activity:activity:1.2.0-alpha02
ve androidx.activity:activity-ktx:1.2.0-alpha02
yayınlandı. Sürüm 1.2.0-alpha02 bu kaydetmeleri içerir.
Yeni Özellikler
- ActivityResultRegistry:
ComponentActivity
artık hemstartActivityForResult()
+onActivityResult()
hem derequestPermissions()
+onRequestPermissionsResult()
akışlarını Etkinliğinizdeki veya Fragment'ınızdaki yöntemleri geçersiz kılmadan yönetmenize olanak tanıyan,ActivityResultContract
aracılığıyla daha fazla tür güvenliği getiriyor ve bu akışları test etmek için kancalar sağlıyor.ActivityResultRegistry
Güncellenen Etkinlikten Sonuç Alma konusuna bakın. (b/125158199)
Sürüm 1.2.0-alpha01
4 Mart 2020
androidx.activity:activity:1.2.0-alpha01
ve androidx.activity:activity-ktx:1.2.0-alpha01
yayınlandı. Sürüm 1.2.0-alpha01 bu kayıtları içerir.
Yeni Özellikler
- Yaşam Döngüsü
2.3.0-alpha01
'neViewTreeLifecycleOwner.get(View)
API'si için destek eklendi. Böylece bu API, doğrudan Etkinlik'e eklenen tüm Görünümler için EtkinliğiLifecycleOwner
olarak döndürecek. (aosp/1182955)
Hata Düzeltmeleri
- Platformun eski sürümlerinde çalışırken
1.1.0
etkinliğinde ortaya çıkan veandroid.app.FragmentManager
öğesindeki bir hata nedeniyleonBackPressed()
ürünününIllegalStateException
neden olmasına yol açan bir regresyon düzeltildi. (b/146290338)
Sürüm 1.1.0
Sürüm 1.1.0
22 Ocak 2020
androidx.activity:activity:1.1.0
yayınlandı. Sürüm 1.1.0 bu kayıtları içerir.
1.0.0 sürümünden sonraki önemli değişiklikler
- Yaşam Döngüsü ViewModel KaydedilmişState Entegrasyonu:
SavedStateViewModelFactory
artıkby viewModels()
,ViewModelProvider
oluşturucu veyaViewModelProviders.of()
,ComponentActivity
veya alt sınıflarıyla kullanılırken varsayılan fabrika olarak kullanılıyor.
Sürüm 1.1.0-rc03
4 Aralık 2019
androidx.activity:activity:1.1.0-rc03
ve androidx.activity:activity-ktx:1.1.0-rc03
yayınlandı. Sürüm 1.1.0-rc03 bu kayıtları içerir.
Bağımlılık değişiklikleri
- Etkinlik artık
2.2.0-rc03
Yaşam Döngüsü ve Yaşam Döngüsü ViewModel KaydedilmişState1.0.0-rc03
Yaşam Döngüsüne bağlıdır.
Sürüm 1.1.0-rc02
7 Kasım 2019
androidx.activity:activity:1.1.0-rc02
ve androidx.activity:activity-ktx:1.1.0-rc02
yayınlandı. Sürüm 1.1.0-rc02 bu kayıtları içerir.
Bağımlılık değişiklikleri
- Etkinlik artık
2.2.0-rc02
yaşam döngüsüne bağlıdır.
Sürüm 1.1.0-rc01
23 Ekim 2019
1.1.0-beta01
tarihinden itibaren herhangi bir değişiklik yapılmadan androidx.activity:activity:1.1.0-rc01
ve androidx.activity:activity-ktx:1.1.0-rc01
yayınlandı. Sürüm 1.1.0-rc01 bu kayıtları içerir.
Sürüm 1.1.0-beta01
9 Ekim 2019
androidx.activity:activity:1.1.0-beta01
ve androidx.activity:activity-ktx:1.1.0-beta01
yayınlandı. Sürüm 1.1.0-beta01 bu kayıtları içerir.
Bağımlılık değişiklikleri
- Etkinlik artık KaydedilenState 1.0.0 kararlı sürümüne bağlıdır.
Sürüm 1.1.0-alpha03
5 Eylül 2019
androidx.activity:activity:1.1.0-alpha03
ve androidx.activity:activity-ktx:1.1.0-alpha03
yayınlandı. Bu sürümdeki kaydetmeleri burada bulabilirsiniz.
Yeni özellikler
- Şu an için etkinlikler Core 1.1.0'ın kararlı sürümüne bağlıdır.
Hata düzeltmeleri
- Etkinlik artık Yaşam Döngüsü
2.2.0-alpha04
'ne bağlıdır.
Sürüm 1.1.0-alpha02
7 Ağustos 2019
androidx.activity:activity:1.1.0-alpha02
ve androidx.activity:activity-ktx:1.1.0-alpha02
yayınlandı. Bu sürümdeki kaydetmeleri burada bulabilirsiniz.
Yeni özellikler
SavedStateViewModelFactory
artıkby viewModels()
,ViewModelProvider
oluşturucu veyaComponentActivity
(b/135716331) ileViewModelProviders.of()
kullanılırken varsayılan fabrika olarak kullanılır
Sürüm 1.1.0-alpha01
2 Temmuz 2019
androidx.activity:activity:1.1.0-alpha01
ve androidx.activity:activity-ktx:1.1.0-alpha01
yayınlandı. Bu sürümdeki kaydetmeleri burada bulabilirsiniz.
Yeni özellikler
activity
artık2.2.0-alpha02
Yaşam Döngüsüne bağlı. (aosp/1007817)activity-ktx
,lifecycle-runtime-ktx
üzerinde bir bağımlılık ekledi.activity-ktx
veyaactivity-ktx
öğesine bağlı kitaplıkları (ör.fragment-ktx
) kullanırken artık bunu bağımlılıklarınıza açıkça eklemeniz gerekmiyor. (aosp/987162)
Sürüm 1.0.0
Sürüm 1.0.0
5 Eylül 2019
androidx.activity:activity:1.0.0
ve androidx.activity:activity-ktx:1.0.0
yayınlandı. Bu sürümdeki kaydetmeleri burada bulabilirsiniz.
1.0.0'ın Temel Özellikleri
- componentActivity:
ComponentActivity
, Fragment1.1.0
içindeFragmentActivity
için ve uzantı olarak AppCompat1.1.0
içindeAppCompatActivity
için yeni temel sınıf olarak kullanılır. - activity-ktx:
activity-ktx
modülü, ViewModels'e erişmek içinby viewModels
Kotlin mülk uzantısı içerir.1.1.0
Parçasındanfragment-ktx
öğesini eklediğinizde bu modül otomatik olarak dahil edilir. - OnBackBasınedDispatcher:
onBackPressed()
geçersiz kılmaya alternatif olarak, sistem geri düğmesi etkinliklerine müdahale etmek için artık herhangi birLifecycleOwner
öğesinden (parça gibi) birOnBackPressedCallback
kaydedebilirsiniz.activity-ktx
adlı alıcıyaaddCallback
alıcı sürümüne sahip bir lambda eklendi. Daha ayrıntılı bilgi için Özel geri gezinme dokümanları sağlama bölümüne bakın. - onKeepCustomNonConfigurationInstance özelliğinin kullanımdan kaldırılması:
onRetainCustomNonConfigurationInstance()
ve ilgiligetLastCustomNonConfigurationInstance()
API'lerinin desteği sonlandırılmıştır. Yapılandırma dışı durumu depolamak için ViewModels kullanmanız önemle tavsiye edilir. Bu çözümler, saklanan nesnelerin sahipliğini netleştiren herhangi birViewModelStoreOwner
için uygun oluşturulabilir bir çözüm sunar ve etkinlik nihayetinde kaldırıldığında kaynakları temizlemek içinonCleared()
geri çağırması sağlar.
Sürüm 1.0.0-rc01
2 Temmuz 2019
1.0.0-beta01
tarihinden itibaren herhangi bir değişiklik yapılmadan androidx.activity:activity:1.0.0-rc01
ve androidx.activity:activity-ktx:1.0.0-rc01
yayınlandı. Bu sürümdeki kaydetmeleri burada bulabilirsiniz.
Sürüm 1.0.0-beta01
5 Haziran 2019
1.0.0-alpha08
tarihinden itibaren herhangi bir değişiklik yapılmadan androidx.activity::activity:1.0.0-beta01
ve androidx.activity:activity-ktx:1.0.0-beta01
yayınlandı. Bu sürümdeki kaydetmeleri burada bulabilirsiniz.
Sürüm 1.0.0-alpha08
7 Mayıs 2019
androidx.activity:activity:1.0.0-alpha08
ve androidx.activity:activity-ktx:1.0.0-alpha08
yayınlandı. Bu sürümdeki kaydetmeleri burada bulabilirsiniz.
API değişiklikleri
- Zarar veren değişiklik:
ComponentActivity
üzerindeki daha önce kullanımdan kaldırılanaddOnBackPressedCallback
veremoveOnBackPressedCallback
yöntemleri kaldırıldı. aosp/953857 OnBackPressedCallback
kapsamındakisetEnabled()
veisEnabled()
yöntemleri artık nihaidir. b/131416833OnBackPressedCallback
içinremove()
yöntemi artık kesindir. aosp/952720OnBackPressedDispatcher
artık test amacıyla kendi örneklerinizi oluşturmanıza olanak tanıyan genel oluşturuculara sahiptir. aosp/953431ComponentActivity
içinonBackPressed()
artık açıkça@MainThread
aosp/952721 olarak işaretli
Hata düzeltmeleri
LifecycleOwner
ile eklenen birOnBackPressedCalback
öğesininhandleOnBackPressed()
yöntemindenremove()
çağrısı yapılırken oluşanConcurrentModificationException
düzeltildi. b/131765095
Sürüm 1.0.0-alpha07
25 Nisan 2019
androidx.activity:activity:1.0.0-alpha07
ve androidx.activity:activity-ktx:1.0.0-alpha07
yayınlandı. Bu sürümdeki kaydetmeleri burada bulabilirsiniz.
API değişiklikleri
Bu sürümde, onBackPressed()
öğelerinin işleyişiyle ilgili önemli değişiklikler yapılmıştır. Daha ayrıntılı bilgi için güncellenen özel eski dokümanlara bakın.
OnBackPressedCallback
veOnBackPressedDispatcher
için yöntemler@MainThread
olarak işaretlendi. (aosp/943813)handleOnBackPressed()
yöntemi artıkboolean
döndürmez. Bunun yerine,OnBackPressedCallback
artık etkinleştirilebilen veya devre dışı bırakılabilen soyut bir sınıftır. Yalnızca yeniisEnabled()
yöntemi true (doğru) değerini döndürdüğündehandleOnBackPressed()
çağrılır ve geri düğmesini işlemeniz zorunludur. (aosp/944518)OnBackPressedDispatcher
addCallback
yöntemleri artıkCancellable
örneği döndürmüyor.OnBackPressedCallback
artık bu işlevi yerine getiren birremove()
yöntemi içeriyor. BöylecehandleOnBackPressed()
sırasındaremove()
yöntemini çağırabilirsiniz. (aosp/944519) (aosp/946316)activity-ktx
artıkaddCallback
için,handleOnBackPressed()
uygulayan veisEnabled
ileremove()
özelliklerine erişimi olan bir lamdba'yı kabul eden alıcı kapsamlı geri çağırma içeriyor (aosp/944520)
Sürüm 1.0.0-alpha06
3 Nisan 2019
androidx.activity:activity:1.0.0-alpha06
ve androidx.activity:activity-ktx:1.0.0-alpha06
yayınlandı. Bu sürümdeki kaydetmeleri burada bulabilirsiniz.
API değişiklikleri
- componentActivity artık
@LayoutRes int
öğesini alan ikinci bir kurucu içeriyor. Bu oluşturucu, AppCompatActivity sınıfınıza ilişkin önceki not ekleme davranışını@ContentView
ile değiştirir. Bu yaklaşım hem uygulama hem de kitaplık modüllerinde çalışır. (b/128352521) - ComponentActivity üzerindeki
OnBackPressedCallback
ile ilgili API'lerin desteği sonlandırıldı ve yerinigetOnBackPressedDispatcher()
aracılığıyla alınabilen yeniOnBackPressedDispatcher
kullanıma sunuldu. (aosp/922523) OnBackPressedDispatcher
öğesine yeni birOnBackPressedCallback
ekleme yöntemleri artıkCancellable
nesnesini döndürerekOnBackPressedDispatcher
öğesine açık bir referans gerektirmeden geri çağırmanın kaldırılmasına olanak tanır. (aosp/922523)- İlişkilendirilmiş
LifecycleOwner
içeren birOnBackPressedCallback
eklendiğinde, Yaşam Döngüsü başlatılır ve durdurulurken artıkOnBackPressedCallback
öğesi eklenir ve kaldırılır. (aosp/922523)
Sürüm 1.0.0-alpha05
13 Mart 2019
androidx.activity:activity:1.0.0-alpha05
ve
androidx.activity:activity-ktx:1.0.0-alpha05
yayınlandı. Bu sürüme dahil edilen kaydetmelerin tam listesini burada bulabilirsiniz.
Yeni özellikler
@ContentView
ek açıklama araması artık önbelleğe alındı (b/123709449)
Sürüm 1.0.0-alpha04
30 Ocak 2019
androidx.activity:activity 1.0.0-alpha04
ve androidx.activity:activity-ktx 1.0.0-alpha04
yayınlandı.
Yeni özellikler
setContentView()
kullanımına alternatif olarak hangi düzen XML dosyasının şişirilmesi gerektiğini belirtmenize olanak tanıyan@ContentView
sınıfı ek açıklaması için destek eklendi. (aosp/837619)
API değişiklikleri
getViewModelStore()
öğesinin geçersiz kılınmaması gerektiğine ve gelecekteki bir sürümde kesinleştirileceğine dair bir not eklendi. Şu anda bu yöntemi geçersiz kılıyorsanız lütfen bir özellik isteği gönderin. (aosp/837619)
Hata düzeltmeleri
activity
modülü,activity-ktx
modülünün bağımlılığıyla eşleşmesi için artık ViewModel'in 2.1.0-alpha02 sürümünü temel almaktadır.
Sürüm 1.0.0-alpha03
17 Aralık 2018
androidx.activity 1.0.0-alpha03
yayınlandı.
Yeni özellikler
- Bileşen Etkinliği artık
BundleSavedStateRegistryOwner
özelliğini uyguluyor ve yeni yayınlanan KaydedilenState kitaplığına bağlıdır [aosp/815133] - Bileşen Etkinliği artık, InputMethodManager'ın son odaklanılan görünümü sızdırmasına neden olabilecek bir Android çerçeve hatası etrafında çalışıyor [b/37122102]
Sürüm 1.0.0-alpha02
3 Aralık 2018
API değişiklikleri
getLifecycle()
öğesinin geçersiz kılınmaması gerektiğine ve gelecekteki bir sürümdefinal
olacağına dair bir not eklendi. Şu anda bu yöntemi geçersiz kılıyorsanız lütfen bir özellik isteği gönderin. (aosp/815834)
Sürüm 1.0.0-alpha01
5 Kasım 2018
androidx.activity 1.0.0-alpha01
, mevcut FragmentActivity
ve AppCompatActivity
arasındaki yeni temel sınıf olan ComponentActivity
'i kullanıma sunuyor.
Yeni özellikler
- Etkinliğinizdeki yöntemi geçersiz kılmaya gerek kalmadan
onBackPressed()
geri çağırma almak için artıkaddOnBackPressedCallback
aracılığıyla birOnBackPressedCallback
kaydedebilirsiniz. - Bir
ComponentActivity
'danViewModel
almak için yeni birby viewModels()
Kotlin mülkü temsilcisi eklendi. - Beklemedeki giriş etkinlikleri (ör. tıklamalar)
onStop()
ürününde iptal edildi.
API değişiklikleri
LifecycleOwner
veViewModelStoreOwner
uygulamaları,FragmentActivity
konumundanComponentActivity
konumuna taşındı.onRetainCustomNonConfigurationInstance
desteği sonlandırıldı. Yapılandırma değişikliklerinden hayatta kalması gereken nesneleri depolamak içinViewModel
kullanın.