在开发一个简单Launcher,点击APP按钮后,如无APP绑定,则弹出一个APP选择列表,选择后进行绑定,其中对用户所设定的APP,及可使用SharedPreferences 进行持久化存储。
本文简单介绍 Androd SharedPreferences的持久化存储的简单用法,作为一个小结。
一、存储数据
p = mContext.getSharedPreferences("xml_data_file_name", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = p.edit();
editor.putBoolean("app_icon_setup", true);
editor.putString("app_0_name", mAppInfo.activityInfo.packageName);
editor.apply();
二、读取数据
p = mContext.getSharedPreferences("xml_data_file_name", Context.MODE_PRIVATE);
p.getString("app_0_name", null);//读取一个String数据,若不存在,则默认为null
p.getBoolean("app_icon_setup", false);//读取一个Boolean数据,若不存在,则默认为false
三、删除数据
在Android中,使用SharedPreferences删除数据,你可以通过SharedPreferences.Editor的remove()方法来删除指定的键对应的数据。如果你想删除所有数据,可以调用clear()方法。
3.1 删除指定KEY的数据
p = mContext.getSharedPreferences("xml_data_file_name", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = p.edit();
editor.remove(mKey);
editor.apply();
editor.apply();
3.2 删除所有数据
p = mContext.getSharedPreferences("xml_data_file_name", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = p.edit();
editor.clear();// 或者删除所有数据
editor.apply();
四、测试
4.1 查找数据文件
- 这几个文件的数据是一样的,一起变化的,但又不是软连接文件。
130|console:/ # find . -name *xml_data_file_name*
./data_mirror/data_ce/null/0/com.sz.xlauncher/shared_prefs/xml_data_file_name.xml
./data/data/com.sz.xlauncher/shared_prefs/xml_data_file_name.xml
./data/user/0/com.sz.xlauncher/shared_prefs/xml_data_file_name.xml
4.2 查看数据的存储
- 操作UI写、读、删除
- 选楼上任一xml,查看数据的变化
- 如下存储了3个数据,分别是key=app_icon_setup, key=app_0_name, key=app_1_name
130|console:/ #
130|console:/ #
/data/com.sz.xlauncher/shared_prefs/DATA.xml <
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
<boolean name="app_icon_setup" value="true" />
<string name="app_0_name">com.android.contacts</string>
<string name="app_1_name">com.android.calculator2</string>
</map>