如何在更新期间迁移SharedPreferences



我想将SharedPreference从布尔值更改为字符串。默认值为true,将被"启用"。这不是问题,因为它会自动设置。但是我如何检查它是否被设置为false,然后将新的首选项设置为"禁用"?是否有一个方法调用在更新的应用程序,我可以迁移这个首选项?如果我不迁移它,这个首选项的状态将在更新期间丢失…

SharedPreferences preferences = // obtain it
String pref;
try {
    pref = preferences.getString("yourPref", "enabled");
} catch (ClassCastException e) {
    // this means the pref is stored as a boolean
    boolean boolPref = preferences.getBoolean("yourPref", true);
    // store it instead as a String
    pref = boolPref ? "enabled" : "disabled";
    preferences.edit().remove("yourPref").putString("yourPref", pref).commit();
}

您可以在将打开的第一个活动中添加一个简单的方法,为您更新首选项值。另外,添加一个检查,以便它只在第一次执行。

相关内容

  • 没有找到相关文章

最新更新