Android本地存储SharedPreferences详解
作者:claireyuancy 发布时间:2023-06-24 17:01:51
Android本地存储SharedPreferences详解
存储位置
SharedPreferences数据保存在: /data /data/<package_name> /shared_prefs 文件夹下,以XML格式保存,根元素为:<map />。文件名称为获取SharedPreferences实例时传递的參数值。
<map>
<int name="key" value="value" />
<string name="key" > value </string>
</map>
获取实例
SharePerferences是一个接口,Context实现了API:getSharedPreferences(String, int);这个API依据String返回一个SharePerferences实例。同样的String返回的SharePerferences的实例是同样的。此处strign指定的是存储数据的xml文件的名称。
Activity实现了getPreferences(int),这种方法就是默认使用Activity的class name作为String调用 getSharedPreferences(String, int)。
//指定该SharedPreferences数据仅仅能被本应用读、写。
Context.MODE_PRIVATE
//指定该SharedPreferences数据也能被其它应用程序读,但不能写。
Context.MODE_WORLD_READABLE
//指定该SharedPreferences数据也能被其它应用程序读、写。
Context.MODE_WORLD_WRITEABLE
//文件是否存在,存在那么追加,否则新建
Context.MODE_WORLD_APPEND
读
//推断SharedPreferences是否包括特定key的数据。
boolean contains(String key)
//获取SharedPreferences里所有的key-value对。
Map<String,?> getAll()
//获取指定key相应的value,假设key不存在。则返回默认值defValue。
Xxx getXxx(String key, Xxx defValue)
写
SharedPreferences接口本身未提供写入数据的能力,而是通过其内部接口。其调用SharedPreferences.edit() 方法就可以获得它所相应的 SharedPreferences.Editor对象。Editor有例如以下向SharedPreferences写入数据的方法:
//清空SharedPreferences里全部数据。
Editor.clear()
//向SharedPreferences里存入指定key相应的数据。
Editor.putXxx(String key, Xxx Value)
//删除SharedPreferences里指定key相应的数据项。
Editor.remove(String key)
//当Editor编辑完毕后,调用该方法提交改动。
boolean Editor.commit()
读写其它应用的SharedPreferences
1.创建其它应用的相应 Context。
Context useContext =createPackageContext("package_name",Context.CONTEXT_IGNORE_SECURITY);
2.调用其它应用的 Context的 getSharedPreferences()方法获取 SharedPreferences对象。
3.调用其它应用的 SharedPreferences.edit()方法获得对应SharedPreferences.Editor对象。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
来源:http://www.cnblogs.com/claireyuancy/p/6915032.html
猜你喜欢
- Android getevent用法实例详解最近在测试设备按键的常用命令,感觉这些命令都有的,但就是不知道怎么查找。翻阅了几篇博
- 嵌入式开发中,由于产品的绑定、验证等逻辑限制比较严重,需要自己做一个上位机工具,来实现USB/BT通讯工具,实现如串口通讯、OTA升级等功能
- 调用方法:/** * 点击量/月(年)Callable */ public void yearlyClickCallable() { //
- 前言Spring Boot项目一般都是内嵌tomcat或者jetty服务器运行,很少用war包部署到外部的服务容器,即使放到linux中,一
- 前言在 Java 中通常对一些方法进行一些注解操作,但是很多注解在 Java 代码上没有问题,如果切换到 Kotlin 上时,如果继续使用这
- 过去的每一year,涌现出越来越多的Java框架。就像JavaScript,每个人都认为他们知道一个好的框架的功能应该是怎么样的。连我的老祖
- 本文实例讲述了java数据结构与算法之双向循环队列的数组实现方法。分享给大家供大家参考,具体如下:需要说明的是此算法我并没有测试过,这里给出
- jmap是java自带的工具1. 查看整个JVM内存状态jmap -heap [pid]2. 查看JVM堆中对象详细占用情况jmap -hi
- map中相同的key保存多个value值在java中,Map集合中只能保存一个相同的key,如果再添加相同的key,则之后添加的key的值会
- DataBindings属性是很多控件都有的属性,作用有2方面。一方面是用于与数据库的数据进行绑定,进行数据显示。另一方面用于与控件或类的对
- 猜数字游戏你在和朋友一起玩 猜数字(Bulls and Cows)游戏,该游戏规则如下:写出一个秘密数字,并请朋友猜这个数字是多少。朋友每猜
- 使用类的全权名: System.Text.StringBuilder sb = new System.Text.StringBuilder(
- 第一篇是纯利用现有JDK提供的绘图类(ImageIO)类制作,这个过程比较复杂且需要了解ImageIO类。这一篇文章是利用Hutool工具类
- 一.什么是SemaphoreSemaphore,俗称信号量,它是操作系统中PV操作的原语在java的实现,它也是基于AbstractQueu
- 前言对于正则表达式,相信很多人都知道,但是很多人的第一感觉就是难学,因为看第一眼时,觉得完全没有规律可寻,而且全是一堆各种各样的特殊符号,完
- 一、NIO基本简介NIO (New lO)也有人称之为java non-blocking lO是从Java 1.4版本开始引入的一个新的IO
- WPF换肤的设计原理,利用资源字典为每种皮肤资源添加不同的样式,在后台切换皮肤资源文件。截图上图中,第一张图采用规则样式,第二张图采用不规则
- 本文实例讲述了Android显示网络图片的方法,分享给大家供大家参考。具体方法如下:一般来说,在Android中显示一张网络图片其实是非常简
- 本文实例为大家分享了Android实现图像切换器的具体代码,供大家参考,具体内容如下java代码:private int[] imageId
- 本文实例为大家分享了C#生成验证码图片的具体代码,供大家参考,具体内容如下/// <summary>