Androd SharedPreferences 存取key-value键值对的用法小结

简介: 本文简单介绍 Androd SharedPreferences的持久化存储的简单用法,作为一个小结。

在开发一个简单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>
相关文章
|
5月前
|
存储 JSON NoSQL
Redis第五弹-HASH结构相关指令和介绍,计数功能Hash-哈希(Redis本来就是键值对结构,哈希,就相当于键值对嵌套了一个键值对)的多种指令Hset key field value-
Redis第五弹-HASH结构相关指令和介绍,计数功能Hash-哈希(Redis本来就是键值对结构,哈希,就相当于键值对嵌套了一个键值对)的多种指令Hset key field value-
|
4月前
|
存储 Java
Redis08命令-Hash类型,也叫散列,其中value是一个无序字典,类似于java的HashMap结构,Hash结构可以将对象中的每个字段独立存储,可以针对每字段做CRUD
Redis08命令-Hash类型,也叫散列,其中value是一个无序字典,类似于java的HashMap结构,Hash结构可以将对象中的每个字段独立存储,可以针对每字段做CRUD
|
6月前
|
存储 缓存 算法
数据结构与算法面试题:实现一个 LRU 缓存,支持如下操作:获取值、更新值、删除键值对和插入键值对
数据结构与算法面试题:实现一个 LRU 缓存,支持如下操作:获取值、更新值、删除键值对和插入键值对
71 0
|
存储 缓存 NoSQL
键值对的集合:深入了解 Redis 的 Hash 数据类型
在现代的应用程序中,复杂数据结构的存储和快速访问对于高效的数据管理至关重要。Redis,作为一款高性能的内存数据库,提供了多种数据类型来满足不同的需求。在本文中,我们将着重介绍 Redis 的 Hash 数据类型,探讨其特性、用法以及在实际应用中的优势。
152 0
|
API Android开发
安卓开发之使用SharedPreferences保存键值对数据
如果您有想要保存的相对较小键值对集合,则应使用 SharedPreferences API。SharedPreferences 对象指向包含键值对的文件,并提供读写这些键值对的简单方法。每个 SharedPreferences 文件均由框架进行管理,可以是私有文件,也可以是共享文件。
198 1
安卓开发之使用SharedPreferences保存键值对数据
|
存储 Java
从数组当做map的key引发的思考
从数组当做map的key引发的思考
147 0
|
存储 索引
自定义对象作为map哈希表的 键key 时【为啥建议要重写hashCode( )、equals( ) 方法】
自定义对象作为map哈希表的 键key 时【为啥建议要重写hashCode( )、equals( ) 方法】
174 0
自定义对象作为map哈希表的 键key 时【为啥建议要重写hashCode( )、equals( ) 方法】
|
存储
REDIS03_概述、安装、key、字符串String、列表List、集合Set、Hash哈希、Zset有序集合、持久化策略(五)
REDIS03_概述、安装、key、字符串String、列表List、集合Set、Hash哈希、Zset有序集合、持久化策略(五)
115 0
REDIS03_概述、安装、key、字符串String、列表List、集合Set、Hash哈希、Zset有序集合、持久化策略(五)
|
小程序
REDIS03_概述、安装、key、字符串String、列表List、集合Set、Hash哈希、Zset有序集合、持久化策略(六)
REDIS03_概述、安装、key、字符串String、列表List、集合Set、Hash哈希、Zset有序集合、持久化策略(六)
150 0
REDIS03_概述、安装、key、字符串String、列表List、集合Set、Hash哈希、Zset有序集合、持久化策略(六)