Android 第一次使用变量

标签 android android-sharedpreferences

我需要在初始化时为其关联的持久存储数据设置一些值(如果存在)。如果不是,我需要初始化它们。在第一次运行时使用 SharedPreference 初始化变量有什么缺点吗?也就是说,像这样:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    SharedPreferences sp = getSharedPreferences("MyDataName", Context.MODE_PRIVATE);
    String name = sp.getString("name", "");
    boolean isFirstRunning = sp.getBoolean("firstTime", true);

    if (isFirstRunning) {
        Toast.makeText(this, "YEA", Toast.LENGTH_LONG).show();

        SharedPreferences.Editor editor = sp.edit();
        editor.putBoolean("firstTime", false);
        editor.commit();
    }

}

如果从处理层面来看没有劣势,那么对于这种情况是否有标准的做法?此外,是否有任何替代方法来处理持久数据,或者我们是否必须为此使用 SharedPreferences?

最佳答案

是的,这是完全可以接受的。为了整洁起见,将键和默认值定义为常量可能会更好,但您所采用的方法可以正常工作。

关于Android 第一次使用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26237217/

相关文章:

java - 何时创建/使用shared_prefs中的.xml.bak文件?

android - 检测是否为移动应用中拍摄的照片

android - 如何用图像而不是文本创建微调器?

Android 3 调用 WCF REST

当应用程序来自后台时,Android fragment 崩溃

java - 当对象具有 ArrayList 属性时,如何使用 gson 将对象列表转换为 json

java - fragment 中的 ListView 空指针异常

android - Android 中的 Preferences 和 SharedPreferences 有什么区别?

android - Device-File-Explorer在Android-Studio中的作用是什么

android - 如何访问android中其他应用程序的共享偏好数据?