首页 > 代码库 > 【Android葵花宝典】之SharedPreference

【Android葵花宝典】之SharedPreference

在Android中有四种基本的数据保存方法,一是SharedPreference,二是文件,三是SQLite,四是ContentProvider。SharedPreferences作为操作简单最简单的一种方式,被广泛用于保存应用的配置信息。

SharedPreferences是以键值对来存储应用程序的配置信息的一种方式,它只能存储基本数据类型。一个程序的配置文件仅可以在本应用程序中使用,或者说只能在同一个包内使用,不能在不同的包之间使用。 实际上SharedPreferences是采用了XML格式将数据存储到设备中,在DDMS中的File Explorer中的/data/data/<package name>/shares_prefs下。


向SharedPreferences中写入数据

Java代码  技术分享
  1. SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);  
  2. SharedPreferences.Editor editor = settings.edit();  
  3. editor.putBoolean("silentMode", mSilentMode);  
  4. editor.commit(); //一定要记得提交  

 

从SharedPreferences中读取数据

Java代码  技术分享
  1. SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);  
  2. //或者使用 SharedPreferences settings = getPreferences(0);  
  3. 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


【Android葵花宝典】之SharedPreference