Mimari Bileşenleri Sürüm Notları Arşivi

15 Ocak 2019

WorkManager

WorkManager 1.0.0-beta02 yayınlandı. Bu sürüm bazı hata düzeltmeleri içeriyor.

Hata Düzeltmeleri

  • Periyodik işlerin aralık başına birden fazla kez yürütülebileceği sıra dışı bir durum düzeltildi (API düzeyi 23) çalıştıran cihazlarda. b/121998363
  • Android 5.1 (API) çalıştıran cihazlarda ConcurrentModificationException sorunu düzeltildi 22. seviye) veya daha düşük bir düzeyde olduğunu varsayalım. b/121345393
  • Cihazlarda Kısıtlamalar karşılanmadığında işin yürütülmesinde hatalar düzeltildi Android 5.1 (API düzeyi 22) veya daha düşük bir sürümü çalıştıran. b/122578012
  • Bazı sıra dışı durumlarda daha hızlı olması için iş tamamlama işlemi optimize edildi. b/122358129
  • Birden fazla örnekteki olası yarış koşullarını ele almak için bir değişiklik eklendi ve WorkManager'ın kullandığı LiveData tanedir.
  • 1.1.1-rc01 yerine 1.1.1 Room bağımlılığı kullanılacak şekilde taşındı; bu sürümleri aynı. b/122578011

19 Aralık 2018

WorkManager

WorkManager 1.0.0-beta01 yayınlandı. Bu sürümde API değişikliği bulunmuyor; bundan sonra, kritik bir sorun olmadığı sürece WorkManager'ın bir sonraki sürüme kadar API'de kararlı kalması beklenmektedir. Bu sürüm bazı hata düzeltmeleri içeriyor.

Hata Düzeltmeleri

  • Başarıyla tamamlanmış üst çalışmanın daha önce iptal edilen alt öğeleri artık çalıştırılmayacak. b/120811767
  • Uygun şekilde başlatılmış günlük kaydı sınıfları (öncelikle testler sırasında gösterilir).

18 Aralık 2018

1.0.0-alpha09 navigasyonu serbest bırakıldı. Bu sürüm, zarar veren API değişikliklerini içeriyor; lütfen aşağıdaki Zarar veren Değişiklikler bölümüne bakın.

Bu android.arch.navigation:navigation-testing yapı. Projenin yaşam döngüsünün NavController dahili testi için faydalı olacaktır. NavController örneğiyle alay etme gibi alternatif test stratejileri kullanarak doğru navigate() çağrılarının yapıldığını doğrulayın. Bu Bu yaklaşım AndroidDevSummit 2018'de Tek Etkinlik konuşması özel olarak test etmeyle ilgili ek belgeler üzerinde Navigasyonu başlatıyor.

Yeni Özellikler

  • menuCategory="secondary" içeren MenuItem öğeleri artık daha sonra öne çıkmayacak veya yığın NavigationUI yöntemleriyle kullanıldığında. b/120104424
  • AppBarConfiguration artık yedek ayarlamanıza izin veriyor OnNavigateUpListener navController.navigateUp() döndüğünde çağrılacak olan örnek false. b/79993862 b/120690961

Çarpıcı Değişiklikler

  • argType="reference" ile bir <argument> kullanılırken Navigasyon artık kullanılamaz referansı ayrıştırır; bunun yerine ham kaynak kimliğini sağlar. b/111736515
  • onNavDestinationSelected() artık varsayılan olarak gezinme grafiğinizin başlangıç konumuna geri dönüyor bu öğelerin setup yöntemleriyle tutarlı olmasını sağlar. Ekle Arka yığının patlamasını önlemek için MenuItem cihazınıza menuCategory="secondary". aosp/852869
  • Oluşturulan Args sınıflarının fromBundle() yöntemleri artık boş olmayan bir değer alıyor Null değer atanabilen bir Bundle yerine Bundle aosp/845616

Hata Düzeltmeleri

  • Bağımsız değişkenler artık derin bağlantılardan doğru argType olarak ayrıştırılıyor her zaman dizeler yerine b/110273284
  • Gezinme artık herkese açık kaynaklarını doğru şekilde dışa aktarıyor b/121059552
  • Safe Args artık Android Gradle Plugin 3.4 Canary 4 ve sonraki sürümlerle uyumlu. b/119662045

12 Aralık 2018

WorkManager

WorkManager 1.0.0-alpha13 yayınlandı. Bu sürüm, bazı Kotlin kullanıcıları için faydalı olabilecek küçük bir API değişikliği içerir.

API Değişiklikleri

  • androidx.work.Result, ListenableWorker iç sınıfı olacak. Bu, Kotlin'in üst düzey Result sınıfıyla çakışmaların yeniden düzenlenmesini önler. Bu, API'de zarar veren bir değişikliktir. b/120564418

Çağlık API Değişiklikleri

  • androidx.work.Result, ListenableWorker iç sınıfı olacak.

6 Aralık 2018

Sayfalama

2.1.0-beta01 tarihinden itibaren değişiklik yapılmadan 2.1.0-rc01 sayfası serbest bırakıldı.

1.0.0-alpha08 navigasyonu serbest bırakıldı. Bu sürüm, zarar veren API değişikliklerini içeriyor; lütfen aşağıdaki Zarar veren Değişiklikler bölümüne bakın.

Yeni Özellikler

  • Hedef etiketleri, NavigationUI yöntemlerle kullanıldığında artık otomatik olarak android:label içindeki {argName} örneği doğru bağımsız değişkenle değiştirin b/80267266
  • Gezinme artık Destek Kitaplığı 28.0.0 sürümüne bağlıdır b/120293333

Çarpıcı Değişiklikler

  • OnNavigatedListener, OnDestinationChangedListener olarak yeniden adlandırıldı b/118670572
  • OnDestinationChangedListener artık Bundle bağımsız değişkeni de iletiyor aosp/837142
  • app:clearTask ve app:launchDocument özellikleri ve bunlarla ilişkilendirilmiş yöntem kaldırıldı. Aşağıdaki işlemler için grafiğinizin köküyle app:popUpTo kullanın: arka yığınınızdaki tüm hedefleri kaldırın. b/119628354
  • ActivityNavigator.Extras artık Builder kalıbını kullanıyor ve tüm Intent.FLAG_ACTIVITY_ işaretlerini ayarla aosp/828140
  • NavController.onHandleDeepLink, handleDeepLink olarak yeniden adlandırıldı aosp/836063
  • Alt sınıflandırmaya uygun olmayan birçok sınıf ve yöntem, örneğin NavOptions, NavInflater, NavDeepLinkBuilder ve AppBarConfiguration, final yapıldı aosp/835681
  • Desteği sonlandırılan NavHostFragment.setGraph() yöntemi kaldırıldı aosp/835684
  • Desteği sonlandırılan NavigationUI.navigateUp(DrawerLayout, NavController) yöntemi kaldırıldı. aosp/835684
  • Parça oluşturma işlemi FragmentNavigator hizmetine taşındı. Bu sayede kolayca Parça oluşturma yetkisini bir FragmentFactory kullanıcısına verin. b/119054429
  • NavGraphNavigator oluşturucusu artık Context kullanmıyor aosp/835340
  • NavigatorProvider bir sınıfa eklemektir. NavigatorProvider, tarafından geri verildi getNavigatorProvider() işlevini değiştirmedi. aosp/830660
  • NavDestination.navigate() kaldırıldı. Navigator numaralı telefondan navigate() adlı kuruluşu ara . aosp/830663
  • Navigator önemli ölçüde yeniden düzenlenerek OnNavigatorNavigatedListener ihtiyacı ortadan kaldırıldı navigate bunun yerine gidilen NavDestination değerini döndürmesini sağlar.
  • Navigator örnekleri artık pop etkinliklerini NavController öğesine gönderemiyor. Dikkatlice OnBackPressedCallback kullanarak geri düğmesine basıldığında müdahale edin ve navController.popBackStack() işlevini çağırın. aosp/833716

Hata Düzeltmeleri

  • Hedef, <navigation> öğesi olduğunda popUpTo artık tutarlı şekilde çalışıyor b/116831650
  • IllegalArgumentException hatasına neden olan bir dizi hata düzeltildi. iç içe yerleştirilmiş grafikler kullanıldığında b/118713731 b/113611083 b/113346925 b/113305559
  • <activity> hedeflerinin dataPattern özelliği artık doldurulacak toString() çağırarak Dize olmayan bağımsız değişkenlerden bağımsız değişkenler b/120161365

Güvenli Bağımsız Değişkenler

  • Güvenli Bağımsız Değişkenler, Enum değerleri dahil olmak üzere Serileştirilebilir nesneleri destekler. Sıralama türleri , sınıf adı olmadan enum değişmez değerini kullanarak varsayılan bir değer ayarlayabilir (örn. app:defaultValue="READ") b/111316353
  • Güvenli Bağımsız Değişkenler, desteklenen tüm türlerdeki dizileri destekler b/111487504
  • Güvenli Bağımsız Değişkenler artık kaynak dizinlerinin alt klasörlerini yoksayıyor b/117893516
  • Safe Args, uygun olduğu durumlarda @Override ek açıklamaları ekler b/117145301

5 Aralık 2018

WorkManager

WorkManager 1.0.0-alpha12 yayınlandı. Bu sürümde zarar veren bazı API değişiklikleri var; lütfen aşağıdaki bozan API değişiklikleri bölümüne bakın. Bu sürüm büyük olasılıkla ilk beta sürümümüz olarak yayınlanacaktır. alpha12 ayrıca kapsamlı doküman güncellemeleri içeriyor.

API Değişiklikleri

  • Yeni bir yapı olan work-rxjava2, RxWorker ile tanışın. Bu, Single<Payload> beklenen bir ListenableWorker.
  • Firebase JobDispatcher desteği, yakında kullanımdan kaldırılacağı için kaldırılmıştır. Bu nedenle, work-firebase yapısının artık beta sürümüne geçilmeye başlanmayacağı anlamına gelir. Gelecekte bir alternatif eklemeyi planlıyoruz.
  • Payload, Result olarak birleştirildi. Result artık "mühürlü sınıf" Result.success() (veya Result.success(Data)), Result.failure() (ya da Result.failure(Data)) ve Result.retry() yoluyla elde edebileceğiniz üç somut uygulamayla birlikte. ListenableFuture'leriniz artık Payload yerine Result ile sonuçlanıyor. Worker öğeleri, Data çıkışı için alıcı ve belirleyici yöntemlerine sahip değil. Bu, zarar veren bir değişikliktir.
  • Yavaş tetiklenen içerik URI'lerini daha iyi desteklemek için Constraints.Builder.setTriggerContentMaxDelay(long, TimeUnit) ve Constraints.Builder.setTriggerContentUpdateDelay(long, TimeUnit) ile varyantlar eklendi. b/119919774
  • WorkRequest.Builder.setBackoffCriteria(BackoffPolicy, Duration) varyant eklendi. Bu yöntem API 26 gerektirir.
  • Operation.await() ve ListenableFuture.await() Kotlin uzantı yöntemleri eklendi.
  • Operation.getException() adlı dosya Operation.getThrowable() olarak yeniden adlandırıldı. Bu, zarar veren bir değişikliktir.
  • ContentUriTriggers sınıfı ve buna referans veren yöntemler artık herkese açık olarak kullanılamaz. Bu, zarar veren bir değişikliktir.
  • API'yi kolaylaştırmak için WorkManager, WorkContinuation ve OneTimeWorkRequest kapsamındaki diğer varargs yöntemleri kaldırıldı. Derleme sorunlarını düzeltmek için mevcut değişkenlerinizi Arrays.asList(...) ile sarmalayabilirsiniz. Yine de her yöntemin tek bağımsız değişkenli sürümlerini dahil ederiz. Bu, zarar veren bir değişikliktir.
  • WorkContinuation.combine(OneTimeWorkRequest, *) varyant kaldırıldı. Kafa karıştırıcı bir API sunuyorlardı; mevcut combine yöntemleri daha anlaşılırdır. Bu, zarar veren bir değişikliktir.

Hata Düzeltmeleri

  • Marshmallow öncesi uygulamalar, devam etmekte olan bir görevin işlem ölümünden kurtarmada artık daha güvenilirdir.
  • observeForever aracılığıyla gözlemlenen LiveData, WorkManager aracılığıyla izlenir. Bu, Oda kitaplığı düzeltmesinin geri bağlantı noktasıdır. b/74477406
  • Serileştirilmiş nesne maksimum boyutunu aşarsa Data.Builder.build() artık bir istisna yayınlıyor. Bu durum daha önce yalnızca düzgün bir şekilde işleyemediğiniz arka plan ileti dizilerinde gerçekleşiyordu.
  • Durdurulan ve iptal edilen çalışmaların daha farklı şekilde tespit edilmesi; getWorkInfoById(), ListenableWorker.onStopped() sırasında CANCELLED State ile WorkInfo döndürecek.
  • null Result öğelerini ListenableWorker öğesinde başarısız olarak değerlendir. b/120362353
  • Bazen IllegalArgumentException hatası veren Shield 24 çalıştıran Shield Tabletler için spekülatif düzeltme. b/119484416

Çağlık API Değişiklikleri

  • Firebase JobDispatcher desteği, yakında kullanımdan kaldırılacağı için kaldırılmıştır. Bu nedenle, work-firebase yapısının artık beta sürümüne geçilmeye başlanmayacağı anlamına gelir. Gelecekte bir alternatif eklemeyi planlıyoruz.
  • Payload, Result olarak birleştirildi. Result artık "mühürlü sınıf" Result.success() (veya Result.success(Data)), Result.failure() (ya da Result.failure(Data)) ve Result.retry() yoluyla elde edebileceğiniz üç somut uygulamayla birlikte. ListenableFuture'leriniz artık Payload yerine Result ile sonuçlanıyor. Worker öğeleri, Data çıkışı için alıcı ve belirleyici yöntemlerine sahip değil.
  • Operation.await() ve ListenableFuture.await() Kotlin uzantı yöntemleri eklendi.
  • Operation.getException() adlı dosya Operation.getThrowable() olarak yeniden adlandırıldı.
  • ContentUriTriggers sınıfı ve buna referans veren yöntemler artık herkese açık olarak kullanılamaz.
  • API'yi kolaylaştırmak için WorkManager, WorkContinuation ve OneTimeWorkRequest kapsamındaki diğer varargs yöntemleri kaldırıldı. Derleme sorunlarını düzeltmek için mevcut değişkenlerinizi Arrays.asList(...) ile sarmalayabilirsiniz. Yine de her yöntemin tek bağımsız değişkenli sürümlerini dahil ederiz.
  • WorkContinuation.combine(OneTimeWorkRequest, *) varyant kaldırıldı. Kafa karıştırıcı bir API sunuyorlardı; mevcut combine yöntemleri daha anlaşılırdır.

4 Aralık 2018

Room

2.1.0-alpha03 adlı oda, eş yordamların desteği ve çeşitli hata düzeltmeleriyle birlikte yayınlandı.

API Değişiklikleri

  • @Fts3/@Fts4 içindeki FTS tokenizer artık Enum yerine Dize alıyor. Bu, özel tokenleştiricilerin Room tarafından kullanılmasına olanak tanır. Yerleşik jeton oluşturucuları, FtsOptions öğesinde dize sabitleri olarak tanımlanmaya devam ediyor. b/119234881

Yeni Özellikler

  • Ders içerikleri: DAO yöntemleri artık askıya alma işlevleri olabilir. Odada askıya alma işlevlerini desteklemek için room-coroutines adlı yeni bir yapı yayınlandı. b/69474692
  • @Insert, @Delete veya @Update ek açıklamalarıyla eklenen DAO yöntemlerinde artık dönüş türü olarak ListenableFuture desteklemektedir. b/119418331

Hata Düzeltmeleri

  • Odanın yanlışlıkla @Entity öğesinin ignoredColumns özelliğinde sütunlara sahip bir oluşturucu bulmaya çalışmasına neden olan hata düzeltildi. b/119830714
  • Odanın, DAO yöntemi parametrelerini oluşturulan uygulamada nihai olarak işaretlememesine neden olan hata düzeltildi. b/118015483
  • Özel simgeler içeren bir sorguda hata bildirirken Oda işlemcisinin kilitlenmesine neden olan hata düzeltildi. b/119520136
  • Odanın, IN ifadesinin bağımsız değişkenleri olarak diğer çeşitli Collection uygulamalarını reddetmesine neden olan hata düzeltildi. b/119884035
  • Odadan döndürülen LiveData'nın sonsuza kadar gözlemlendiğinde atık toplanması ve bu nedenle artık yeni veri yayınlamamasına yol açan hata düzeltildi. b/74477406
  • Kilit anlaşmazlığını azaltmak için RoomDatabase özelliğinin kapatma kilidi güncellendi. b/117900450

8 Kasım 2018

WorkManager

WorkManager 1.0.0-alpha11 yayınlandı. Bu sürüm, beta itibarıyla kararlı API'ye dönüşecek birçok değişiklik içeriyor. Bu sürümde zarar veren API değişiklikleri var; lütfen aşağıdaki bozan API değişiklikleri bölümüne bakın.

API Değişiklikleri

  • work-runtime-ktx, yeni bir CoroutineWorker sunuyor.
  • WorkStatus, WorkInfo olarak yeniden adlandırıldı. İlgili tüm getStatus yöntem varyantları ilgili getWorkInfo varyantı. Bu, zarar veren bir değişikliktir.
  • ListenableWorker.onStopped(), WorkRequest işlevinin iptal edilip edilmediğini temsil eden bir boole bağımsız değişkenini artık kabul etmiyor. WorkManager artık bu ayrımı yapmıyor. Bu, zarar veren bir değişikliktir.
  • androidx.work.test paketi, androidx.work.testing paketi olarak yeniden adlandırıldı. Bu, zarar veren bir değişikliktir.
  • Constraints üzerindeki setler, artık herkese açık API'nin bir parçası değil. Bu, zarar veren bir değişikliktir.
  • WorkerParameters.getTriggeredContentUris() ve WorkerParameters.getTriggeredContentAuthorities() daha önce dizi döndürdü. Artık bu yöntemler Koleksiyonları döndürüyor. Bu, zarar veren bir değişikliktir.
  • ListenableWorker.onStartWork(), ListenableWorker.startWork() olarak yeniden adlandırıldı. Bu, zarar veren bir değişikliktir.
  • WorkStatus oluşturucusu artık herkese açık API'nin bir parçası değil. Bu, zarar veren bir değişikliktir.
  • Configuration.getMaxJobSchedulerID() ve Configuration.getMinJobSchedulerID(), Configuration.getMinJobSchedulerId() olarak yeniden adlandırıldı ve Configuration.getMaxJobSchedulerId(). Bu, zarar veren bir değişikliktir.
  • API'nin ergonomisini iyileştirmek için herkese açık API'ye çok sayıda @NonNull ek açıklaması eklendi.
  • WorkContinuation oluşturmak zorunda kalmadan benzersiz OneTimeWorkRequest'leri sıraya almak için WorkManager.enqueueUniqueWork() API'si ekleyin.
  • WorkManager üzerindeki tüm enqueue ve cancel yöntemlerinin varyantları artık yeni bir Operation türü döndürüyor. Bu, zarar veren bir değişikliktir.
  • enqueue öğesinin hiçbir varyantı, WorkRequest için artık değişken kabul etmiyor. Bu, zarar veren bir değişikliktir. Bunun yerine Koleksiyonları kullanın. Mevcut kodu değiştirmek için Arrays.asList() uzantısını kullanabilirsiniz. Bu uygulamayla, API yüzeyini ve yöntem sayısını azalttık.
  • İşlem başına birden çok kez WorkManager initialize girişiminde bulunmak artık IllegalStateException ile sonuçlanır. Bu, zarar veren bir değişikliktir.

Hata Düzeltmeleri

  • work-runtime-ktx yapısındaki WorkRequest.Builder öğeleri artık ListenableWorker kullanıyor. Düzeltmeler b/117666259
  • PeriodicWork için bir sonraki çalışma zamanının gelecekte olduğundan emin olun. Düzeltmeler b/118204399
  • Uygulama başlatılırken WorkManager'ı kullanırken olası disk G/Ç'sini kaldırın. Düzeltmeler b/117796731
  • WorkConstraintsTracker oyununda bir yarış durumunu düzeltin. android-workmanager/issues/56 düzeltme

Çağlık API Değişiklikleri

  • WorkStatus, WorkInfo olarak yeniden adlandırıldı. İlgili tüm getStatus yöntem varyantları ilgili getWorkInfo varyantı.
  • ListenableWorker.onStopped(), WorkRequest işlevinin iptal edilip edilmediğini temsil eden bir boole bağımsız değişkenini artık kabul etmiyor. WorkManager artık bu ayrımı yapmıyor.
  • androidx.work.test paketi, androidx.work.testing paketi olarak yeniden adlandırıldı.
  • Constraints üzerindeki setler, artık herkese açık API'nin bir parçası değil.
  • WorkerParameters.getTriggeredContentUris() ve WorkerParameters.getTriggeredContentAuthorities() daha önce dizi döndürdü. Artık bu yöntemler Koleksiyonları döndürüyor.
  • ListenableWorker.onStartWork(), ListenableWorker.startWork() olarak yeniden adlandırıldı.
  • WorkStatus oluşturucusu artık herkese açık API'nin bir parçası değil.
  • Configuration.getMaxJobSchedulerID() ve Configuration.getMinJobSchedulerID(), Configuration.getMinJobSchedulerId() olarak yeniden adlandırıldı ve Configuration.getMaxJobSchedulerId().
  • WorkManager üzerindeki tüm enqueue ve cancel yöntemlerinin varyantları artık yeni bir Operation türü döndürüyor.
  • enqueue öğesinin hiçbir varyantı, WorkRequest için artık değişken kabul etmiyor.
  • İşlem başına birden çok kez WorkManager initialize girişiminde bulunmak artık IllegalStateException ile sonuçlanır.

1 Kasım 2018

Sayfalama

2.1.0-alpha01 tarihinden itibaren değişiklik yapılmadan 2.1.0-beta01 sayfası serbest bırakıldı.

30 Ekim 2018

Room

2.1.0-alpha02 adlı oda, çeşitli hata düzeltmeleri ve yeni bir özellikle birlikte yayınlandı.

Yeni Özellikler

  • @Relation içindeki bir @DatabaseView öğesine referans verme desteği eklendi. b/117680932

Hata Düzeltmeleri

  • Odanın, bir Rx dönüş türüne abone olurken ve bu türü atarken ana iş parçacığında disk G/Ç işlemi gerçekleştirmesine neden olan hata düzeltildi. b/117201279
  • Odanın, Kotlin varlık sınıfındaki bir alan için uygun tür bir dönüştürücü bulamamasına neden olan hata düzeltildi. b/111404868
  • Odanın, bağımsız değişkeni olmayan bir Kotlin varsayılan yöntemi içeren DAO arayüzü uygulaması için yanlış kod oluşturmasına neden olan hata düzeltildi. b/117527454
  • Odanın SQLite dil bilgisi ayrıştırıcısı güncellendi ve uzun derleme sürelerine neden olabilecek bir performans sorunu düzeltildi. b/117401230

29 Ekim 2018

Hata düzeltmeleri ve API değişiklikleriyle birlikte 1.0.0-alpha07 navigasyonu yayınlandı.

Yeni Özellikler

  • Yeni bir AppBarConfiguration sınıfı, hangi hedeflerin üst düzey olarak değerlendirileceğini özelleştirmenize olanak tanır. hedefler. Güncellenen belgelere göz atın. inceleyebilirsiniz. b/117333663
  • Artık bağımsız değişkenleri grafiğinizin başlangıç hedefine aktarabilirsiniz b/110300470
  • Derin bağlantılar artık nokta, kısa çizgi ve artı işareti içeren özel şemaları destekliyor. b/112806402

Çarpıcı Değişiklikler

  • navigation-testing-ktx modülü şu kısma katlandı: navigation-testing artifact ve artık yayınlanmayacak.
  • navigation-testing yapısı artık Kotlin standardına bağımlı bir yapıya sahip kitaplığını açar. API, Kotlin ile daha tutarlı olacak şekilde değiştirildi kurallarından yararlanır, ancak Java'da yazılan testlerde bunu kullanmaya devam edebilirsiniz.
  • Meta veri manifestinde kayıtlı gezinme grafikleri artık desteklenmiyor. b/118355937
  • İşlemler artık <activity> öğesine eklenemez hedefler. aosp/785539

Hata Düzeltmeleri

  • Derin bağlantılar artık sorgu parametrelerini doğru şekilde ayrıştırıyor. b/110057514
  • Etkinlik hedefleri artık tüm giriş ve çıkış animasyonlarını doğru bir şekilde uyguluyor. b/117145284
  • Özel mod kullanılırken yapılandırma değişikliklerinden sonra ortaya çıkan kilitlenme düzeltildi Gezginler. b/110763345

Güvenli Bağımsız Değişkenler

  • Güvenli bağımsız değişkenlerin artık Android Gradle Plugin 3.2.1'e sabit bir bağımlılığı var. b/113167627
  • Artık iç sınıflar için yol tarifi oluşturulabilir. b/117407555
  • <include> için Yol Tarifi oluşturmayla ilgili sorun giderildi grafiğe dönüştürülebilir. b/116542123

12 Ekim 2018

Sayfalama

2.1.0-alpha01 sayfalandırması, iki önemli eklemenin yanı sıra başka birçok API değişikliği ve hata düzeltmesinin yanı sıra, her yapı için sayfa bırakma ve KTX uzantı kitaplıkları dahil olmak üzere yayınlanmıştır.

API Değişiklikleri

  • Bellekteki yüklenen öğelerin sayısını sınırlamak için PagedList.Config.Builder.setMaxSize() eklendi.
  • PagedList.Config.Builder için Kotlin alternatifi olarak androidx.paging.Config() eklendi
  • PagedList.Builder için Kotlin alternatifi olarak androidx.paging.PagedList() eklendi
  • LivePagedListBuilder için Kotlin alternatifi olarak DataSourceFactory.toLiveData() eklendi
  • RxPagedListBuilder için Kotlin alternatifleri olarak DataSourceFactory.toObservable() ve toFlowable() eklendi
  • PagedList değiştirilirken dinlemesi için AsyncPagedListDiffer.addPagedListListener() eklendi. b/111698609
  • Eski ve yeni listeyi geçen PagedListAdapter.onCurrentListChanged() varyant eklendi, önceki varyant desteği sonlandırıldı.
  • Farklılaştırmadan sonra, sayfalı liste gösterilirse/gösterildiğinde tetiklenen ek bir geri çağırmayı alan PagedListAdapter/AsyncPagedListDiffer.submitList() varyant eklendi. Bu, bir PagedList değişimini diğer kullanıcı arayüzü güncellemeleriyle senkronize etmenize olanak tanır. b/73781068
  • Bellekte kaç öğe olduğunu bildirmek için PagedList.getLoadedCount() eklendi. Yer tutucular devre dışı bırakılırsa döndürülen değerin her zaman .size() değerine eşit olacağını unutmayın.

Hata Düzeltmeleri

  • Listeler yeniden kullanılırsa fark uygulanırken ortaya çıkan yarış durumu düzeltildi b/111591017
  • Dizin geçersiz olduğunda PagedList.loadAround(), artık IndexOutOfBoundsException hatası veriyor. Önceden, belirsiz bir diğer istisna nedeniyle kilitleniyordu.
  • Çok küçük bir başlangıç yükleme boyutunun ve değişmeyen verilerle birlikte daha fazla yüklenmemesine neden olma durumu düzeltildi b/113122599
ziyaret edin.

11 Ekim 2018

WorkManager

Geliştirici tarafından kontrol edilen eşzamansız çalışma desteğiyle WorkManager 1.0.0-alpha10 yayınlandı. Bu sürümde zarar veren API değişiklikleri var; lütfen aşağıdaki bozan API değişiklikleri bölümüne bakın.

WorkManager'ın alfa döneminin son aşamalarına geçtiğini tahmin ediyoruz. Beta sürümde API'lerin kararlı çalışmasını bekliyoruz. Bu nedenle, sorun izleyicimiz hakkında geri bildirimde bulunmak için lütfen biraz zaman ayırın.

API Değişiklikleri

  • Daha önce deprecated yöntemlerinin ve sınıflarının tümü, özellikle de varsayılan Worker oluşturucusu kaldırıldı. Bu, API'de zarar veren bir değişikliktir.
  • NonBlockingWorker, artık gösterilmemiş, herkese açık ve kullanıma hazır bir sınıf olan ListenableWorker olarak yeniden adlandırıldı.
    • ListenableWorker, ana iş parçacığında çağrılan ListenableFuture<Payload> onStartWork() adlı tek soyut yönteme erişim sağlar. İşleri eşzamansız olarak başlatmak ve işlemek size bağlıdır. İşlemi tamamladığınızda ListenableFuture uygun şekilde güncellemeniz gerekir. ListenableFuture referans uygulamaları, alpha02 uygulamasındaki Futures paketinde sağlanmıştır (WorkManager bölümünün altına bakın).
    • Worker, ListenableWorker öğesini genişletir ve soyut bir Result doWork() yöntemiyle önceki gibi çalışmaya devam eder.
    • Worker öğesinden bazı yöntemler ve üyeler ListenableWorker olarak karıştırıldı.
    • Yakında, Kotlin eş yordamları (kararlı sürümler yayınlandıktan sonra) ve RxJava2 kullanan ListenableWorker'ler için referans uygulamaları sağlayacağız.
  • WorkerFactory arayüzü ve DefaultWorkerFactory somut uygulaması, WorkerFactory adlı soyut bir sınıfta birleştirildi. Uygulama, varsayılan yansıtmaya dayalı davranışın, kullanıcı tarafından oluşturulan WorkerFactory örnekleri için son adım olarak değerlendirilmesini sağlar. Bu, zarar veren bir değişikliktir.
  • WorkManager.synchronous(), WorkContinuation.synchronous() ve ilgili tüm yöntemler kaldırıldı. API'deki birçok yöntemin dönüş türü olarak ListenableFuture<Void> eklendi. Bu, API'de zarar veren bir değişikliktir.
    • Artık ListenableFuture öğelerini kullanarak eşzamanlı olarak alabilir ve gözlemleyebilirsiniz. Örneğin, WorkManager.enqueue(), void değerini döndürmek için kullanılır; şimdi bir ListenableFuture<Void> döndürüyor. İşlem tamamlandığında kodu çalıştırmak için ListenableFuture.addListener(Runnable, Executor) veya ListenableFuture.get() yöntemini çağırabilirsiniz.
    • Bu ListenableFuture'ların işlemin başarılı mı yoksa başarısız mı olduğunu söylemediğini unutmayın; geri bildirim verir. Bu bilgileri bulmak için yine de WorkManager yöntemleri kullanmanız gerekir.
    • Bu nesneler kafa karıştırıcı ve akıl yürütmeleri zor olduğundan (işlemi mi yoksa sonuç olarak yapılacak işi mi iptal ediyorsunuz?) nedeniyle cancel() çağrıları yok sayılır. Bu, Future sözleşmesi kapsamındadır.
    • Eşzamanlı getStatus* yöntemleriyle denkliği korumak için ListenableFuture varyant sağladık ve LiveData döndüren mevcut varyantları açık bir şekilde "LiveData" içerecek şekilde yeniden adlandırdık olarak da adlandırılır (örneğin, getStatusesByIdLiveData(UUID)). Bu, API'de zarar veren bir değişikliktir.

Hata Düzeltmeleri

  • Alfa09 sürümünde yinelenen androidx-annotations.pro dosyalarıyla ilgili bilinen sorun düzeltildi. Gradle dosyanızdan exclude 'META-INF/proguard/androidx-annotations.pro' öğesini silerek önceki sürüm notlarındaki geçici çözümü kaldırabilirsiniz.
  • Yeni Worker oluşturucusunu korumak için ProGuard yapılandırmaları eklendi. b/116296569
  • Çalışmanın REPLACE gün olduğu bir yarış koşulunda potansiyel NullPointerException düzeltildi. b/116253486 ve b/116677275
  • WorkContinuation.combine() artık iki veya daha fazla yerine bir veya daha fazla WorkContinuation kabul ediyor. b/117266752

Çağlık API Değişiklikleri

  • Daha önce deprecated yöntemlerinin ve sınıflarının tümü, özellikle de varsayılan Worker oluşturucusu kaldırıldı.
  • WorkerFactory arayüzü ve DefaultWorkerFactory somut uygulaması, WorkerFactory adlı soyut bir sınıfta birleştirildi.
  • WorkManager.synchronous() ve WorkContinuation.synchronous() kaldırıldı.
  • WorkManager.getStatus*() yöntemleri artık ListenableFuture değeri döndürüyor. WorkManager.getStatus*LiveData(), LiveData değerini döndürür.

Vadeli İşlemler

Vadeli işlemler 1.0.0-alpha02 yayınlandı.

API Değişiklikleri

  • Geliştiriciler artık ListenableFuture ile ilgili basit ve somut uygulamalar olarak ResolvableFuture ve AbstractResolvableFuture kullanabilirler.

8 Ekim 2018

Room

2.1.0-alpha01 adlı odanın rezervasyonu iptal edildi.

Yeni Özellikler

  • FTS: Oda, artık FTS3 veya FTS4 eşleme tablosuna sahip varlıkları destekliyor. @Entity ile not eklenen sınıflara artık eşleme tam metin arama tablosu içeren bir sınıfı bildirmek için @Fts3 veya @Fts4 ile ek açıklama eklenebilir. Daha fazla özelleştirme için FTS seçenekleri, ek açıklama yöntemleriyle kullanılabilir. b/62356416
  • Görünümler: Oda artık bir sınıfın depolanmış sorgu olarak (@DatabaseView ek açıklaması kullanılarak görünüm) tanımlanmasını destekliyor. b/67033276
  • Otomatik değer: Oda, AutoValue ek açıklamalı sınıfların varlık ve POJO olarak tanımlanmasını destekliyor. @PrimaryKey, @ColumnInfo, @Embedded ve @Relation oda ek açıklamaları artık otomatik değer ek açıklaması olan sınıfın soyut yöntemlerinde tanımlanabilir. Odanın doğru bir şekilde anlayabilmesi için bu ek açıklamayla birlikte @CopyAnnotations öğesinin de eklenmesi gerektiğini unutmayın. b/62408420
  • Ek Rx Dönüş Türleri Desteği: @Insert, @Delete veya @Update ile ek açıklamalı DAO yöntemleri, artık Completable, Single<T> ve Maybe<T> Rx dönüş türlerini desteklemektedir. b/63317956
  • @Relation İçeren Sabit Türler: Odada, daha önce @Relation ek açıklamalı alanın ayarlanabilir olması gerekiyordu ancak artık kurucu parametreler olabilirler.
  • enableMultiInstanceInvalidation: RoomDatabase.Builder ürününde aynı veritabanı dosyası kullanılarak birden fazla RoomDatabase örneğinde geçersiz kılma işlemi yapılmasını sağlayan yeni bir API'dir. Bu çok örnekli geçersiz kılma mekanizması, birden fazla işlemde de çalışır. b/62334005
  • fallbackToDestructiveMigrationOnDowngrade: RoomDatabase.Builder ürününde, eski sürüme geçilmesi durumunda veritabanını otomatik olarak yeniden oluşturan yeni bir API'dir. b/110416954
  • ignoredColumns: @Entity ek açıklamasında, yoksayılan alanları ada göre listelemek için kullanılabilen yeni bir API'dir. Bir varlıktaki devralınan alanları yoksaymak için kullanışlıdır. b/63522075

API / Davranış Değişiklikleri

  • RoomDatabase kapsamındaki mCallback ve mDatabase artık @Deprecated ve Odanın bir sonraki ana sürümünde kaldırılacak. b/76109329

Hata Düzeltmeleri

  • Odanın bozuk bir veritabanından düzgün şekilde kurtarılamamasına veya başlatma sırasında hatalı bir taşıma işlemine neden olan iki sorun düzeltildi. b/111504749 ve b/111519144
  • Oda, veri sınıflarında Kotlin'in birincil oluşturucusunu düzgün şekilde kullanır. Böylece, alanları vars olarak belirtme ihtiyacı ortadan kalkar. b/105769985

1 Ekim 2018

2.0.0 adlı oda, 2.0.0-rc01 tarihinden itibaren herhangi bir değişiklik yapılmadan iptal edildi. 2.0.0 sayfası, tek bir hata düzeltmesiyle yayınlandı.

Sayfalama

Hata Düzeltmeleri

  • PositionalDataSource ve yer tutucular b/114635383 kullanılarak çok hızlı kaydırma yapıldığında oluşabilecek kilitlenme düzeltildi.

21 Eylül 2018

2.0.0 yaşam döngüsü, ViewModel'de 2.0.0-rc01 üzerinden yapılan bir hata düzeltmesiyle yayınlandı.

Yaşam döngüsü

Hata Düzeltmeleri

  • b/112230489 oluşturucuları yanlış bir şekilde kaldıran bir ViewModel koruyucu kuralı düzeltildi

20 Eylül 2018

Hata düzeltmeleri ve API değişiklikleriyle birlikte 1.0.0-alpha06 navigasyonu yayınlandı.

Yeni Özellikler

API Değişiklikleri

  • Çarpıcı Değişiklik: Navigator navigate() yöntemi artık Navigator.Extras parametresini almaktadır.
  • NavController'ın getGraph() yöntemi artık NonNull b/112243286 oldu

Hata Düzeltmeleri

  • NavigationUI.setupWithNavController(), ayrı hedeflerden gelen görüntülemelerle kullanılırsa b/111961977 görüntüleme sayısını artık sızdırmıyor
  • onSaveState() adlı gezgin artık yalnızca bir kez çağrılıyor b/112627079

Güvenli Bağımsız Değişkenler

  • Navigasyon hedefi Yol tarifi sınıfları artık, varsa velilerinin Yol Tarifi sınıfını genişletiyor b/79871405
  • Yol Tarifi ve Bağımsız değişkenler sınıflarında artık kullanışlı bir toString() uygulaması bulunuyor b/111843389

19 Eylül 2018

WorkManager

Hata düzeltmeleri, altyapı güncellemeleri ve API değişiklikleriyle birlikte WorkManager 1.0.0-alpha09 yayınlandı.

Bilinen Sorun

Şu sorunla karşılaşırsanız: "İşletim sisteminden bağımsız 'META-INF/proguard/androidx-annotations.pro' yolunu kullanarak birden fazla dosya bulundu", alpha10 sürümünde bu sorunu geçici olarak düzeltirken lütfen aşağıdakini geçici bir çözüm olarak gradle dosyanıza yerleştirin:

Eski

android {
    packagingOptions {
        exclude 'META-INF/proguard/androidx-annotations.pro'
    }
}

Kotlin

android {
    packagingOptions {
        exclude("META-INF/proguard/androidx-annotations.pro")
    }
}

Hata Düzeltmeleri

  • "100 iş" için gereken başka bir düzeltme eklendi hatası. b/115560696
  • Yarış koşullarından kaynaklanan yabancı anahtar kısıtlaması hataları için bazı düzeltmeler eklendi. b/114705286
  • Temel Worker öğesine yetki verilmiş ConstraintTrackingWorker.onStopped(boolean) çağrıları. b/114125093
  • Firebase JobDispatcher için doğru minimum geri yükleme gecikmesini zorunlu kılın. b/113304626
  • Geliştirilmiş iş parçacığı oluşturma garantisi kitaplık içi garantiler sağlar.
  • Dahili olarak LiveData tekilleştirilmesiyle ilgili olası sorunu düzeltin.

API Değişiklikleri

  • Artık WorkManager.Configuration öğesinin bir parçası olarak WorkerFactory belirterek çalışma zamanında kendi Worker örneklerinizi oluşturabilirsiniz. Yedek fabrika, WorkManager'ın önceki sürümlerinin davranışıyla eşleşen DefaultWorkerFactory.
    • Worker ve NonBlockingWorker için varsayılan oluşturucuları artık desteklenmiyor olarak işaretlendi. Lütfen yeni oluşturucuyu (Worker(Context, WorkerParameters)) kullanın ve super(Context, WorkerParameters) çağrısı yapın; WorkManager'ın gelecekteki sürümleri varsayılan oluşturucuyu kaldıracaktır.
  • Yeni ListenableFuture yapısını şirket içinde kullanmaya başladık (Guava bağımlılığı olmadan). Gelecek sürümlerde, API'de ListenableFutures özelliğini kullanıma sunacağız. Bu değişiklik, NonBlockingWorker öğesinin nihai olarak gösterilmesini destekleyecek.
  • TestDriver.setInitialDelayMet(UUID) ve TestDriver.setPeriodDelayMet(UUID) aracılığıyla TestDriver uygulamasına süreli işi tetikleme özelliği ekleyin. b/113360060

Çarpıcı Değişiklikler

  • Varsayılan Worker ve NonBlockingWorker oluşturucuları kullanımdan kaldırıldı. Lütfen en kısa zamanda yeni oluşturucuya geçin. Gelecekteki sürümler varsayılan oluşturucuyu kaldıracaktır.

27 Ağustos 2018

WorkManager

Hata düzeltmeleriyle birlikte WorkManager 1.0.0-alpha08 yayınlandı.

Hata Düzeltmeleri

  • WorkManager bileşenleri, doğrudan başlatma sırasında tetiklenmemeleri için doğrudan başlatmanın farkında değil olarak etiketlendi. Gelecekte, doğrudan başlatmaya duyarlı bir WorkManager sürümü sunacağız. b/112665532
  • Yeniden denenen çalışmanın çalışmamasına neden olan sorun düzeltildi. b/112604021
  • Periyodik işlerin tekrar tekrar yürütülmemesi düzeltildi (yukarıdaki sorunla ilgili). b/112859683
  • Uygulama işlemi çalışırken uygulanan geri yükleme politikaları.
  • Data ürünündeki istisna mesajları, sınırın 10 KB olduğunu belirtecek şekilde düzeltildi.
  • JobScheduler işleminin tamamlanmasındaki bazı gecikmeleri hesaba katmak için Configuration.setMaxSchedulerLimit(int) olan maksimum değer 50'ye düşürüldü. b/112817355

16 Ağustos 2018

WorkManager

Hata düzeltmeleri ve küçük API değişiklikleriyle birlikte WorkManager 1.0.0-alpha07 yayınlandı.

Hata Düzeltmeleri

  • Sınırsız sayıda sonuç döndürebilecek negatif sınırlara sahip olası bir SQL sorgusu düzeltildi.
  • Yürütme işlemi tamamlanmışsa bu çalışmanın diğer Planlayıcılardaki beklemedeki tüm kopyaları artık doğru bir şekilde iptal edilir. Bu durum, JobScheduler iş sınırının aşılmasına neden oldu. b/111569265
  • ConstraintTracker içindeki bir ConcurrentModificationException düzeltildi. b/112272753
  • Data.getBooleanArray(String) ve Data.getIntArray(String) dönüş türü ek açıklamaları @NonNull yerine @Nullable olarak değiştirildi. b/112275229

API Değişiklikleri

  • Worker, NonBlockingWorker adlı yeni sınıfın kapsamını genişletiyor. Bu durum mevcut kullanımı etkilemez. NonBlockingWorker gelecekte özel ileti dizisi çözümleri için tam olarak desteklenen bir varlık olacaktır.
  • Data.getBooleanArray(String) ve Data.getIntArray(String) dönüş türü ek açıklamaları @NonNull yerine @Nullable olarak değiştirildi. b/112275229
  • Kotlin uzantıları: Map.toWorkData() desteği sonlandırıldı ve mevcut API'lerle daha tutarlı olması için üst düzey workDataOf(vararg Pair<String, Any?>) eklendi.

10 Ağustos 2018

1.0.0-alpha05 gezinme sürümü, hata düzeltmeleriyle birlikte yayınlandı.

Hata Düzeltmeleri

  • Hatalı geri yığın davranışına neden olan bir hatayı düzeltin. b/111907708
  • Oluşturulan Args sınıflarından equals() tanesinde bir hata düzeltildi. b/111450897
  • Güvenli Bağımsız Değişkenler'deki bir derleme hatasını düzeltin. b/109409713
  • Kaynak tanımlayıcılardan Java adlarına dönüşümü düzeltme b/111602491
  • Güvenli Bağımsız Değişkenler eklentisinde boş değer atanması ile ilgili hata mesajlarını düzeltin.
  • Eksik null değer ek açıklamalarını ekleyin.

6 Ağustos 2018

Yaşam Döngüsü, Oda ve Sayfalama sürümünün AndroidX sürümleri 2.0.0-rc01. 2.0.0-beta01 tarihinden itibaren tüm yapılar değiştirilmez.

1 Ağustos 2018

WorkManager

Hata düzeltmeleriyle birlikte WorkManager 1.0.0-alpha06 yayınlandı.

Hata Düzeltmeleri

  • İşleri planlarken veritabanı kilidinin oluşmasını önleyin. b/111801342
  • Doz modundayken PeriodicWork uygulamasının planlanan şekilde çalışmamasına neden olan bir hata düzeltildi. b/111469837
  • WorkManager kilitlenmesine neden olan kısıtlamaları takip ederken yarış durumunu düzeltin. googlecodelabs/android-workmanager/issues/56
  • WorkRequest.Builder#build() kullanırken benzersiz WorkRequest oluşturun. b/111408337
  • RescheduleReceiver kullanımını yalnızca gereken WorkRequest olduğunda etkinleştirin. b/111765853

24 Temmuz 2018

WorkManager

Önemli hata düzeltmeleri ve günlük kaydı değişikliklerinin yer aldığı WorkManager 1.0.0-alpha05 yayınlandı.

API Değişiklikleri

  • WorkManager.getInstance() için artık @Nullable yerine @NonNull ek açıklaması bulunuyor. Bunun yerine, manuel başlatma sırasında singleton düzgün bir şekilde başlatılmazsa yöntem bir IllegalStateException atar. Bu, ihlal ediyor olabilir.
  • WorkManager ayrıntısını kontrol edebilen yeni bir API (Configuration.Builder.setMinimumLoggingLevel(int)) eklendi. Varsayılan olarak, WorkManager Log.INFO ve sonraki sürümleri günlüğe kaydeder.
  • Data.getString() imzası, artık varsayılan değeri kullanmayacak şekilde değiştirildi (dolaylı olarak null). Bu, API'de zarar veren bir değişikliktir.
  • Bazı yöntemler yalnızca dahili kullanım için gerekli olan yöntemler @hide olarak işaretlendi. Bu, Constraints oluşturucuyu, Data.toByteArray() ve Data.fromByteArray(byte[])'yi içerir. Bu, API'de zarar veren bir değişikliktir.

Hata Düzeltmeleri

  • WorkManager, bilinen otomatik yedekleme durumları sırasında artık iş yürütmez. Bu durum kilitlenmeye neden olmuş olabilir. b/110564377
  • JobScheduler kullanılırken PeriodicWorkRequest sn. için çift zaman planlaması düzeltildi. b/110798652
  • Cihaz dozundan sonra PeriodicWorkRequest öğelerinin doğru şekilde çalışmamasıyla ilgili sorun düzeltildi. b/111469837
  • Firebase JobDispatcher kullanılırken yaşanan ilk gecikmelerle ilgili sorun düzeltildi. b/111141023
  • Olası bazı yarış koşulları ve zamanlama sorunları giderildi.
  • Artık ihtiyaç duyulmayan BroadcastReceiver öğeleri doğru şekilde yer açtı.
  • Uygulamalar zorla kapatıldıktan sonra yeniden başlatıldığında yeniden planlama performansı optimize edildi.
  • Belirtilen WorkRequest öğesi sıraya alınmadan önce veya sıraya alındıktan sonra TestScheduler.setAllConstraintsMet(UUID) öğesinin çağrılmasına izin verildi. b/111238024

Çarpıcı Değişiklikler

  • WorkManager.getInstance() için artık @Nullable yerine @NonNull ek açıklaması bulunuyor.
  • Data.getString() imzası, artık varsayılan değeri kullanmayacak şekilde değiştirildi (dolaylı olarak null).
  • Bazı yöntemler yalnızca dahili kullanım için gerekli olan yöntemler @hide olarak işaretlendi. Bu, Constraints oluşturucuyu, Data.toByteArray() ve Data.fromByteArray(byte[])'yi içerir.

19 Temmuz 2018

1.0.0-alpha04 gezinmesi ve ilişkili Güvenli Bağımsız değişkenler gradle eklentisi bir dizi API değişikliği, davranış değişikliği ve hata düzeltmesi içerir.

API / Davranış Değişiklikleri

  • NavHostFragment, mevcut Fragment'ı her zaman birincil gezinme parçası olarak ayarlar ve alt parça yöneticilerinin, dış NavController'ın popülaritesi başlatılmadan (b/111345778) önce yerleştirilmesini sağlar.

Güvenli Bağımsız Değişkenler

  • Zarar Veren Değişiklik: app:type, ConstraintLayout 2.0.0-alpha1 b/111110548 gibi diğer kitaplıklarla çakışma olmaması için app:argType olarak değiştirildi
  • Güvenli Bağımsız değişkenlerdeki hata mesajları artık tıklanabilir b/111534438
  • Bağımsız değişkenler sınıfları artık NonNull özelliklerinin aslında null (b/111451769) olmadığını doğruluyor
  • NavDirections ve Bağımsız değişkenler tarafından oluşturulan b/111455455 b/111455456 sınıflarına ek NonNull ek açıklamaları eklendi

Hata Düzeltmeleri

  • Parça hedefine b/111515685 derin bağlantı oluşturulduktan sonra sistem geri düğmesiyle ilgili sorun düzeltildi

12 Temmuz 2018

1.0.0-alpha03 gezinmesi ve ilişkili Güvenli Bağımsız değişkenler gradle eklentisi bir dizi API değişikliği, davranış değişikliği ve hata düzeltmesi içerir.

API / Davranış Değişiklikleri

  • Araç Çubuğu için bir NavigationUI.setupWithNavController yöntemi eklendi b/109868820
  • CollapsingToolbarLayout için NavigationUI.setupWithNavController yöntemi eklendi b/110887183
  • popBackStack() artık arka yığın boş olduğunda veya belirtilen hedef kimliği arka yığınında olmadığında false (b/110893637) döndürüyor
  • FragmentNavigator, FragmentManager durumu kaydettikten sonra gezinme işlemlerini yoksayar ve b/110987825 ile "onSaveInstanceState sonrası bu işlem gerçekleştirilemez" istisnalarından kaçınır

Güvenli Bağımsız Değişkenler

  • Kırılma Değişikliği: İlgili NavDirections yöntem adlarında alfasayısal olmayan karakterler ve bağımsız değişken adları, büyük/küçük harf kullanımıyla değiştirilir.
    • Ör. DemoController.index, setDemoControllerIndex b/79995048 olacak
    • Ör. action_show_settings, actionShowSettings b/79642240 olacak
  • Zarar Veren Değişiklik: Bağımsız değişkenler artık varsayılan olarak boş olmayan kabul edilir. Dize ve ayrıştırılabilir bağımsız değişkenlerde null değerlere izin vermek için app:nullable="true" b/79642307 ifadesini ekleyin.
  • Artık app:type="long" öğesini "123L" b/79563966 biçiminde defaultValues ile kullanabilirsiniz
  • Ayrıştırılabilir bağımsız değişkenler artık app:type için tam nitelikli sınıf adı kullanılarak desteklenmektedir. Desteklenen tek varsayılan değer "@null" b/79563966 şeklindedir
  • Bağımsız değişkenler sınıfları artık equals() ve hashCode() b/79642246 uygulamalarını uyguluyor
  • Safe Args eklentisi artık kitaplık projelerine (b/80036553) uygulanabilir
  • Safe Args eklentisi, artık b/110011752 özellik projelerine uygulanabilir

Hata Düzeltmeleri

  • Parça yaşam döngüsü yöntemlerinde gezinirken yaşanan sorunlar b/109916080
  • İç içe yerleştirilmiş grafiklerde birden çok kez gezinirken karşılaşılan sorunlar b/110178671
  • b/109909461 grafiğindeki ilk hedefle setPopUpTo kullanıldığında karşılaşılan sorunlar düzeltildi
  • Tüm app:defaultValue değerlerinin Dize b/110710788 olarak iletilmesine neden olan sorun düzeltildi
  • Android Gradle Eklentisi 3.2 Beta 01 ile paket halinde sunulan aapt2 artık Gezinme XML dosyalarındaki her android:name özelliği için saklama kuralları ekliyor b/79874119
  • Varsayılan FragmentNavigator b/110900142 değiştirilirken bellek sızıntısı düzeltildi

2 Temmuz 2018

Yaşam Döngüsü, Oda ve Sayfalama sürümünün AndroidX sürümleri 2.0.0-beta01.

Yaşam döngüsü

Hata Düzeltmeleri

  • Alt arayüzleri değil, yalnızca uygulamaları saklayan LifecycleObserver ProGuard kuralı düzeltildi b/71389427
  • Kod karartmaya ve daraltmaya izin veren ViewModel koruma kuralları düzeltildi

Room

API / Davranış Değişiklikleri

  • Sorguların çalıştırıldığı yerin özelleştirilmesine olanak tanımak için RoomDatabase.Builder.setQueryExecutor() eklendi
  • RxJava2 Observable desteği eklendi
  • Oluşturulan DAO ve Veritabanı uygulamaları artık nihai

Hata Düzeltmeleri

  • "Alan için alıcı bulunamıyor" bölümünde sınıf/alan adını belirtin hata b/73334503
  • RoomOpenHelper'ın, Oda b/110197391'in eski sürümleriyle geriye dönük uyumluluğu düzeltildi

Sayfalama

Hata Düzeltmeleri

  • Bazı başa ekleme durumlarında kaybolan içerik düzeltildi (yer tutucular devre dışı, PositionalDataSource) b/80149146
  • (1.0.1 sürümünde kullanıma sunuldu) PagedListAdapter ve AsyncPagedListDiffer adlı uygulamanın, taşıma etkinliklerini bildiremediği kilitlenmeler düzeltildi. b/110711937

26 Haziran 2018

Sayfalama

1.0.1 sayfası, runtime sisteminde tek bir hata düzeltmesiyle yayınlandı. Kararlılık için 1.0.1 kullanmanızı önemle tavsiye ederiz. Sayfalandırma RxJava2 1.0.1 de yayınlandı ve 1.0.0-rc1 ile aynı.

Hata Düzeltmeleri

  • PagedListAdapter ve AsyncPagedListDiffer adlı kullanıcıların, taşıma etkinliklerini işaret edemediği kilitlenmeler düzeltildi. b/110711937

WorkManager

WorkManager 1.0.0-alpha04 yayınlandı.

Hata Düzeltmeleri

  • AlarmManager tabanlı uygulama kullanılırken PeriodicWorkRequest'ler artık doğru şekilde yeniden planlandı.

  • Zorla durdurma veya yeniden başlatma sonrasında tüm çalışanlar yeniden planlanırken yaşanabilecek ANR sorunu düzeltildi. b/110507716

  • Çeşitli WorkManager API'lerine null değer ek açıklamaları eklendi. b/110344065

  • Çalışan yürütme sırasında ortaya çıkan yakalanmamış istisnaları günlüğe kaydedin. b/109900862

  • WorkManager'ın eski bir sürümüne geri dönmeye karar vermeniz ihtimaline karşı yıkıcı veritabanı taşıma işlemlerine izin verilir. b/74633270

  • Yinelenen örtülü etiketler oluşturulurken meydana gelen taşıma kilitlenmeleri düzeltildi. Bu, yalnızca aynı örtülü etiket biçimini kullandıysanız oluşan çok nadir bir sorundur.

19 Haziran 2018

Room

1.1.1 adlı odanın rezervasyonu iptal edildi. Bu sürüm, 1.1.1-rc1 adlı Oda ile aynı.

WorkManager

WorkManager 1.0.0-alpha03 yayınlandı.

Hata Düzeltmeleri

  • AlarmManager tabanlı uygulamadaki bir yarış durumu düzeltildi. b/80346526.

  • Cihaz yeniden başlatıldıktan sonra JobScheduler kullanılırken yinelenen işler düzeltildi.

  • İçerik URI tetikleyicisi olan işler artık yeniden başlatmalar boyunca devam ediyor. b/80234744

  • Doküman güncellemeleri. b/109827628, b/109758949, b/80230748

  • WorkRequest yeniden sıraya alınırken yaşanan kilitlenme düzeltildi. b/109572353.

  • work-runtime-ktx bağımlılığı kullanılırken Kotlin derleyici uyarıları düzeltildi.

  • WorkManager artık Room 1.1.1-rc1 sürümünü kullanıyor.

API Değişiklikleri

  • WorkContinuation.getStatuses() ürününün eşzamanlı sürümü olan getStatusesSync() eklendi.

  • Worker, kullanıcı tarafından başlatılan iptal ile geçici olarak işletim sistemi tarafından istenen durdurmayı birbirinden ayırt edebilir. Herhangi bir durdurma istendiyse Worker.isStopped(), true değerini döndürür. Worker.isCancelled(), çalışma açıkça iptal edildiğinde true değerini döndürür. b/79632247

  • API 28'de jobParameters#getNetwork() için destek ekleyin. Bu içerik, Worker.getNetwork() aracılığıyla kullanıma sunuldu.

  • JobScheduler veya AlarmManager ürününe gönderilebilecek iş sayısını zorunlu kılabilmeniz için Configuration.Builder.setMaxSchedulerLimit(int maxSchedulerLimit) eklendi. Bu, WorkManager adlı kullanıcının mevcut JobScheduler slotlarınızın tamamını kullanmasını önlemeye yardımcı olur.

  • WorkManager tarafından kullanılması güvenli olan JobScheduler iş kimliği aralığının tanımlanmasına yardımcı olan Configuration.setJobSchedulerJobIdRange(int minJobSchedulerId, int maxJobSchedulerId) eklendi. b/79996760

  • Worker.getRunAttemptCount(), belirli bir Worker için mevcut çalıştırma sayısını döndürür. b/79716516

  • WorkManager.enqueueUniquePeriodicWork(String uniqueWorkName, ExistingPeriodicWorkPolicy existingPeriodicWorkPolicy, PeriodicWorkRequest periodicWork), benzersiz PeriodicWorkRequest öğelerini sıraya eklemenize olanak tanır. b/79600647

  • WorkManager.cancelAllWork() tüm Worker öğelerini iptal eder. WorkManager yöntemini kullanan kitaplıklar, dahili durumun ek temizlenmesi için WorkManager.getLastCancelAllTimeMillis() kullanarak bu yöntemin en son ne zaman çağrıldığını sorgulayabilir.

  • Tamamlanan işleri dahili veritabanından kaldırmak için WorkManager.pruneWork() eklendi. b/79950952, b/109710758

Davranış Değişiklikleri

  • Tüm WorkRequest öğeleri için, Worker için tam nitelikli sınıf adı olan örtülü bir etiket eklendi. Bu sayede, tag olmadan veya id kullanılamadığında WorkRequest öğeleri kaldırılabilir. b/109572351

Çarpıcı Değişiklikler

  • Worker.WorkerResult adlı dosya Worker.Result olarak yeniden adlandırıldı.

  • Worker.onStopped, artık Worker açıkça iptal edildiğinde true olarak ayarlanmış ek bir isCancelled parametresine sahip.

7 Haziran 2018

1.0.0-alpha02 navigasyonu serbest bırakıldı.

Davranış Değişiklikleri

  • FragmentNavigator artık setReorderingAllowed(true) kullanıyor. b/109826220

  • Gezinme artık derin bağlantı URL'lerinden ayrıştırılan URLDecode bağımsız değişkenlerinin kodunu çözer. b/79982454

Hata Düzeltmeleri

  • Parça yaşam döngüsü yöntemlerinden gezinme çağrısı yapılırken IllegalStateException düzeltildi. b/79632233

  • Animasyonlar kullanılırken oluşan titremelerin düzeltilmesi için artık Destek Kitaplığı 27.1.1 sürümü kullanılmalıdır. b/80160903

  • defaultNavHost="true" kullanılırken IllegalArgumentException sorunu düzeltildi bunu kullanabilirsiniz. b/79656847

  • NavDeepLinkBuilder kullanılırken StackOverflowError sorunu düzeltildi. b/109653065

  • İç içe yerleştirilmiş grafiğe geri dönerken yaşanan IllegalArgumentException sorunu düzeltildi. b/80453447

  • launchSingleTop kullanılırken çakışan Parçalarla ilgili bir sorun düzeltildi. b/79407969

  • Gezinme artık iç içe yerleştirilmiş grafikler için doğru sentetik arka yığını oluşturuyor. b/79734195

  • NavigationUI, iç içe yerleştirilmiş grafiği MenuItem olarak kullanırken artık doğru öğeyi vurgular. b/109675998

API Değişiklikleri

  • NavOptions ürününde işlemler için clearTask özelliği ve ilişkili API kullanımdan kaldırıldı. b/80338878

  • NavOptions ürününde işlemler için launchDocument özelliği ve ilişkili API kullanımdan kaldırıldı. b/109806636

24 Mayıs 2018

WorkManager 1.0.0-alpha02 yayınlandı.

WorkManager

Hata Düzeltmeleri

  • State.isFinished() için bir NullPointerException düzeltildi. b/79550068

  • Worker işlemlerinin Application.onCreate() tarihinde yeniden planlanmasına neden olan sorun düzeltildi. b/79660657

  • İşletim sisteminin izin verdiğinden daha fazla iş planlamanıza neden olan sorun düzeltildi. b/79497378

  • Worker ile ilişkili uyanık kalma kilitlerinin temizlenmesi arka plan iş parçacığına taşındı.

  • AlarmManager uygulaması, beklemedeki tüm işler tamamlandığında artık doğru şekilde temizleniyor.

  • İngilizce dışındaki yerel ayarları etkileyen SQL sorgularının temizlenmesi sorunu düzeltildi. b/80065360

  • Data alan adındaki float desteği eklendi. b/79443878

  • Data.Builder.putAll(), artık Builder öğesinin bir örneğini döndürüyor. b/79699162

  • Dokümanlarda daha fazla Javadoc ve düzeltmeler. b/79691663

API Değişiklikleri

  • Worker öğeleri, durdurulmalarına tepki verebilir. Worker.isStopped(), bir Worker cihazının durdurulup durdurulmadığını kontrol etmek için kullanılabilir. Worker.onStopped(), basit temizleme işlemleri gerçekleştirmek için kullanılabilir.

  • Worker.getTags() API'si, Worker ile ilişkili etiketlerin Set değerini döndürür.

  • Süre ve TimeUnit sn. kombinasyonundan oluşan API'ler için javax.time.Duration aşırı yüklemeleri eklendi. Bu, @RequiresApi(26) tarafından korunuyor.

  • WorkManager uzantı, androidx.work.ktx paketinden androidx.work paketine taşındı. Eski uzantılar artık kullanılmıyor ve gelecekteki bir sürümde kaldırılacaktır.

  • Configuration.withExecutor() desteği sonlandırıldı. Bunun yerine Configuration.setExecutor() politikasını kullanın.

16 Mayıs 2018

RxJava2 1.0.0-rc1 ve 1.1.1-rc1 odasının çağrıları iptal edildi. Son derece taşıma işlemini kullanıyorsanız 1.1.0 yerine 1.1.1-rc1 Odasının kullanılmasını öneririz.

Room

Odanın, taşıma sonrası başlatma işlemini düzgün şekilde yapmamasına neden olan hata düzeltildi b/79362399

Sayfalama

rxjava2 sayfası, ilk günden itibaren değişiklik yapılmadan adayı serbest bırakmaya taşınıyor alfa

8 Mayıs 2018

Sayfa 1.0, Gezinme ve WorkManager Alfa Uygulamaları, Oda 1.1, AndroidX

1.0.0 ve Oda 1.1.0 çağrısı iptal edildi. iki yeni Mimari Bileşeni olan Gezinme ve WorkManager için alfa sürümleriyle birlikte.

Son sürüm adaylarından bu yana sayfada ve Odada değişiklik yok.

Yeni Kitaplık: Gezinme

Gezinme, uygulama içi reklamlar oluşturmak için bir çerçeve sunar. yardımcı olabilir. Bu ilk sürüm 1.0.0-alpha01.

Yeni Kitaplık: WorkManager

WorkManager planlama ve yürütme sürecini basitleştirir garantili, kısıta duyarlı arka plan çalışmasıdır. Bu ilk sürüm 1.0.0-alpha01

AndroidX

Mimari bileşenler, güncellenmiş cihazlar da dahil olmak üzere AndroidX'in bir parçası olacak şekilde taşınıyor. paket adları, yapı adları ve diğer AndroidX kitaplıklarındaki bağımlılıkları kontrol edin. Bunlar, diğer2.0.0-alpha1 AndroidX kitaplıkları.

Kotlin Uzantıları

ViewModel, ReactiveStreams ve Sqlite (eski adıyla Odanın "Veritabanı" bileşeni) tümü AndroidX alfa sürümü kapsamında Kotlin uzantı kitaplıkları ekleyin. İçinde Ayrıca, Gezinme ve WorkManager, -ktx modüllerini içerir. Bunların her biri uzantı modüllerini bileşen ekleme bölümünde bulabilirsiniz.

2 Mayıs 2018

  • Oda 1.1.0 Sürüm Adayı
  • 1.1.0-rc1 adlı odanın rezervasyonu iptal edildi.

Hata Düzeltmeleri

19 Nisan 2018

Sayfalama Sürüm Adayı

1.0.0-rc1 ve 1.1.0-beta3 adlı oda serbest bırakıldı.

Sayfalama

1.0.0 sürümünde notlandırma. 1.0.0-rc1 ve savaşı test etmemize yardım edin. Böylece sağlam bir 1.0.0 gönderebiliriz.

Bu sürümde değişiklik yoktur. 1.0.0-beta1 ile aynı.

Room

Hata Düzeltmeleri

  • Kotlin POJO, şuna sahip bir ilişki varlığına referans verdiğinde derleme hatasını düzeltin: Java'da b/78199923'te tanımlandı

5 Nisan 2018

1.1.0-beta2 adlı oda, 1.0.0-beta1 Çağrısı ve Paging RxJava 1.0.0-alpha1 serbest bırakıldı.

Sayfalama, adayı serbest bırakmaya geçmeden önce kısa bir süre için beta sürümünde olacaktır. Paging 1.0 için daha fazla API değişikliği planlamıyoruz ve API değişiklikleri için çıta çok yüksek.

Sayfalandırma için Alpha RxJava2 desteği isteğe bağlı ayrı bir modül olarak kullanıma sunuldu (android.arch.paging:rxjava2:1.0.0-alpha1) ve stabil hale gelene kadar geçici olarak ayrı bir sürüm hazırlanacaktır.

Bu yeni kitaplık, LivePagedListBuilder işlevine örnek olarak Executor yerine Scheduler saniye süren Observable ve Flowable:

Kotlin

val pagedItems = RxPagedListBuilder(myDataSource, /* page size */ 50)
        .setFetchScheduler(myNetworkScheduler)
        .buildObservable()

Java

Observable<PagedList<Item>> pagedItems =
        RxPagedListBuilder(myDataSource, /* page size */ 50)
                .setFetchScheduler(myNetworkScheduler)
                .buildObservable();

Sayfalama

Yeni Özellikler

  • RxPagedListBuilder, yeni android.arch.paging:rxjava2 yapısıyla eklendi.

API Değişiklikleri

  • Yürütücülerin derleyicilerdeki rolünü netleştirmek için yapılan API değişiklikleri:

    • setBackgroundThreadExecutor() adlı dosya setFetchExecutor() olarak yeniden adlandırıldı (PagedList.Builder ve LivePagedListBuilder içinde)

    • setMainThreadExecutor() adlı dosya setNotifyExecutor() olarak yeniden adlandırıldı (PagedList.Builder klasöründe).

  • PagedList.mCallbacks üyenin gizli olduğu düzeltildi.

Hata Düzeltmeleri

  • LivePagedListBuilder, belirtilen yürütücüde ilk PagedList yüklemesini tetikler. tercih edebilirsiniz.

  • Dahili DataSource sarmalayıcılarındaki geçersiz kılma davranışı düzeltildi (DataSource.map, ayrıca yer tutucu devre dışı PositionalDataSource yükleme) b/77237534

Room

Hata Düzeltmeleri

  • Room'un Rx Single ve Maybe uygulamalarında sorguyu önceden geri dönüştürür ve gözlemciyi, döndürülen Single veya Maybe değerleriyle ilişkilendirebilirsiniz. b/76031240

  • RoomDatabase.clearAllTables, çağrılması durumunda veritabanını VACUUM uygulamaz. olabilir. b/77235565

21 Mart 2018

1.1.0-beta1 adlı oda, 1.0.0-alpha7 Çağrısı ve 1.1.1 Yaşam Döngüleri iptal edildi.

Room

API Değişiklikleri

Hata Düzeltmeleri

  • RoomDatabase.clearAllTables artık bir WAL kontrol noktası ayarlayıp VACUUMveritabanını ekleyerek işletim sistemine geri alan döndürmeyi deniyor.

  • @RawQuery, Embedded alanları veya Relation'leri aracılığıyla bir veya daha fazla varlığa referans verdiği sürece observedEntities mülkü için artık tüm Pojo'ları kabul eder. b/74041772

  • Sayfalandırma: Odanın DataSource uygulaması artık birden çok tablo içeren bağımlılıkları (ilişkiler ve birleştirmeler gibi) doğru şekilde işliyor. Daha önce bunlar yeni sonuçları tetikleyemiyor veya derlenemiyordu. b/74128314

Yaşam döngüleri

Yalnızca bir küçük değişiklik: android.arch.core.util.Function, arch:runtime yerine arch:common taşındı. Böylece, çalışma zamanı bağımlılığı olmadan (ör. aşağıdaki paging:common bölümünde bulabilirsiniz.

lifecycle:common, lifecycle:runtime ürününün bir bağımlılığıdır. Dolayısıyla bu değişiklik, doğrudan lifecycle:runtime ürününü etkilemez, yalnızca sayfalandırmanın yaptığı gibi doğrudan lifecycle:common uygulamasına bağlı olan modülleri etkiler.

Sayfalama

Yaşam Döngüleri 1.1.1 ile birlikte 1.0.0-alpha7 sayfası yayınlandı. Alfa7 sayfası, yukarıda belirtilen Function sınıfının taşınmasına bağlı olduğundan lifecycle:runtime bağımlılığınızı android.arch.lifecycle:runtime:1.1.1 olarak güncellemeniz gerekir.

Sayfalandırmanın beta sürümü kullanıma sunulmadan önce, alpha7 sayfalamanın son sürüm olarak sunulması planlanıyor.

API Değişiklikleri

  • DataSource.LoadParams nesne artık genel oluşturucuya sahip ve DataSource.LoadCallback nesne artık soyut. Bu, bir DataSource öğesinin sarmalanmasına veya bir DataSource öğesini sahte bir geri çağırma ile doğrudan test etmenize olanak tanır. b/72600421
  • DataSource ve DataSource.Factory Haritacılar
    • map(Function<IN,OUT>), DataSource tarafından yüklenen sonuçları dönüştürmenize, sarmanıza veya süslemenize olanak tanır.
    • mapByPage(<List<IN>,List<OUT>>), toplu işlem için de aynısını sağlar (ör. SQL'den yüklenen öğelerin ek olarak ayrı bir veritabanını sorgulaması gerekiyorsa bu işlem toplu olarak yapılabilir.)
  • PagedList#getDataSource(), kolaylık yöntemi olarak eklendi b/72611341
  • recyclerview.extensions paketi ve LivePagedListProvider kalıntıları da dahil olmak üzere, desteği sonlandırılmış tüm sınıflar API'den kaldırıldı.
  • Harita işlevini etkinleştirmek için DataSource.Factory, arayüzden soyut sınıfa değiştirildi.

Hata Düzeltmeleri

  • İnşaatçılar nihai olarak değiştirildi. b/70848565
  • Oda DataSource uygulaması, birden çok tablolu sorguları işleyecek şekilde düzeltildi. Bu düzeltme Oda 1.1.0-beta1'de bulunmaktadır (yukarıya bakın).
  • Yer tutucuların etkin olması ve PositionalDataSource için BoundaryCallback.onItemAtEndLoaded çağrılmasını engelleyen bir hata düzeltildi. toplam boyut, sayfa boyutunun tam katıdır.

2 Mart 2018

1.1.0-alpha3 adlı odanın rezervasyonu iptal edildi. Bu, geliştirme ekibi tarafından planlanan 1.1.0 adlı oda.

API Değişiklikleri

  • GeçersizationTracker addObserver ve removeObserver yöntemleri artık eşzamanlıdır ve kullanıcı arayüzü olmayan bir iş parçacığında çağrılması gerekir. Bu, masaları gözlemlerken ortaya çıkabilecek bazı yarış koşullarını önler.

  • RoomDatabase'de yeni bir clearAllTables() yöntemi bulunuyor tüm tablo içeriklerini kısaltacak bir sınıf oluşturun. b/63807999

  • SupportSQLiteQuery artık sayıyı döndüren bir getArgCount() yöntemine sahip olabilir. b/67038952

Hata Düzeltmeleri

  • @RawQuery artık Sayfalama sorguları için düzgün şekilde desteklenmektedir. b/72600425

  • Oda, oluşturulan Dao sınıfı artık düzgün şekilde adlandırarak 2 veya daha fazla Dao arayüzü aynı pakette bulunan iç sınıftır ve aynı ada sahip olmalıdır. b/73536380

  • Pojo içindeki genel alan türleri, genişletmenin üyesi olarak düzgün bir şekilde ayrıştırılır sınıfını kullanır. b/73534868

  • Dao arayüzlerinde bağımlılıktan devralınan sorgu parametreleri yapıları artık düzgün bir şekilde ayrıştırılmaktadır. b/68118746

  • @Relation öğeleri için oluşturulan sorgular artık alan adlarından düzgün şekilde çıkış yapıyor. b/70925483

27 Şubat 2018

Sayfa 1.0.0-alpha6, Destek Kitaplığı 27.1.0 sürümüyle birlikte kullanıma sunuldu. ListAdapter ve ilgili birkaç sınıf, belirli sınıfların işlevini daha anlaşılır hale getirmek için birkaç yeniden adlandırmayla birlikte Sayfalar Kitaplığı'ndan doğrudan Recyclerview'a taşındı. Sayfalandırmanın bu alfa sürümü, muhtemelen API'yi bozan önemli değişikliklerin yapıldığı son sürümdür.

API Değişiklikleri

  • recyclerview-v7'ye taşınan sınıflar:
    • ListAdapter
  • Sınıflar yeniden adlandırıldı ve recyclerview-v7 sürümüne taşındı:
    • ListAdapterHelper -> AsyncListDiffer
    • ListAdapterConfig -> AsyncDifferConfig
    • DiffCallback -> DiffUtil.ItemCallback
  • Sayfalara ayırma çalışma zamanı içinde yeniden adlandırılan sınıflar:
    • PagedListAdapterHelper -> AsyncPagedListDiffer

Taşınan sınıflar, Sayfalama Kitaplığı'ndan bağımsız olarak RecyclerView ile birlikte kullanışlıydı. Yani, Sayfalandırma alfa sürümüne bağlı olmadan kullanılabilirler. Ancak, Sayfalama kullanan uygulamaların da aynı anda Alfa 6 ve Destek Kitaplığı 27.1.0 sürümüne geçmesi gerektiği anlamına gelir.

** Paging Alpha6 için taşıma kılavuzu: **

  • Sayfalama ve geri dönüşüm bağımlılarını android.arch.paging:runtime:1.0.0-alpha6 ve com.android.support:recyclerview-v7:27.1.0 olarak güncelle
    • ListAdapter, Paging'den RecyclerView'a taşındığı için bunların eş zamanlı olarak yapılması gerekir
  • ListAdapterHelper referanslarını AsyncListDiffer olarak güncelleyin
    • Daha açık ifadelerin yer aldığı getCurrentList().getItem(index) ve getCurrentList().size() yöntemlerinin kullanılması amacıyla getItem(index)/getItemCount() kaldırıldı.
  • ListAdapterConfig referanslarını AsyncDifferConfig olarak güncelleyin
  • DiffCallback referanslarını DiffUtil.IttemCallback olarak güncelleyin
  • PagedListAdapterHelper referanslarını AsyncPagedListDiffer olarak güncelleyin
  • setList() referanslarını submitList() olarak güncelle
    • liste farklılaştırmanın eş zamansız doğasını netleştirmek amacıyla yeniden adlandırıldı

Hata Düzeltmeleri

  • Yer tutucular olduğunda yanlış başlangıç konumunun ilk yüklemeye geçirilmesi sorunu düzeltildi devre dışı bırakılır. b/73513780

15 Şubat 2018

1.1.0-alpha2 adlı odanın rezervasyonu iptal edildi.

Yeni Özellikler

  • Oda, artık veritabanının ileriye yazma günlük kaydı modunda açılmasını destekliyor. Yazmalarınız bu modda artık okuma sorgularınızı engellemez. Her ne kadar daha fazla bellek kullanır (birden çok bağlantı nedeniyle). Bu mod genellikle daha hızlı. Cihaz API 16 veya daha üst bir boyuta sahipse Oda varsayılan olarak WAL kullanır ve , düşük bellek kapasiteli bir cihaz değildir. Bu davranışı, RoomDatabase.Builder üzerinde setJournalMode() yöntemi. b/67757002

  • Guava Desteği: Oda artık Guava'nın geri alınmasını destekliyor DAO sorgularında Optional<T> veya ListenableFuture<T>. ListenableFuture<T> özelliğini kullanmak için Odadan guava yapıyı içe aktarmanız gerekiyor (android.arch.persistence.room:guava:1.1.0-alpha2).

  • Oda, DAO sorgudan java.util.Optional<T> döndürmeyi destekliyor.

  • Varsayılan uygulamalara sahip arayüz yöntemleri artık DAO sınıfta @Transaction yöntem. Bu hem Java 8 hem de kullanılabilecek Kotlin. b/72416735

Hata Düzeltmeleri

  • Bir derleme hatası olması durumunda @Relation kullanan oluşturucular, derleme hatasına neden olmaz. başka bir oluşturucusu vardır. b/72884434

  • @Query yöntemlerinde ' ile çıkış yapılan tablo adları artık düzgün bir şekilde kod dışına alınıyor kullanın. b/72366965

  • Odada artık sınıf yapısını okumak için Kotlin @Metadata ek açıklamaları kullanılıyor bazı ek açıklamalarla karşılaşabilirsiniz. Bu, pojonun kurucu parametre adları düzgün şekilde okunabilir. b/67181813

  • Eski sürüme geçme taşıma yollarını bulmayla ilgili sorun düzeltildi. b/72153525

  • Varsayılan olmayan sütun türleri artık Mevcut veritabanını Odaya aktarır. b/71953987

  • Oda, artık Kotlin sınıflarında kalıcı boolean? alanlarını düzgün şekilde işliyor. b/72786402

22 Ocak 2018

1.1.0 yaşam döngüleri, 1.1.0-alpha1 odası ve 1.0.0-alpha5 numaralı çağrı iptal edildi.

Yaşam döngüsü 1.1.0

Paketleme Değişiklikleri

Yeni ve çok daha küçük bağımlılıklar artık mevcut:

  • android.arch.lifecycle:livedata:1.1.0
  • android.arch.lifecycle:viewmodel:1.1.0
ziyaret edin.

API Değişiklikleri

  • Kullanımdan kaldırılan LifecycleActivity ve LifecycleFragment artık kaldırıldı. Lütfen şunu kullanın: FragmentActivity, AppCompatActivity veya Fragment desteği.
  • ViewModelProviders ve ViewModelStores etiketlerine @NonNull ek açıklama eklendi
  • ViewModelProviders oluşturucu desteği sonlandırıldı. Lütfen statik yöntemlerini doğrudan kullanın
  • ViewModelProviders.DefaultFactory desteği sonlandırıldı, lütfen ViewModelProvider.AndroidViewModelFactory kullanın
  • Statik ViewModelProvider.AndroidViewModelFactory.getInstance(Application) yöntemi, verileri almak için eklendi ViewModel ve AndroidViewModel örnekleri oluşturmaya uygun bir statik Factory.

Oda 1.1.0-alfa1

Yeni Özellikler

  • RawQuery: Bu yeni API, @Dao yöntemlerinin SQL'i sorgu parametresi olarak almasına olanak tanır b/62103290, b/71458963
  • fallBackToDestructiveMigrationsFrom: RoomDatabase.Builder ürünündeki bu yeni API şunlara olanak tanır: Hangi şema sürümlerindeki yıkıcı taşıma işlemlerinin başlatılacağı konusunda daha ayrıntılı kontrol izin verilir (fallbackToDestructiveMigration ile karşılaştırıldığında) b/64989640
  • Oda artık yalnızca daha yeni Paging API'lerini (alfa-4+) destekliyor. LivePagedListProvider Yeni Oda alfa sürümünü kullanmak için sayfalama özelliğini kullanmanız gerekir alpha-4 veya daha yüksek ve henüz yapmadıysanız LivePagedListProvider değerinden LivePagedListBuilder değerine geçiş yapın.

Hata Düzeltmeleri

  • Kotlin Kapt türleri için iyileştirilmiş destek. b/69164099
  • Alanların sırası artık şemayı geçersiz kılmaz. b/64290754

Sayfalama 1.0.0-alfa5

Hata Düzeltmeleri

  • Yer tutucular devre dışı bırakıldığında sayfa yüklemeyi düzeltme b/70573345
  • Yasa Dışı ArgumentException hatasının (b/70360195) izlenmesi için ek günlük kaydı (ve oda tarafında tahmine dayalı düzeltme)
  • Javadoc örnek kod düzeltmeleri b/70411933, b/71467637

11 Aralık 2017

alpha4-1 sayfası serbest bırakıldı. Bu, Paging alfa 4 için küçük bir hata düzeltme sürümüdür.

Hata Düzeltmeleri

  • Geri çağırma parametrelerinde geçersiz veri kaynaklarını kontrol etmeyin. b/70353706 b/70360195

7 Aralık 2017

Çoğunlukla önemli değişiklik ve eklemelerle alpha4 sayfası kullanıma sunuldu. ve ağ + veritabanı kullanım örneklerini içerir.

API Değişiklikleri

  • DataSource artık doğrudan ağdan sayfalandırmayı kolaylaştırmak için eşzamansız bir API'dir:

    • İlk boyut ve veriler için tek giriş noktası
    • Geri çağırmayı basılı tutarak ve daha sonra göndererek ağın yeniden denemesini destekler
    • Threadsafe geri çağırmalar, tek ağ oluşturmak için eşzamansız yüklemeye olanak tanır kullanıcı arayüzü ileti dizisinde PagedList yedeklendi.
    • İlk yükleme parametreleriyle ilgili daha açık hata davranışı
  • TiledDataSource, şu değeri yansıtacak şekilde PositionalDataSource olarak yeniden adlandırıldı: konuma dayalı dizine ekleme ve yer tutucular olduğunda devre dışı bırakıldı.

  • PageKeyedDataSource, yerleştirilmiş sonraki/önceki jetonları desteklemek için eklendi ağ sayfası yüklenir. KeyedDataSource, şu şekilde yeniden adlandırıldı: ItemKeyedDataSource net bir şekilde belirtin.

  • LivePagedListBuilder ve DataSource.Factory değiştirme LivePagedListProvider. Oluşturucu, aynı yapıda birçok başka uzantı ile özelleştirme ve daha basit varsayılan ayarlar. Fabrikada DataSource nesile izin veriliyor kodundan LiveData bağımsız kalmaya devam edecektir.

  • Veritabanı ve ağ kullanım alanı için PagedList.BoundaryCallback eklendi.

  • PagedList.Builder oluşturucu şu an DataSource + PagedList.Config alıyor LivePagedListBuilder operatörüne daha benzerdir ve Java dili veya Kotlin'deki türetilmiş türler.

  • PagedList.getConfig() eklendi ve PagedList.Config artık herkese açık üyeye sahip özellikler.

  • KeyedDataSource.loadBefore() artık sonuçların geri alınmasını beklemez.

  • PagedListAdapter.onCurrentListChanged(), ile ilgili güncellemeleri dinlemesi için eklendi PagedList görüntüleniyor.

Hata Düzeltmeleri

  • PagedListAdapter (Yardımcı) içindeki IndexOutOfBoundsException sorunu düzeltildi (b/67883658)

1.0.0 - 6 Kasım 2017

Tüm önemli bileşenler (sayfalama hariç) artık 1.0.0. Bu, tamamen aynı reactivestreams kitaplığında yapılan bir değişiklik dışında rc1 olarak yayınla.

Hata Düzeltmeleri

Yayın Adayı - 18 Ekim 2017

Tüm önemli yapılar (sayfalama hariç) artık 1.0.0-rc1.

1.0.0 sürümü. 1.0.0-rc1 kullanmak için lütfen projelerinizi yükseltin ve bize yardımcı olun test etmeye karar verdi. 1.0.0.

Davranış Değişikliği

  • Bu sürümle, Lifecycle.Event#ON_STOP artık şu durumlarda gönderilir: onSaveInstanceState adlı kullanıcının adı: CREATED (ON_STOP göndermeden) önce. Şurada daha fazla bilgi edinebilirsiniz: Yaşam döngüleri belgeleri.

Hata Düzeltmeleri

  • Oda:

    • Oda artık OutOfMemory sorununu düzelten en son harici yapıya bağlıdır sorunlarından bahsedeceğiz. b/62473121
    • Query yöntemlerine artık @Transaction ile not ekleyebilirsiniz. Ayrıntılar için @Transaction adresindeki referans dokümanlara bakın. b/65112315
    • Odadaki StringUtil sınıf herkesten kaldırıldı API (hiçbir zaman herkese açık bir API olarak tasarlanmamıştır).
  • Yaşam döngüleri:

    • LiveData, Etkinlik API'de kısmen kapsandığında düzgün şekilde çalışır < 24. b/65665621

    • Üst sınıflarda OnLifecycleEvent yöntemleri artık düzgün bir şekilde çağrılıyor veya bu mümkün değilse derleme sırasında uyarı yazdırılır. b/63474615

    • Yaşam döngüsü artık bir WeakReference değerini Yaşam Döngüsü Sahibi'ni kullanarak Yaşam döngüsü daha uzun süre bellekte tutulursa LifecycleOwner (Yaşam Döngüsü Sahibi) (bu yalnızca bir önlemdir, aksi takdirde her zaman : Lifecycle).

9 Ekim 2017

alpha-3 sayfası serbest bırakıldı; Bu nedenle, beta 2 Yaşam Döngüleri ve Odası kullanıma sunuldu.

Hata Düzeltmeleri

  • İyileştirilmiş Sayfalama dokümanları.

5 Ekim 2017

Tüm önemli yapılar (sayfalama hariç) artık beta 2. Bu sürümde notlamanın yeni bir sürümü yoktur.

Hata Düzeltmeleri

  • Yaşam döngüleri:

    • LiveDataReactiveStreams artık düzgün bir şekilde kaynak e-posta listesinden çıkıyor LiveData etkin olmadığında yayıncı yapar. b/62609183
    • Üst sınıf başka bir modülden olduğunda yaşam döngüsü etkinlikleri üst sınıflara düzgün şekilde aktarılır. b/63474615
    • LiveData, abonelikten çıkma işlemi sırasında abonelik oluşturmayı göstereceğim. b/66337741
    • Java 8 dil yapısı için FullLifecycleObserver artık bağımlılık ağacında kullanılabilir. b/66525578

    • ProGuard için lütfen aşağıdaki satırları ProGuard dosyanıza ekleyin. (1.0.0 gönderildiğinde bu gerekli değildir)

      • -keep class * implements android.arch.lifecycle.GeneratedAdapter {<init>(...);}
  • Oda:

    • Oda, derleme sırasında bir hata yazdırıyor. Döndürülen Pojo @Query yöntemi,@NonNull sütunlarından bazılarıdır. Alan @Nullable ise Yalnızca oda bir uyarı yazdırır. b/67115337
    • Oda, yeni işletim sistemi sürümlerindeki dizinleri artık doğruluyor. b/63132683
    • Birden fazla öğe varsa varsayılan olarak odanın bağımsız değişkensiz kurucusu seçilir yapıcılarla eşleştirme yaptığını gösterir. b/67353427
    • Tek sütunlu birincil anahtarlar Nullable olabilir Integer veya Long. b/67086876
    • Geçersiz kılma izleyici, test modunda tekrar girişi düzgün bir şekilde gerçekleştirir. b/65471397
    • Oda, sütun ve tabloda geçersiz karakter olup olmadığını kontrol ediyor derleme zamanındaki adlar (geçersiz karakterler: `, "). b/64749111

21 Eylül 2017

Bu sürümle birlikte tüm Mimari Bileşenler modülleri en az beta 1 SDK'ya ulaşıyor (alpha 2 olan yeni Sayfalama Kitaplığı hariç).

Başka API değişikliği planlamıyoruz. Planlanmayan değişiklikler olabilir ancak API'leri 1.0.0 kararlı sürümden önce değiştirme çubuğu çok yüksek ve bu da düşük bir ihtimaldir.

  • Yaşam Döngüsü Etkinliği ve LifecycleFragment, 1.0.0 kararlı sürümden önce kaldırılır. Onlar Destek Kitaplığı 26.1.0 veya sonraki sürümleri kullanılırken gerekli değildir.

Alfa aşamasından farklı olarak beta aşamasının çok kısa bir süresi olacak şekilde planlandı.

Sürüm Değişiklikleri

  • Yaşam Döngüsü Uzantıları ve Oda artık beta 1
  • Sayfalama artık alpha 2
  • Yaşam döngüleri (çalışma zamanı, ortak) ve Arch Core (yaygın) değerlerinde değişiklik yok. Bu eserlerin her ikisi de 13 Eylül'den beri 1.0.0 sürümüdür.

Yeni Yapılar

  • Yaşam döngüleri artık common-java8 adında yeni bir yapıya sahip. Bu yapı bir DefaultLifecycleObserver adlı yeni bir arayüzü kullanın. hangi tüm yaşam döngüsü yöntemleri için varsayılan uygulamalara sahiptir. Java 8 dili kullanıyorsanız ek açıklamalar yerine bu yapıyı tercih etmelisiniz.

    • beta1 hizmetindeki bir hata nedeniyle Yeni common-java8 yapısını kullanmak için android.arch.lifecycle:common:1.0.1 modülünü. Bu sorun beta2 içinde düzeltilecek.

Paketleme Değişiklikleri

  • android.arch.persistence.room.db, android.arch.persistence.db URL'sine taşındı
  • android.arch.persistence.room.db-impl taşındı ve android.arch.persistence.db-framework olarak yeniden adlandırıldı

Bu eserlerin her ikisi de zaten Room'a bağımlı olduğundan onları doğrudan kullanmadıysanız derleme dosyalarınızda herhangi bir değişiklik yapmanız gerekmez.

API Değişiklikleri

  • Oda:

    • @ColumnInfo ek açıklaması artık sütunda bir harmanlama ayarlanmasını destekliyor. b/62007004
    • @ColumnInfo ile ek açıklama eklenmedikleri sürece transient alanları artık varsayılan olarak yoksayılıyor. @Embedded veya @Relation. b/62600692
    • Birincil Anahtarlar, otomatik olarak oluşturulmadıkça @NonNull ile ek açıklama içermelidir. b/64292391
      • Bu değişiklik için şema taşıma işlemi gerekebilir. Bu durumun neden olduğu rahatsızlıktan dolayı özür dileriz.
    • Yeni bir kolaylık ek açıklaması (@Transaction) eklendi bir DAO yöntemini geçersiz kılar ve bir işlem içinde çalıştırır.
  • SQLite Veritabanını Destekleyin:

  • Sayfalama:

    • Daha fazla örnek ve ileti dizisi ek açıklamaları içeren geliştirilmiş Sayfalama dokümanları.

Hata Düzeltmeleri

  • Oda:
    • @Query yöntemlerindeki çok satırlı Kotlin dizeleri düzgün bir şekilde işleniyor. b/65809374
  • Sayfalama:
    • Sayfalandırma yapısı artık Jamboard'a bağlı değil. b/65690261

1.0.0 Alfa 9-1 - 13 Eylül 2017

Bu, temel yaşam döngüsü yapılarının (çalışma zamanı, ortak) ve altyapı çekirdeğinin (yaygın) olduğu ana sürümdür 1.0.0 kararlı sürümüne ulaşın.

Bu değişiklikle birlikte, Destek Kitaplığı 26.1.0 artık bu kitaplıklara ihtiyaç duyuyor. Hem AppCompatActivity hem de Destek Parçası LifecycleOwner arayüzünü uygulayın.

Bu sürüm, yeni entegrasyondan yararlanmak için Destek Kitaplığı 26.1.0 sürümüne de ihtiyaç duyar.

Yeni Kitaplık: Sayfalama

Bu sürüm, Paging adlı yeni bir kitaplık da içerir. Bu kitaplık, büyük boyutlu veri kümelerini parçalar halinde parçalara ayırarak bir RecyclerView'a dönüştürün. Çağrı, alpha1 olarak yayınlandı ve kendi sürüm döngüsü vardır.

API Değişiklikleri

Hata Düzeltmeleri

  • Oluşturulan sınıflar, artık uygulamanın sınıf yolunda ek açıklamaya sahipse @Generated ile ek açıklama olarak gösterilir. b/35754819

  • MediatorLiveData'nın gözlemci karşılaştırma hatası düzeltildi. b/64413274

  • SQLite WITH sorguları artık [LiveData] ile desteklenmektedir. [ref-LiveData] b/62510164

  • 1'den fazla tablo olduğunda InvalidationTracker'ın doğru listeyi göndermemesine neden olan hata düzeltildi gözlemlenebilir. b/65099281

  • Oda'nın Windows'da farklı dosyalar oluşturmasına neden olan hata düzeltildi. b/64470691

  • Kök paketteki LifecycleObserver'lar artık desteklenmektedir. b/62310817

1.0.0 Alfa 9 - 16 Ağustos 2017

Hata düzeltmeleri

  • LiveData'daki bir hata düzeltildi. Bu hata, onChanged yönteminden ilki kaldırıldığında ikinci Observer'ın yoksayılmasıyla ortaya çıktı. b/64285805

1.0.0 Alfa 8 - 1 Ağustos 2017

Davranış Değişiklikleri

  • Temel türlerin veya sütunların sütunları için NOT NULL kısıtlaması eklendi NonNull ile ek açıklama içerir. Bu, işletmenizin yapısını ve olduğundan, halihazırda Mimari Bileşenler alfa 7 veya önceki sürümleri kullanıyorsanız verileri saklamak istiyorsanız bir taşıma işlemi uygulamanız veya Oluşturucuda fallbackToDestructiveMigration() yöntemini kullanın. b/62007004

API Değişiklikleri

1.0.0 Alfa 7 - 26 Temmuz 2017

Hata düzeltmeleri

1.0.0 Alfa 6 - 25 Temmuz 2017

Davranış değişiklikleri

  • LifecycleObserver çağrılarının sırası değiştirilmiştir. Daha önce gözlemciler her zaman eklendikleri sırayla çağrılıyordu: observer1, observer2 tarihinden önce eklenirse observer2 tarihinden önce ON_CREATE ve diğer tüm etkinlikleri alır. Bu durum, artık yıkım olayları için geçerli değil. Onlar için gözlemciler, toplamanın tersi sırasına göre çağrılıyor. Dolayısıyla şu anki davranış şu şekildedir: observer1, observer2 tarihinden önce eklenirse önce ON_CREATE, ardından observer2 cihazına gönderilir (ON_START ve ON_RESUME için de aynı olur), ancak ON_PAUSE etkinliği önce observer2, ardından sadece observer1 adlı kişiye gönderilir (ON_STOP ve ON_DESTROY için aynı).observer1

  • Taşıma işlemi eksikse oda bir istisna oluşturur. Daha önce Room, veritabanını temizliyordu ancak şimdi kilitleniyor. Geliştiriciler, oluşturucu API'sini çağırarak temizleme davranışını etkinleştirebilir. b/63872392

API Değişiklikleri

  • RoomDatabase.Builder hedefine fallbackToDestructiveMigration() yöntemi eklendi Taşıma işlemi eksikse veritabanını temizleyin. b/63872392

  • Mimari bileşenleri artık destek kitaplığı 26.0.0'a bağımlı

Hata düzeltmeleri

  • @Yerleşik ile iç içe yerleştirilmiş @Relation öğesinin işlenmesi düzeltildi. b/63736065

  • Otomatik artırımlı birincil anahtara sahip tablolar için test amaçlı taşıma işlemleri düzeltildi. b/63393618

  • Artık DELETE veya UPDATE sorgularını çalıştıran @Sorgular düzgün şekilde bağımsız değişkenleri alıyor. b/63872538

  • Artık sahip parçası geri yığında olduğunda ve yapılandırma değişikliği iki kez yapıldığında ViewModels korunur. b/38445801

1.0.0 Alfa 5 - 18 Temmuz 2017

API Değişiklikleri

Odaya RxJava desteği eklemek için android.arch.persistence.room:rxjava2 yapısına güvenmeniz gerekir.

Hata düzeltmeleri

  • Parametre içermeyen @Delete sorgu düzeltildi. b/63608092

  • Alıcı ve belirleyiciler için sabit Oda türü kontrolleri. b/63733651

1.0.0 Alfa 4 - 11 Temmuz 2017

API Değişiklikleri

  • RoomDatabase'e yeni bir kolaylık yöntemi (runInTransaction()) eklendi.

  • @Insert, @Delete ve @Update yöntemlerinde artık farklı öğe türlerinden parametreler bulunabilir. b/62682405

Hata Düzeltmeleri

  • @Dao yöntemde byte[] işlemlerinin gerçekleştirilmesi düzeltildi. b/62460045

  • Odadaki taşıma kontrolünde artık büyük/küçük harfe duyarlı olmayan karşılaştırma kullanılıyor. b/62875382

  • Yaşam Döngüleri yapısı için ProGuard yapılandırması düzeltildi. b/62113696

1.0.0 Alfa 3 - 15 Haziran 2017

API Değişiklikleri

  • @OnLifecycleEvent artık yalnızca 1 etkinlik parametresini destekliyor. Bu, Java 8 desteğinin hazırlık sürecinde yapılan bir değişikliktir. Böylece biz de yeni arayüzler oluşturacağız. Bu değişiklikle ilgili olarak yalnızca @OnLifecycleEvent(ON_ANY) ek açıklamalı yöntem, ikinci bir tür parametresi alabilir Event (ilk parametre LifecycleOwner). Ayrıntılar için Yaşam döngüsü dokümanlarına göz atın.

  • LifecycleActivity ve LifecycleFragment sınıfları android.arch.lifecycle:extensions yapısına taşınır.

  • MigrationTestHelper, Instrumentation örneğini alır. yerine Context yerine kullanarak şemayı test öğelerinden okuyabilir ve bağlamayı öğreteceğim.

  • @Insert, @Delete ve @Update ek açıklamaları @DAO yöntemlerinde artık parametre türü Iterable olabilir. b/62259820

Hata Düzeltmeleri

  • Yaşam döngüsü olayları içeren geçersiz kılınan yöntemler artık birden çok kez çağrılmıyor.

  • Birden fazla IN parametresi artık düzgün bir şekilde işleniyor. b/62608681

  • Soyut DAO sınıfları artık @Database alan bir oluşturucuya sahip olabilir örneğidir. b/38488747

  • DAO artık tür parametreleriyle bir üst sınıfa/arayüze sahip olabilir. b/62103620

1.0.0 Alfa 2 - 2 Haziran 2017

API Değişiklikleri

Hata Düzeltmeleri

  • Yaşam döngüsü boyunca ProGuard dosyaları. (b/62113696)
  • Tür Dönüştürücülerde veri kaybı. (b/62100716)
  • @Insert sorgularından Long[] döndürülmesine izin ver.

1.0.0 Alfa 1 - 17 Mayıs 2017

MinSDK: 14

Genel uyarılar

  • Lansmandan önce çok fazla test yapmış olsak da Mimari Bileşenleri şu anda alfa sürümündedir. Bir üretim uygulaması oluşturuyorsanız API'nin 1.0 sürümünden önce değişeceğini ve tam olarak sağlam olmayabileceğini unutmayın. Kullandığınız kitaplıklardaki hataları ayıklama konusunda rahat değilseniz öncelikle yan projelerde Mimari Bileşenleri denemenizi öneririz.

  • Herkesin bugün taşınmasını önermiyoruz. Mimari bileşenlerinin 1.0 sürümü için hazır bir taşıma rehberimiz olacak.

Bilinen sınırlamalar ve sorunlar