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.监听事件