PreferenceManager getDefaultSharedPreferencesAndroid Q'da kullanımdan kaldırıldı , nasıl değiştirebilirim?
PreferenceManager getDefaultSharedPreferencesAndroid Q'da kullanımdan kaldırıldı , nasıl değiştirebilirim?
Yanıtlar:
Sen AndroidX destek kitaplığı sürümünü kullanabilirsiniz PreferenceManager, yani androidx.preference.PreferenceManagerdeğil android.preference.PreferenceManager.
build.gradle dosyanıza aşağıdakileri eklemeyi unutmayın.
implementation 'androidx.preference:preference:1.1.1'
implementationdeğil dependencymi?
Paket preference, androidx PreferenceManager'ı sağlar :
Java: implementation "androidx.preference:preference:1.1.1"
Kotlin: implementation "androidx.preference:preference-ktx:1.1.1"
yani değişim android.preference.PreferenceManageriçinandroidx.preference.PreferenceManager
Ayrıca , kullanılacak geçerli sınıf olan PreferenceFragmentCompat'a da bakın PreferenceFragment.
PreferenceFragmentCompatO zamanlar mevcut olmayan bir doğrudan bağlantı eklendi ... genellikle tercihleri güncellemeye çalışırken karşılaşılabilecek bir sonraki kullanımdan kaldırma sorunudur. Diğer bağlantılı cevap sadece sınırlı bir süre için geçerliydi.
Yalnızca anahtar / değer çiftlerini kaydediyor ve alıyorsanız, şunları değiştirebilirsiniz:
prefs = PreferenceManager.getDefaultSharedPreferences(this);
ile:
prefs = getSharedPreferences(
"my.app.packagename_preferences", Context.MODE_PRIVATE);
Yeni uygulama için doğru dosya adını kullandığınızdan emin olun, aksi takdirde kullanıcılarınız getDefaultSharedPreferences (!) İle kaydedilen her şeye erişimlerini kaybedeceklerdir. Aşağıdakiler getDefaultSharedPreferences'ın kullandığı dosya adını alır:
getPackageName() + "_preferences"
PreferenceManager Belgelerden alıntı :
Bu sınıf, API seviyesi 29'da
kullanımdan kaldırılmıştır . Tüm cihazlarda tutarlı davranış için AndroidX Tercih Kitaplığı'nı kullanın . AndroidX Tercih Kitaplığı'nı kullanma hakkında daha fazla bilgi için Ayarlar'a bakın .
Evet, kullanımdan kaldırıldı. Tüm cihazlarda tutarlı davranış için AndroidX Tercih Kitaplığı'nı kullanın. AndroidX Tercih Kitaplığını kullanma hakkında daha fazla bilgi için bkz. Ayarlar
Bunu takip et -
kotlin libray
implementation 'androidx.preference:preference-ktx:1.1.1'
kotlin Configuration.getInstance (). load kullanın (this, androidx.preference.PreferenceManager.getDefaultSharedPreferences (this))