gpt4 book ai didi

Android 共享首选项类型迁移

转载 作者:行者123 更新时间:2023-11-29 01:15:04 24 4
gpt4 key购买 nike

Android Preferences 中的 TYPE of preference 变了怎么办?例如,如果 Boolean 更改为 ListPreference

Google 真的没有人考虑过偏好迁移吗?

目前唯一明智的方法似乎是版本首选项和标记为随给定版本更改的删除首选项..?

最佳答案

尝试读取具有新数据类型的 key ,如果出现 ClassCastException 异常,请删除“旧” key ,并创建具有相同名称但新类型的新 key 。像这样:

SharedPreferences prefs;
String key = "key";

prefs = PreferenceManager.getDefaultSharedPreferences(this);

if (prefs.contains(key)) {
// key exists, so tetermine it's type
try {
prefs.edit().get<old_type_name>(key, <default_old_type_value>);
} catch (Exceprtion e) {
if (e instanceOf ClassCastException) {
prefs.edit().remove(key).apply();
}
}
}

// we are here if no key exists or key removed
prefs.edit().put<new_type_name>(key, <new_type_value>).apply();

如果需要,请在第一次应用启动时检查 if (prefs.contains(key)) ... 一次。

关于Android 共享首选项类型迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40329745/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com