Android提供了三种获取SharedPreference对象的方法
1- Context类的getSharedPreferences方法
SharedPreferences preferences = this.getSharedPreferences("data", MODE_APPEND);
第一个参数是用于指定文件名,第二个参数制定操作方式
/**
* File creation mode: the default mode, where the created file can only
* be accessed by the calling application (or all applications sharing the
* same user ID).
* @see #MODE_WORLD_READABLE
* @see #MODE_WORLD_WRITEABLE
*/
public static final int MODE_PRIVATE = 0x0000;
/**
* File creation mode: for use with {@link #openFileOutput}, if the file
* already exists then write data to the end of the existing file
* instead of erasing it.
* @see #openFileOutput
*/
public static final int MODE_APPEND = 0x8000;
2-Activity类的getPreferences方法
SharedPreferences preferences1 = this.getPreferences(MODE_PRIVATE);
他只接收一个操作模式的参数,使用这个方法会自动将当前活动的类名作为Sharedpreferences的文件名
3-PreferenceManager的getDefaultSharedPreferences方法
SharedPreferences preferences2 = PreferenceManager.getDefaultSharedPreferences(this);
该方法需要接收一个context,会自动使用当前应用程序包名的前缀做文件名
得到SharedPreferences对象,即可对数据进行读写
1-数据的写入
/**获取SharedPreferences.Editor对象**/
SharedPreferences.Editor editor = preferences.edit();
/**向文件中添加数据 putString putInt putBoolean ... **/
editor.putString("name","zhangsan");
/**提交**/
editor.commit();
2-数据的读取
preferences.getString("name","defValue");
getString的第一个参数是键,即存入该数据时使用的键,第二个参数是默认值,即在没有查询到对应该键的数据时,返回默认值.getBoolean同理.