DataStore
| Son Güncelleme | Kararlı sürüm | Sürüm Adayı | Beta Sürümü | Alfa sürümü | 
|---|---|---|---|---|
| 22 Ekim 2025 | 1.1.7 | - | 1.2.0-beta01 | - | 
Bağımlılıkları bildirme
DataStore'a bağımlılık eklemek için Google Maven deposunu projenize eklemeniz gerekir. Daha fazla bilgi için Google'ın Maven deposunu okuyun.
DataStore'un iki uygulaması vardır: Preferences ve Proto. Birini veya diğerini seçin. Android'den bağımsız bağımlılıkları da her iki uygulamaya ekleyebilirsiniz.
Uygulamanız veya modülünüz için build.gradle dosyasına ihtiyacınız olan uygulamanın bağımlılıklarını ekleyin:
Preferences DataStore
Groovy
// Preferences DataStore (SharedPreferences like APIs) dependencies { implementation "androidx.datastore:datastore-preferences:1.1.7" // optional - RxJava2 support implementation "androidx.datastore:datastore-preferences-rxjava2:1.1.7" // optional - RxJava3 support implementation "androidx.datastore:datastore-preferences-rxjava3:1.1.7" } // Alternatively - use the following artifact without an Android dependency. dependencies { implementation "androidx.datastore:datastore-preferences-core:1.1.7" }
Kotlin
// Preferences DataStore (SharedPreferences like APIs) dependencies { implementation("androidx.datastore:datastore-preferences:1.1.7") // optional - RxJava2 support implementation("androidx.datastore:datastore-preferences-rxjava2:1.1.7") // optional - RxJava3 support implementation("androidx.datastore:datastore-preferences-rxjava3:1.1.7") } // Alternatively - use the following artifact without an Android dependency. dependencies { implementation("androidx.datastore:datastore-preferences-core:1.1.7") }
Proto DataStore
Groovy
// Typed DataStore (Typed API surface, such as Proto) dependencies { implementation "androidx.datastore:datastore:1.1.7" // optional - RxJava2 support implementation "androidx.datastore:datastore-rxjava2:1.1.7" // optional - RxJava3 support implementation "androidx.datastore:datastore-rxjava3:1.1.7" } // Alternatively - use the following artifact without an Android dependency. dependencies { implementation "androidx.datastore:datastore-core:1.1.7" }
Kotlin
// Typed DataStore (Typed API surface, such as Proto) dependencies { implementation("androidx.datastore:datastore:1.1.7") // optional - RxJava2 support implementation("androidx.datastore:datastore-rxjava2:1.1.7") // optional - RxJava3 support implementation("androidx.datastore:datastore-rxjava3:1.1.7") } // Alternatively - use the following artifact without an Android dependency. dependencies { implementation("androidx.datastore:datastore-core:1.1.7") }
Geri bildirim
Geri bildiriminiz Jetpack'in iyileştirilmesine yardımcı olur. Yeni sorunlar keşfederseniz veya bu kitaplığı iyileştirmeye yönelik fikirleriniz varsa lütfen bize bildirin. Yeni bir sorun 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 belgelerini inceleyin.
Sürüm 1.2
Sürüm 1.2.0-beta01
22 Ekim 2025
androidx.datastore:datastore-*:1.2.0-beta01 iptal edilir. 1.2.0-beta01 sürümü bu commit'leri içerir.
API Değişiklikleri
- CorruptionHandlerherkese açık hâle getirin. (I9ac35, b/452406457)
- GuavaDataStoreuygulamasında- androidx.core.util.Functionkullanın. (I71eae, b/448563999)
- GuavaDataStore.fromiçin- CoroutineContextyerine Executor alan bir aşırı yükleme ekleyin. (I989fa, b/448563183)
Hata Düzeltmeleri
- R8 ile optimize edilmiş ancak getDefaultProguardFile('android-proguard-optimize.txt')kullanmayan bir uygulamadaDataStorekullanılırkenjava.lang.UnsatisfiedLinkErrordüzeltildi. (I27d0d, b/434696293)
- GuavaDataStoreişlemlerinin, belirtilen G/Ç dağıtıcı yerine çağıran iş parçacığında (ör. ana iş parçacığı) yanlışlıkla çalışmasına neden olan sorun düzeltildi. (Ic91ea,b/441801112)
Sürüm 1.2.0-alpha02
7 Mayıs 2025
androidx.datastore:datastore-*:1.2.0-alpha02 iptal edilir. 1.2.0-alpha02 sürümü bu commit'leri içerir.
API Değişiklikleri
- GuavaDataStoresürümünde çoklu işlem desteği eklendi. (e0d608a).
- DataStoreöğesinden- GuavaDataStoreoluşturmak için yardımcı yöntem eklendi. (9af26f4)
- Kotlin 2.0 ile yayınlanan projelerin kullanılabilmesi için KGP 2.0.0 veya daha yeni bir sürüm gerekir. (Idb6b5)
- Mevcut datastoreaşırı yüklemesini, doğrudan başlatma sırasında kullanılacak bir DataStore'u başlatmak için bir temsilci yöntemiyle değiştirin. (If71b9)
Sürüm 1.2.0-alpha01
26 Mart 2025
androidx.datastore:datastore-*:1.2.0-alpha01 iptal edilir. 1.2.0-alpha01 sürümü bu commit'leri içerir.
Yeni Özellikler
- datastore-guavamodülü,- GuavaDataStorearacılığıyla Java ve Guava- ListenableFuturekullanıcılarına uygun API'leri kullanıma sunmak için eklendi. (Iadd5e0)
- DirectBootmodunda- DataStorekullanımı artık destekleniyor. Doğrudan başlatma modunda kullanılacak bir veri deposu oluşturmak için bu veri deposunun Cihaz Korumalı depolama alanında oluşturulması gerekir. Bu,- DataStoreFactory'deki- DataStoreAPI'leri- createInDeviceProtectedStorage()ve- DataStoreDelegate'deki- deviceProtectedDataStore()ile sağlanabilir. (Ib90e56)
API Değişiklikleri
- FileStorageile kullanılmak üzere- androidx.datastore.core.Serializerarayüzünü uygulayan- PreferencesFileSerializereklendi. (I4c71f3)
Hata Düzeltmeleri
- Yarış durumu söz konusu olduğunda verileri okumak için ikinci bir deneme eklenerek başlangıçta OkioStorageiçindekiFileNotFoundExceptionsorunu giderildi. (I43b3fb, b/337870543)
- Ortak kod kullanımı için ReplaceFileCorruptionHandleröğesinin varsayılan oluşturucusunu tanımladı. (I795b05, b/358138957)
Sürüm 1.1
Sürüm 1.1.7
20 Mayıs 2025
androidx.datastore:datastore-*:1.1.7 iptal edilir. 1.1.7 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
- datastore-preferences-coreAndroid yapısında eksik Proguard kuralları sorunu düzeltildi. (3f3f6e, b/413078297)
Sürüm 1.1.6
7 Mayıs 2025
androidx.datastore:datastore-*:1.1.6 iptal edilir. 1.1.6 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
- Gradle meta verilerinin 1.1.5sürümünde bozulmasına neden olan sorun düzeltildi. Bu sorun, yeni AGP KMP eklentisi DSL'sindeki bir hatadan kaynaklanıyordu. Bu hata, tüm hedef platformların meta verilerinin otomatik olarak eklenmesini engelliyordu. Bu hata, bazı DataStore Android yöntemlerinin artık müşterilerin derlemelerinde görünmemesine neden oluyor. Bu sorunu düzeltmek içinandroidLibraryyerinebuild.gradleiçinde eskiandroidDSL'yi kullanmanız gerekir. (7801abf)
Sürüm 1.1.5
23 Nisan 2025
androidx.datastore:datastore-*:1.1.5 iptal edilir. 1.1.5 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
- PreferencesDataStoreiçinde- CorruptionExceptionsorunlarını azaltmak için varsayılan depolama alanı- OkioStorageolarak değiştirildi.- FileStorageBu değişiklik,- PreferencesFileSerializerkullanılarak uygulanmıştır. b/346197747
Sürüm 1.1.4
26 Mart 2025
androidx.datastore:datastore-*:1.1.4 iptal edilir. 1.1.4 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
- CorruptionExceptiondeğerini azaltarak güvenilirliği artırmak için varsayılan depolama alanını- OkioStorageyerine- FileStorageolarak değiştirin. (I71181, b/346197747)
Sürüm 1.1.3
26 Şubat 2025
androidx.datastore:datastore-*:1.1.3 iptal edilir. 1.1.3 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
- Uygulama başlatılırken OkioStorageiçinde karşılaşılanFileNotFoundExceptionsorunu düzeltildi. İlk dosya okuma denemesi başarısız olursa ilk okuma sırasında dosyanın farklı bir işlem tarafından oluşturulması nedeniyle yarış durumu oluşmuş olabileceği ihtimaline karşı ikinci bir deneme yapılır. (I43b3f, b/337870543)
Sürüm 1.1.2
15 Ocak 2025
androidx.datastore:datastore-*:1.1.2 iptal edilir. 1.1.2 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
- Sıcak okuma gecikmesini (DataStore.data.first()) 8 kat iyileştirin. (22b8a40)
- ReplaceFileCorruptionHandler, KMP ortak kodundan oluşturulabilir. (7632e839)
Sürüm 1.1.1
1 Mayıs 2024
androidx.datastore:datastore-*:1.1.1 iptal edilir. 1.1.1 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
- Birden fazla DataStoreörneğinin dosya kilidini geri alarak farklı işlemlerden yazmaya çalıştığı uç bir durumda "Kaynak kilitlenmesi oluşacak" hatasıyla ilgili Linux'taki yanlış alarm sorunu giderildi.
Sürüm 1.1.0
17 Nisan 2024
androidx.datastore:datastore-*:1.1.0 iptal edilir. 1.1.0 sürümü bu commit'leri içerir.
1.0.0 sürümünden beri yapılan önemli değişiklikler
Daha fazla bilgi için lütfen 1.1.0'ın alfa ve beta sürümlerinin sürüm notlarını inceleyin. 1.1.0'daki başlıca güncellemelerden bazıları şunlardır:
- DataStore artık aynı dosyaya erişen birden fazla işlemi destekliyor ve işlemler arasında gözlemlenebilirlik desteği sunuyor.
- Yeni depolama arayüzü, veri modellerinizi nasıl depolayacağınızı veya serileştireceğinizi özelleştirmenize olanak tanır.
- Artık Kotlin Multiplatform projelerinde DataStore'u kullanabilirsiniz.
Sürüm 1.1.0-rc01
3 Nisan 2024
androidx.datastore:datastore-*:1.1.0-rc01 iptal edilir. 1.1.0-rc01 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
- Yeni veriler eski verilerle aynıysa updateDataçağrılarının disk yazma işlemlerini optimize etmediği performans düşüşü düzeltildi (d64cfb5).
- MultiProcess- DataStoreöğesinin başlatma sırasında geçersiz kılmaları kaçırmasına neden olan yarışma durumu düzeltildi. ((b/326141553),(094c2dd))
Sürüm 1.1.0-beta02
6 Mart 2024
androidx.datastore:datastore-*:1.1.0-beta02 iptal edilir. 1.1.0-beta02 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
- DataStore'da performans iyileştirme özelliği yalnızca gözlemlendiğinde güncelleme bildirimlerini toplar. (b/267792241)- Bu değişikliğin, Coroutines test kitaplığını kullanıyorsanız testlerinizde UncompletedCoroutinesErrortetikleyebileceğini unutmayın. Bu sorunu önlemek için testlerinizdeDataStorebaşlatılırkenTestScope.backgroundScopedeğerini ilettiğinizden emin olun.
 
- Bu değişikliğin, Coroutines test kitaplığını kullanıyorsanız testlerinizde 
- Aynı örnekteki iç içe yerleştirilmiş updateDataçağrılarının kilitlenmesine neden olan sorun düzeltildi. (b/241760537)
- Taşıma sırasında SharedPreferencessilinemezseDataStoreartıkIOExceptionsistisnası oluşturmayacak. (b/195553816)
- Android olmayan JVM ortamlarında updateDatasırasında dosyanın yeniden adlandırılmasının başarısız olmasına neden olan sorun düzeltildi. (b/203087070)
- DataStorebaşlatıldıktan sonra- CorruptionExceptionöğesinin işlenmemesine neden olan sorun düzeltildi. (b/289582516)
Sürüm 1.1.0-beta01
10 Ocak 2024
androidx.datastore:datastore-*:1.1.0-beta01, 1.1.0-alpha07 tarihinden beri herhangi bir değişiklik yapılmadan yayınlandı. 1.1.0-beta01 sürümü şu commit'leri içerir.
Sürüm 1.1.0-alpha07
29 Kasım 2023
androidx.datastore:datastore-*:1.1.0-alpha07 iptal edilir. 1.1.0-alpha07 sürümü şu commit'leri içerir.
API Değişiklikleri
- MultiProcessDataStoreFactoryyöntemleri artık deneysel değildir.- MultiProcessDataStoreFactoryek açıklaması tamamen kaldırıldı.- @ExperimentalMultiProcessDataStore(Ieee54, I8e607)
Hata Düzeltmeleri
- @ExperimentalMultiProcessDataStoreek açıklamalarının kaldırılması 1.1.0-alpha07 sürümünde kullanıma sunuldu. (I8e607)
Sürüm 1.1.0-alpha06
1 Kasım 2023
androidx.datastore:datastore-*:1.1.0-alpha06 iptal edilir. 1.1.0-alpha06 sürümü şu commit'leri içerir.
API Değişiklikleri
- createSingleProcessCoordinatorfabrika yöntemi,- createMultiProcessCoordinatorile tutarlı olması için artık bir dosya yolu (- String,- java.io.Fileve- okio.Path) alıyor. (I211c8, b/305755935)
Sürüm 1.1.0-alpha05
6 Eylül 2023
androidx.datastore:datastore-*:1.1.0-alpha05 iptal edilir. Version 1.1.0-alpha05 contains these commits.
API Değişiklikleri
- Datastore FileStorageartık herkese açık olarak kullanılabiliyor. Böylece istemciler özel parametreler sağlayabilir. (Icb985)
- OkioStorageoluşturucusu,- InterProcessCoordinatorkabul edecek şekilde değiştirildi. Böylece,- MultiProcessCoordinatorile Android'de kullanılabilir. (Iecea3)
Hata Düzeltmeleri
- MultiProcessCoordinatorAynı dizindeki birden fazla dosyanın izlenememesi sorunu düzeltildi.
- Dosya yolları normalleştirilmemişse yinelenen dosyaların algılanamaması sorunu düzeltildi.
- RxDataStore#isDisposedtarafından döndürülen yanlış değerleri düzeltin.
- datstore-preferences-coreyapıtı için eksik ProGuard yapılandırmasını düzeltin.
Sürüm 1.1.0-alpha04
5 Nisan 2023
androidx.datastore:datastore-*:1.1.0-alpha04 iptal edilir. 1.1.0-alpha04 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- DataStore'nın veri akışının güncellemeden sonra eski bir değer yayabileceği yarış durumu sorununu önlemek için dahili uygulamayı iyileştirin.
Sürüm 1.1.0-alpha03
24 Mart 2023
androidx.datastore:datastore-*:1.1.0-alpha03 iptal edilir.
Hata Düzeltmeleri
- Kotlin Native Targets'taki bir derleme sorununu geçici olarak çözmek için Maven yapılarındaki bağımlılık kısıtlamaları kaldırıldı (b/274786186, KT-57531).
Sürüm 1.1.0-alpha02
22 Mart 2023
androidx.datastore:datastore-*:1.1.0-alpha02 iptal edilir. 1.1.0-alpha02 sürümü şu commit'leri içerir.
Not
Bu sürümün, tek süreçli ve çok süreçli DataStore uygulamaları için uygulamaları birleştiren önemli bir dahili yeniden düzenleme içerdiğini unutmayın. Lütfen olası istenmeyen davranış değişikliklerine (ör. güncelleme bildirimlerinin zamanlaması) dikkat edin. Bu tür değişiklikleri bildirmek için sorun izleyici bileşenini kullanabilirsiniz.
Yeni Özellikler
- Artık KMM projelerinde DataStorekullanabilirsiniz. DataStore'un Android dışı hedeflerinin hâlâ deneysel olduğunu ancak geliştiricilerin bunları denemesini kolaylaştırmak için sürümleri birleştirmeye karar verdiğimizi unutmayın.
- Çoklu işlem özellikleri androidx.datastore.multiprocesskonumundanandroidx.datastore.corekonumuna taşındı.
- Dosya işlemleri için Storagenesneleriyle DataStore örnekleri oluşturmak üzereandroidx.datastore.core.MultiProcessDataStoreFactory'ya yeni bir fabrika yöntemi ekleyin.
- Birden fazla DataStore örneğinin süreçler arasında iletişim kurmasına yardımcı olan yeni bir arayüz InterProcessCoordinatorekleyin.InterProcessCoordinator'nın çok işlemli uygulamasının yalnızca Android'de kullanılabildiğini unutmayın.
API Değişiklikleri
- Veri deposu çekirdek arayüzünde (I555bb) InterProcessCoordinatoröğesiniStorageConnectionöğesine ekleyin.
- datastore-core MultiProcessDataStoreFactoryiçindeki API'leri Storage'ı kullanacak şekilde değiştirin. (Iac02f)
- datastore-multiprocess'teki herkese açık API'leri datastore-core'a taşıma (I76d7c)
- Exposed PreferencesSerializerfrom datastore-preferences-core (I4b788)
- @JvmDefaultWithCompatibilityek açıklamasını ekleme (I8f206)
Sürüm 1.1.0-alpha01
9 Kasım 2022
androidx.datastore:datastore-*:1.1.0-alpha01 iptal edilir. 1.1.0-alpha01 sürümü şu commit'leri içerir.
Yeni Özellikler
- Veri tutarlılığının süreçler genelindeki DataStoreörnekleri arasında garanti edildiği çok süreçli kullanım alanlarını destekleyin. Bu türDataStoreörnekleri oluşturmak içinMultiProcessDataStoreFactory#createekleyin.
- Datastoreiçin temel depolama mekanizmasının değiştirilmesine olanak tanıyan yeni depolama alanı arayüzü. java.io ve okio için uygulamalar sağlanır.- DataStorefabrikalarında bu Storage nesnesini kabul eden yeni yöntemler var.
API Değişiklikleri
- datastore-core MultiProcessDataStoreFactoryiçindeki API'leri Storage'ı kullanacak şekilde değiştirin. (Iac02f)
- datastore-multiprocess'teki herkese açık API'leri datastore-core'a taşıma (I76d7c)
- Exposed PreferencesSerializerfrom datastore-preferences-core (I4b788)
Sürüm 1.0.0
Sürüm 1.0.0
4 Ağustos 2021
androidx.datastore:datastore-*:1.0.0 iptal edilir. 1.0.0 sürümü şu commit'leri içerir.
1.0.0 sürümünün temel özellikleri
Jetpack DataStore, anahtar/değer çiftlerini veya protokol arabellekleriyle yazılmış nesneleri depolamanıza olanak tanıyan bir veri depolama çözümüdür. DataStore, verileri eşzamansız, tutarlı ve işlemsel olarak depolamak için Kotlin coroutine'lerini ve Flow'u kullanır.
Sürüm 1.0.0-rc02
21 Temmuz 2021
androidx.datastore:datastore-*:1.0.0-rc02 iptal edilir. 1.0.0-rc02 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Anahtar yoksa SharedPreferencesMigration'nın çalışmadığını netleştirin. (Icfa32, b/192824325)
- MIGRATE_ALL_KEYSile oluşturulan- SharedPreferencesMigrationöğesinin, istenen anahtar henüz mevcut değilse istisna oluşturmasına neden olan hata düzeltildi. (Ie318a, b/192824325)
Sürüm 1.0.0-rc01
30 Haziran 2021
androidx.datastore:datastore-*:1.0.0-rc01 iptal edilir. 1.0.0-rc01 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- .java dosyasının nihai JAR'a yanlışlıkla eklenmesine neden olan hata düzeltildi (I65d96, b/188985637).
Sürüm 1.0.0-beta02
16 Haziran 2021
androidx.datastore:datastore-*:1.0.0-beta02 iptal edilir. 1.0.0-beta02 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- ClassVerificationFailureile ilgili sorunu düzeltin (b/187450483)
Sürüm 1.0.0-beta01
21 Nisan 2021
androidx.datastore:datastore-*:1.0.0-beta01 iptal edilir. 1.0.0-beta01 sürümü şu commit'leri içerir.
API Değişiklikleri
- Yalnızca Kotlin yöntemleri için JVM aşırı yüklemelerini kaldırın (I2adc7)
Hata Düzeltmeleri
- Veri deposu temsilcilerinin bağlamların sızmasına neden olabildiği hata düzeltildi (Ie96fc, b/184415662).
Sürüm 1.0.0-alpha08
10 Mart 2021
androidx.datastore:datastore-*:1.0.0-alpha08 iptal edilir. Version 1.0.0-alpha08 şu commit'leri içerir.
API Değişiklikleri
- Artık dataStorevepreferencesDataStoremülk temsilcinize bağlama bağlı bir taşıma ekleyebilirsiniz. (I4ef69, b/173726702)
- Veri deposu temsilcisini veya context.createDataStore'u artık kullanmıyorsanız dosyanın adını almak için yardımcı işlevler ekler (I60f9a).
- Serializer writeTo ve readFrom artık askıya alınıyor. Serializer uyguladıysanız işlevlerinizi askıya alma işlevleri olarak güncellemeniz gerekir. (I1e58e)
- RxDataStore kullanıcıları için mülk temsilcileri eklendi. (Ied768, b/173726702)
Hata Düzeltmeleri
- Deneysel API'lerin genel kullanımına kısıtlamalar getirme (I6aa29, b/174531520)
Sürüm 1.0.0-alpha07
24 Şubat 2021
androidx.datastore:datastore-*:1.0.0-alpha07 iptal edilir. 1.0.0-alpha07 sürümü şu commit'leri içerir.
API Değişiklikleri
- Context.createDataStoreuzantı işlevi kaldırıldı ve yerine globalDataStore mülk temsilcisi eklendi. Kotlin dosyanızda üst düzeyde globalDataStore'u bir kez çağırın. Örneğin:- val Context.myDataStore by dataStore(...)- Bunu kotlin dosyanızın en üst düzeyine yerleştirin. Böylece yalnızca bir örneği olur. (I57215, b/173726702) 
- RxDataStore işlevleri artık DataStore'daki uzantı işlevleri yerine RxDataStore sınıfında yer alıyor. (Idccdb, b/177691248) 
- EncryptedSharedPreferences'ı (veya doğrudan başlatma SharedPreferences'ı) DataStore'a taşımak istiyorsanız artık SharedPreferences'ı yerleştirmenize olanak tanıyan yeni SharedPreferencesMigration oluşturucuyu kullanarak bunu yapabilirsiniz. (I8e04e, b/177278510) 
Hata Düzeltmeleri
- DataStore artık aynı dosya için birden fazla etkin DataStore varsa istisna oluşturacak. DataStore'unuzu Singleton olarak yönetmiyorsanız veya bir dosya için aynı anda iki DataStore örneğinin etkin olmamasını sağlamıyorsanız artık DataStore'a okuma veya yazma işlemi yaparken istisnalar görebilirsiniz. Bunlar, DataStore'unuzu Singleton olarak yöneterek düzeltilebilir. (Ib43f4, b/177691248)
- Arayan kapsamı iptal edildiğinde iptal davranışını düzeltir. (I2c7b3)
Sürüm 1.0.0-alpha06
13 Ocak 2021
androidx.datastore:datastore-*:1.0.0-alpha06 iptal edilir. 1.0.0-alpha06 sürümü şu commit'leri içerir.
Yeni Özellikler
- DataStore için RxJava sarmalayıcıları eklendi. datastore-rxjava2/3yapay nesneleri, temel DataStore API'lerinin (RxDataStore,RxDataStoreBuilderveRxDataMigration) sarmalayıcılarını içerir.datastore-preferences-rxjava2/3yapay nesneleri, Preferences DataStore oluşturmak için bir oluşturucu içerir.
API Değişiklikleri
- CorruptionHandler arayüzünü gizleyin. DataStore fabrikası yalnızca ReplaceFileCorruptionHandler'ı kabul ettiğinden bu yöntemin herkese açık olması için bir neden yoktu. (I0b3b3, b/176032264)
- preferencesKey<T>(name: String): Key<T>yöntemi kaldırıldı ve desteklenen her türe özgü yöntemlerle değiştirildi. Örneğin,- preferencesKey<Int>("int")artık- intPreferencesKey("int")(Ibcfac, b/170311106)
Hata Düzeltmeleri
- DataStoreFactory ile ilgili dokümanlarda, veri deposu dosyasının "datastore/" alt dizininde oluşturulduğu bilgisinin eksik olması düzeltildi. (Ica222)
Sürüm 1.0.0-alpha05
2 Aralık 2020
androidx.datastore:datastore-*:1.0.0-alpha05 iptal edilir. 1.0.0-alpha05 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Veri depolarından eşzamanlı yazma işlemleriyle ilgili daha iyi dokümanlar ve istisnalar ekleyin. (Ia98a2, b/173522155, b/173726702)
- Artık Serializer.writeTo()'ya iletilen OutputStream'in kapatılmasına izin veriyoruz (ancak bu zorunlu değildir). (I5c9bf, b/173037611)
Sürüm 1.0.0-alpha04
17 Kasım 2020
androidx.datastore:datastore-*:1.0.0-alpha04 iptal edilir. 1.0.0-alpha04 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Preference Datastore'da 1.0.0-alpha03aşağıdaki kilitlenmeye neden olan bir paketleme sorunu düzeltildi:java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/datastore/preferences- Kilitlenme ilk olarak burada bildirilmişti: b/173036843
- (I4712d, b/173036843)
 
Sürüm 1.0.0-alpha03
11 Kasım 2020
androidx.datastore:datastore-*:1.0.0-alpha03 iptal edilir. 1.0.0-alpha03 sürümü şu commit'leri içerir.
Yeni Özellikler
- Tercihler artık çift değerleri destekliyor (bu, kayan noktalı sayılardan daha fazla hassasiyete ihtiyacınız varsa kullanışlıdır) (I5be8f, b/169471808)
API Değişiklikleri
- Daha hızlı derleme için Datastore'a yönelik saf Kotlin bağımlılığı oluşturuldu. androidx.datastore:datastore-coreyalnızca temel Kotlin API'lerini,androidx.datastore:datastoreise Android'e bağlı API'leri (SharedPreferencesMigrationveContext.createDataStoreoluşturucu dahil) içerir.(I42d75, b/168512698)
- Daha hızlı Kotlin derlemesi için tercihler veri deposu hedeflerini ayırma (Ia3c19)
- Serileştiriciler artık diskte veri yoksa kullanılacak varsayılan değer için yeni bir özellik gerektiriyor. Bu sayede, kullanıcıların boş giriş akışlarını özel olarak ele alması gerekmez (boş giriş akışları JSON ile ayrıştırılmaz) ve özel serileştiricilerin uygulanması kolaylaşır. - Ayrıca, writeTo() işlevine sağlanan çıkış akışının kapalı olmadığını onaylamak için bir kontrol de eklendi. Kapalıysa istisnalar oluşturuluyor (I16e29).
 
- SharedPreferencesView için oluşturucuyu dahili hale getirme. Test yapılmasına olanak tanımak için başlangıçta herkese açık olarak ayarlanmıştır. Bunun yerine, testlerde bir SharedPreferencesMigration oluşturulmalı ve bu yapıya karşı test yapılmalıdır. (I93891) 
Hata Düzeltmeleri
- DataStoreFactoryve- PreferenceDataStoreFactoryüzerindeki- produceFileparametresi artık listedeki son parametre olduğundan Kotlin sondaki lambda söz dizimini kullanmanıza olanak tanır. (Ibe7f1, b/169425442)
- Kotlin için yeni açık API şartlarına (I5ae1e) uyulmalıdır.
Bilinen Sorunlar
- Tercih veri deposu, java.lang.NoClassDefFoundErrorile kilitleniyor. (b/173036843)
Sürüm 1.0.0-alpha02
14 Ekim 2020
androidx.datastore:datastore-core:1.0.0-alpha02 ve androidx.datastore:datastore-preferences:1.0.0-alpha02 yayınlandı. 1.0.0-alpha02 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Datastore-core'da mutasyona karşı koruma eklendi. Değişiklik, veri deposunu proto olmayan/tercih olmayan türlerle kullanan kişiler için veri deposu kullanımını bozuyor (I6aa84)
- Mevcut durumun hata ayıklamasını kolaylaştırmak için Preferences.kt dosyasına toStringyöntemi eklendi (I96006).
- DataStore.Preferences(I1134d) özelliğinin kötüye kullanımına karşı koruma sağlamak için istisna eklendi
- Uygulamanın başlatılırken kilitlenmesine neden olan hata düzeltildi (I69237, �b/168580258).
Sürüm 1.0.0-alpha01
2 Eylül 2020
androidx.datastore:datastore-core:1.0.0-alpha01 ve androidx.datastore:datastore-preferences:1.0.0-alpha01 yayınlandı. 1.0.0-alpha01 sürümü şu commit'leri içerir.
Yeni Özellikler
Jetpack DataStore, SharedPreferences'in yerini almayı amaçlayan yeni ve geliştirilmiş bir veri depolama çözümüdür. Kotlin coroutines ve Flow üzerine kurulu olan DataStore, iki farklı uygulama sunar:
- Proto DataStore: Türü belirlenmiş nesneleri (protokol arabellekleri tarafından desteklenir) depolamanıza olanak tanır.
- Anahtar/değer çiftlerini depolayan Preferences DataStore
Veriler, SharedPreferences'ın çoğu dezavantajını ortadan kaldırarak eşzamansız, tutarlı ve işlemsel olarak depolanır.
