在Android中有四种基本的数据保存方法,一是SharedPreference,二是文件,三是SQLite,四是ContentProvider。SharedPreferences作为操作简单最简单的一种方式,被广泛用于保存应用的配置信息。
SharedPreferences是以键值对来存储应用程序的配置信息的一种方式,它只能存储基本数据类型。一个程序的配置文件仅可以在本应用程序中使用,或者说只能在同一个包内使用,不能在不同的包之间使用。 实际上SharedPreferences是采用了XML格式将数据存储到设备中,在DDMS中的File Explorer中的/data/data/<package name>/shares_prefs下。
向SharedPreferences中写入数据
Java代码
- SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
- SharedPreferences.Editor editor = settings.edit();
- editor.putBoolean("silentMode", mSilentMode);
- editor.commit(); //一定要记得提交
从SharedPreferences中读取数据
Java代码
- SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
- //或者使用 SharedPreferences settings = getPreferences(0);
- boolean silent = settings.getBoolean("silentMode", false);
函数介绍:
1、android.content.Context.getSharedPreferences (String name, int mode)
返回preferences file ‘name‘的内容。对于一个name只有一个SharedPreferences,所以任何修改可以理解生效。
name为preferences file名
mode默认为0(MODE_PRIVATE)表示preferences file为应用私有,只有此应用可以访问
MODE_WORLD_READABLE表示所有其他程序有读权限
MODE_WORLD_WRITEABLE表示所有其他程序有写权限
2、android.app.Activity.getPreferences (int mode)
返回当前activity私有的SharedPreferences。相当于上面的getSharedPreferences(String, int) 方法name传入参数为当前activity的类名
3、android.preference.Preference.getSharedPreferences()
返回当前Preference可以访问的SharedPreferences