将少量信息保存为android中的设置(就像第一次运行该应用程序一样)

Fco*_*der 22 java database android application-settings

我想保存一个标志,用于识别我的应用程序是否第一次运行.对于这个简单的工作,我不想创建数据库..

有这么简单的选择吗?我只想保存和阅读一小部分信息.

Aja*_*y S 54

使用sharedPreferencefiles保存数据但更好的选择是sharedPreference.

用于检索

SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
boolean silent = settings.getBoolean("silentMode", false);
Run Code Online (Sandbox Code Playgroud)

为了节省

SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean("silentMode", true);
editor.commit();
Run Code Online (Sandbox Code Playgroud)

  • "检索"和"保存"代码示例的最佳答案. (8认同)

Raj*_*ena 30

使用SharedPreferences.

SharedPreferences preferences = getSharedPreferences("prefName", MODE_PRIVATE);
SharedPreferences.Editor edit= preferences.edit();

edit.putBoolean("isFirstRun", false);
edit.commit();
Run Code Online (Sandbox Code Playgroud)


Joo*_*oop 10

一个正确的方法是使用Android类SharedPreferences,用于这样的事情.

存储设置

SharedPreferences settings = getSharedPreferences(NAME_OF_PREFERENCES, MODE_PRIVATE);
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean("appPreviouslyStarted", true);
editor.apply();
Run Code Online (Sandbox Code Playgroud)

不要忘记申请或您的突变设置将不会被保存!

您可以使用不同的方法创建多个设置NAME_OF_PREFERENCES.设置存储在设备上,因此在关闭应用程序后可以使用.

当您尝试检索NAME_OF_PREFERENCES尚未创建的时,您将创建一个新的.在这里查看更多此类行为.

apply()与commit()

您可以使用editor.apply(),以及editor.commit(),唯一不同的是,适用()不返回boolean与如果编辑成功与否值.editor.apply()因此更快,更常用.

什么是MODE_PRIVATE

您可以在此处查看有关不同模式的所有信息.对于你的情况MODE_PRIVATE很好.

检索设置

SharedPreferences settings = getSharedPreferences(NAME_OF_PREFERENCES, MODE_PRIVATE);
boolean silent = settings.getBoolean("silentMode", false);
Run Code Online (Sandbox Code Playgroud)

SharedPreferences对象检索设置时,您始终必须指定一个默认值,该值将在未找到设置时返回.在这种情况下false.