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对象。

时间: 2024-08-07 15:25:37

Android本地存储方案 SharedPreferences的相关文章

android本地存储SharedPreferences

SharedPreferences是Android中最容易理解的数据存储技术,实际上SharedPreferences处理的就是一个key-value(键值对)SharedPreferences常用来存储一些轻量级的数据 //实例化SharedPreferences对象(第一步) SharedPreferences mySharedPreferences= getSharedPreferences("test", Activity.MODE_PRIVATE); //实例化SharedP

Android数据存储-通过SharedPreferences实现记住密码的操作

在Android中登陆中,为了实现用户的方便,往往需要根据用户的需要进行记住密码的操作,所以,在Android数据存储中SharedPreferences恰恰可以实现这一点 下面,小编将带领大家通过SharedPreferences实现记住密码的操作 一.首先:介绍下什么是SharedPreferences? SharedPreferences是Android平台上一个轻量级的存储类,用来保存应用的一些常用配置. 二.介绍了SharedPreferences,我们将通过记住SharedPrefe

[转]App离线本地存储方案

App离线本地存储方案 原文地址:http://ask.dcloud.net.cn/article/166 HTML5+的离线本地存储有如下多种方案:HTML5标准方案:cookie.localstorage.sessionstorage.websql.indexedDBHTML5Plus扩展方案:plus.navigator.setCookie.plus.storage.plus.io cookie体量最小,可以设置过期时间.不能跨域. localstorage适合key.value键值对的存

Android数据存储之SharedPreferences存储

安卓系统为应用提供了系统级的配置存储方案,它就是靠SharedPreferences接口来实现的,该接口存储的所有信息都是以名值对的形式保存,但其保存的数据类型也仅限于基本数据类型,如字符串.整形.布尔型等.这些配置最后会保存在一个XML文件中,每次打开应用时,这些保存的信息就会被加载进来,我们也可以在“管理应用程序”中将这些缓存数据清除. SharedPreferences接口的常用方法如下: SharedPreferences接口类方法 No 方法 类型 描述 1 public abstra

Android 数据存储之 SharedPreferences储存

------------------------------------------SharedPreferences存储-------------------------------------------- SharedPreferences 使用键值对方式来存储数据的.当保存一条数据的时候,需要给这条数据提供一个对应的键,这样在读取数据的时候就可以通过这个键把相应的值取出. SharedPreferences 支持多种不同数据类型的存储,可以按照需要取出数值型,或者字符型的数据. ----

[转]Dcloud App离线本地存储方案

原文地址:http://ask.dcloud.net.cn/article/166 HTML5+的离线本地存储有如下多种方案:HTML5标准方案:cookie.localstorage.sessionstorage.websql.indexedDBHTML5Plus扩展方案:plus.storage.plus.io cookie体量最小,可以设置过期时间. localstorage适合key.value键值对的存储,数据量一般不超过5M.是常用的轻量数据存储方案. sessionstorage也

Android数据存储之SharedPreferences浅析

SharedPreferences 是 Android 数据存储方式中的一种,特别适合用来存储少量的.格式简单的数据,比如应用程序的各种配置信息,如是否打开音效,是否开启震动等等. SharedPreferences 存储数据的位置和格式 SharedPreferences 将数据以键值对的形式,存储在 /data/data/<package name>/shared_prefs 目录下面,以 XML 的格式保存,该 XML 文件的根元素是 <map.../>,该元素里每个子元素代

htm5本地存储方案——websql的封装

一.websql 简介 在HTML5中,大大丰富了客户端本地可以存储的内容,添加了很多功能来将原本必须保存在服务器上的数据转为保存在客户端本地,从而大大提高了Web应用程序的性能,减轻了服务器端的负担,使Web时代重新回到了"客户端为重,服务器为轻"的时代. 在这其中,一项非常重要的功能就是数据库的本地存储功能.在HTML5中内置了一个可以通过SQL语言来访问的数据库.在HTML4中,数据库只能放在服务器端,只能通过服务器来访问数据库,但是在HTML5中,可以就像访问本地文件那样轻松的

简单易用的Model加密本地存储方案

说明 1. 加密方案采用了策略设计模式(一种加密方案是一种策略) 2. 对一个Model进行存储而不进行NSCoding编码非常便利 3. 非常简单易用 4. 支持AES.DES.CAST加密 源码 https://github.com/YouXianMing/StoreValueEncryptStrategy // // ViewController.m // StoreValueEncryptStrategy // // Created by YouXianMing on 15/9/25.