SharedPreferences是以键值对来存储应用程序的配置信息的一种方式,它只能存储基本数据类型。一个程序的配置文件仅可以在本应用程序中使用,或者说只能在同一个包内使用,不能在不同的包之间使用。 实际上SharedPreferences是采用了XML格式将数据存储到设备中,在DDMS中的File Explorer中的/data/data/<package name>/shares_prefs下。
以下的函数为获取SharedPreferences对象的两个方法:
第一种:
Context.getSharedPreferences(String name,int mode)
----name为本组件的配置文件名(如果想要与本应用程序的其他组件共享此配置文件,可以用这个名字来检索到这个配置文件)
----mode为操作模式,默认的模式为0或MODE_PRIVATE,还可以使用MODE_WORLD_READABLE和MODE_WORLD_WRITEABLE
第二种
Activity.getPreferences(int mode);
要是想默认的话,那就SharedPreferences setting=Context.getSharedPreferences(0);
以下是例子:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
/**
* 以下是在取得配置文件中的值 ,当然第一次时是没有的
*/
SharedPreferences settings = getPreferences(0);
boolean silent = settings.getBoolean("silentMode", false);
Log.i(TAG, String.valueOf(silent));
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
/**
* 以下是通过 SharedPreferences的editor来写入数据, 只可以一个键一个值 ,不可以一个键多个值
* 而且一个键中的值会随着更新而更新。
*/
SharedPreferences settings = getPreferences(0);
SharedPreferences.Editor editor=settings.edit();
editor.putBoolean("silentMode", false);
editor.commit();
}