Android丶数据存储 ---- SharedPreferences
来源:互联网 发布:杨浦区js漂亮的油压店 编辑:程序博客网 时间:2024/04/29 00:16
Android丶数据存储 ---- SharedPreferences
除了SQLite数据库外,SharedPreferences也是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息。其存储位置在/data/data/<包名>/shared_prefs目录下。SharedPreferences对象本身只能获取数据而不支持存储和修改,存储修改是通过Editor对象实现。实现SharedPreferences存储的步骤如下:
一、根据Context获取SharedPreferences对象
二、利用edit()方法获取Editor对象。
三、通过Editor对象存储key-value键值对数据。
四、通过commit()方法提交数据。
1. SharedPreferences 与 Editor 简介
对于应用中需要少量的数据进行存储,并且数据的格式很简单(如字符串、标量数值等)的。比如应用各种配置信息、小数据等,Android提供SharedPreferences进行保存。
SharedPreferences保存的数据主要是类似配置信息格式的数据,所以它保存的数据主要是简单的“key-value对”。
SharedPreferences接口主要负责读取应用程序的Preferences数据。它提供如下方法来访问SharedPreferences中的key-value对:
1.boolean contains(String key) :判断SharedPreferences是否包含特定key的数据。 2.Map<String,?> getAll() :获取SharedPreferences里全部的key-value对。 3.Xxx getXxx(String key, Xxx defValue) :获取指定key对应的value,如果key不存在,则返回默认值defValue。
SharedPreferences接口本身未提供写入数据的能力,而是通过其内部接口。其调用SharedPreferences.edit() 方法即可获得它所对应的 SharedPreferences.Editor对象。Editor有如下向SharedPreferences写入数据的方法:
1.Editor.clear() :清空SharedPreferences里所有数据。 2.Editor.putXxx(String key, Xxx Value) :向SharedPreferences里存入指定key对应的数据。 3.Editor.remove(String key) :删除SharedPreferences里指定key对应的数据项。 4.boolean Editor.commit() :当Editor编辑完成后,调用该方法提交修改。
SharedPreferences本身是一个接口,程序无法直接创建实例,只能通过 Context提供的getSharedPreferences(String name, int mode)方法获取实例。其中mode有如下值:
Context.MODE_PRIVATE:指定该SharedPreferences数据只能被本应用读、写。 Context.MODE_WORLD_READABLE:指定该SharedPreferences数据也能被其他应用程序读,但不能写。 Context.MODE_WORLD_WRITEABLE:指定该SharedPreferences数据也能被其他应用程序读、写。
2. SharedPreferences的存储位置和格式
SharedPreferences数据总是保存在: /data /data /<package_name> /shared_prefs 目录下,以XML格式保存,根元素为:<map />。
<map><int name="key" value="value" /><string name="key" > value </string></map>
3. SharedPreferences的使用
SharedPreferences preferences = getSharedPreferces("name", MODE_PRIVATE);SharedPreferences.Editor editor = preferences.edit();//写入数据editor.putXxx("name1",value1);.............................editor.commit();//读取数据Xxx name2 = preferences.getXxx("name1",defValue);
4. 读写其他应用的SharedPreferences
1.创建其他应用的对应 Context。Context useContext = createPackageContext("package_name", Context.CONTEXT_IGNORE_SECURITY);2.调用其他应用的 Context的 getSharedPreferences()方法获取 SharedPreferences对象。3.调用其他应用的 SharedPreferences.edit() 方法获得相应的 SharedPreferences.Editor对象。
0 0
- Android丶数据存储 ---- SharedPreferences
- Android丶数据存储 ---- SharedPreferences
- Android数据存储-SharedPreferences
- Android数据存储---SharedPreferences
- Android数据存储---SharedPreferences
- android SharedPreferences数据存储
- Android 数据存储 -- SharedPreferences
- android SharedPreferences 数据存储
- android数据存储---SharedPreferences
- Android 数据存储SharedPreferences
- android数据存储SharedPreferences
- Android存储数据SharedPreferences
- Android SharedPreferences存储数据
- Android数据存储-->SharedPreferences
- android 数据存储--SharedPreferences
- Android SharedPreferences数据存储
- Android数据存储之SharedPreferences
- Android数据存储之SharedPreferences
- 详解linux目录结构及重要子目录
- mysql变量使用总结
- NSLog使用,在release版本禁止输出NSLog内容
- 着色语言
- 启动\关闭Oracle数据库的多种方法
- Android丶数据存储 ---- SharedPreferences
- java多线程设计wait、notify、notifyall、synchronized的使用机制
- Java之hashCode()函数
- qq客服web打开和判断是否在线或离线
- zmq学习
- easyUI 增删改查 前台部分
- 【LeetCode】Swap Nodes in Pairs
- Git学习:利用Git和TortoiseGit把代码传输到网络服务器
- SPI协议简介