import android.preference.PreferenceManager;
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
// 然后你用
prefs.getBoolean("keystring", true);
许多应用程序可能都提供一个方法在一个特定的应用程序或者是一个activity中来捕获用户的参数。为了支持这个,android提供了一组简单的api。
参数是典型的成对的名称之。他们可以跨过一个应用程序的各种activities作为“Shared Preferences” 被存储(注意目前它不能跨进程共享)。或者它可能是一些需要特殊存储到一个activity中。
1.共享参数:共享参数可以被所有的组件(activities、services等等)脱离应用程序使用
2.activity处理参数:这些参数只能在activity中使用,不能被应用的其他组件使用。
共享参数:
共享参数在context类下的getSharedPreferences方法的帮助下是被托管的。参数是存储在一个默认的文件(1)中,或者你可以指定一个文件名(2)来存储参数。
这就是当你指定文件名称的时候如何获得示例
public static final String PREF_FILE_NAME= "PrefFile";
SharedPreferences preferences= getSharedPreferences(PREF_FILE_NAME, MODE_PRIVATE);
MODE_PRIVATE是操作模式的参数。它是默认的模式,而且意味着创建的文件夹只能被调用的应用程序访问。其他两个被支持的模式参数是MODE_WORLD_READABLE和MODE_WORLD_WRITEABLE。在MODE_WORLD_READABLE中其他的应用程序可以读创建的文件夹但是不能修改。在MODE_WORLD_WRITEABLE中其他的应用程序也有写创建的文件夹的权限。
下边介绍的方法就是使用默认的模式,没有指定文件名
SharedPreferences preferences= PreferenceManager.getDefaultSharedPreferences(context);
最终,一旦你有了参数实例,这事你怎么从参数中检索到存储值:
为了在参数文件SharedPreference中存储值,必须要使用Editor对象。Editor是SharedPreference 类内嵌的接口。
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("storedInt", storedPreference); // value to store
editor.commit();
Editor还支持像用remove() 和 clear()方法从文件中删除参数值。
Activity参数:
共享参数可以被其他应用程序组件使用。但是如果你不想和其他组件分享参数,想要有activity私有参数,你可以在activity的getPreferences() 方法的帮助下实现。getPreference 方法使用带着activity类名字的getSharedPreferences()方法给参数文件命名。。
下边的代码就是获得参数
SharedPreferences preferences = getPreferences(MODE_PRIVATE);
int storedPreference = preferences.getInt("storedInt", 0);
The code to store values is also same as in case of shared preferences.
下边存储值得代码和共享参数的情况下一样
SharedPreferences preferences = getPreference(MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("storedInt", storedPreference);
editor.commit();
你也可以使用其他方法,就像在数据库中存储activity状态。注意android也包含了一个叫做android.preference的包。这个包定义了类来实现应用程序参数UI