PreferenceManager getDefaultSharedPreferences
เลิกใช้แล้วในAndroid Qฉันจะเปลี่ยนได้อย่างไร
PreferenceManager getDefaultSharedPreferences
เลิกใช้แล้วในAndroid Qฉันจะเปลี่ยนได้อย่างไร
คำตอบ:
คุณสามารถใช้ AndroidX รุ่นสนับสนุนห้องสมุดPreferenceManager
คือไม่androidx.preference.PreferenceManager
android.preference.PreferenceManager
อย่าลืมเพิ่มสิ่งต่อไปนี้ใน build.gradle ของคุณ
implementation 'androidx.preference:preference:1.1.1'
implementation
ไม่ใช่dependency
?
แพ็คเกจpreference
ให้androidx
PreferenceManager :
Java: implementation "androidx.preference:preference:1.1.1"
Kotlin: implementation "androidx.preference:preference-ktx:1.1.1"
เช่นเปลี่ยนandroid.preference.PreferenceManager
เป็นandroidx.preference.PreferenceManager
ดูPreferenceFragmentCompatซึ่งเป็นPreferenceFragment
คลาสปัจจุบันที่จะใช้
PreferenceFragmentCompat
ซึ่งไม่มีอยู่ในตอนนั้น ... โดยปกติแล้วปัญหาการเลิกใช้งานถัดไปที่อาจเกิดขึ้นเมื่อพยายามอัปเดตการตั้งค่า คำตอบที่เชื่อมโยงอื่น ๆ ใช้ได้ในระยะเวลา จำกัด เท่านั้น
หากคุณเพียงแค่บันทึกและดึงข้อมูลคู่คีย์ - ค่าคุณสามารถแทนที่ได้:
prefs = PreferenceManager.getDefaultSharedPreferences(this);
กับ:
prefs = getSharedPreferences(
"my.app.packagename_preferences", Context.MODE_PRIVATE);
อย่าลืมใช้ชื่อไฟล์ที่ถูกต้องสำหรับการใช้งานใหม่มิฉะนั้นผู้ใช้ของคุณจะสูญเสียการเข้าถึงทุกสิ่งที่บันทึกด้วย getDefaultSharedPreferences (!) ต่อไปนี้จะได้รับชื่อไฟล์ getDefaultSharedPreferences ใช้:
getPackageName() + "_preferences"
อ้างจากPreferenceManager
เอกสาร :
คลาสนี้เลิกใช้แล้วใน API ระดับ 29
ใช้ AndroidX Preference Libraryสำหรับพฤติกรรมที่สอดคล้องกันในทุกอุปกรณ์ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้การตั้งค่า AndroidX ห้องสมุดดูการตั้งค่า
ใช่มันเลิกใช้งานแล้ว ใช้ AndroidX Preference Library สำหรับพฤติกรรมที่สอดคล้องกันในทุกอุปกรณ์ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้ AndroidX Preference Library โปรดดูการตั้งค่า
ทำตามนี้ -
kotlin libray
implementation 'androidx.preference:preference-ktx:1.1.1'
kotlin ใช้ Configuration.getInstance () โหลด (สิ่งนี้ androidx.preference.PreferenceManager.getDefaultSharedPreferences (นี้))