SharedPreferences

    对于轻量级的本地数据保存,如软件配置参数的保存,是否打开背景音乐等,Android平台给我们提供了一个SharedPreferences类,它是一个轻量级的存储类,特别适合用于保存软件配置参数。使用SharedPreferences保存数据,其背后是用xml文件存放数据,文件存放在/data/data/<package name>/shared_prefs目录,既然是xml文件,那么就是key-value的形式保存,SharedPreferences的数据类型有Boolean,Float,Int,Long和String。

 

1.要使用SharedPreferences,首先要完成两步操作,getSharedPreferences(filename, mode)的两个参数分别为文件名操作模式;

1.1文件名不需要带扩展名,系统会自动添加;

1.2四种操作模式为:

1.2.1 Context.MODE_PRIVATE,为默认操作模式,代表该文件是私有数据,只能被应用本身访问,写入的内容会覆盖原文件的内容;

1.2.2 Context.MODE_APPEND,该模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件

1.2.3 Context.MODE_WORLD_READABLE,表示当前文件可以被其他应用读取;

1.2.4 Context.MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入。

1 SharedPreferences preferences;
2 
3 preferences = getSharedPreferences("ut", Context.MODE_PRIVATE);

 

2.SharedPreferences提供了6个方法来读取不同的数据,读取数据时,如果数据不存在,会返回第二个参数设定的默认值,就不用去判断是否为空了;

2.1 getAll():返回preferences里面的多有数据;

2.2 getBoolean(String key, boolean defValue):获取Boolean型数据;

2.3 getFloat(String key, float defValue):获取Float型数据;

2.4 getInt(String key, int defValue):获取Int型数据;

2.5 getLong(String key, long defValue):获取Long型数据;

2.6 getString(String key, String defValue):获取String型数据;

 

3.写入数据要使用SharedPreferences.Editor接口

3.1 clear():清除内容;

3.2 remove(String key):删除内容;

3.3 commit():提交修改,会阻塞主进程,中间不可打断,但是会返回是否成功;

3.4 apply():异步提交修改,效率高,但是无返回结果,不知道是否成功;

1 SharedPreferences preferences;
2 preferences = getSharedPreferences("ut", Context.MODE_PRIVATE);
3 SharedPreferences.Editor editor = preferences.edit();
4 editor.putString("openid", openID);
5 editor.apply();

 

4.监听事件

 

posted @ 2017-05-30 17:00  火热火热7  阅读(140)  评论(0编辑  收藏  举报