当前位置: 移动技术网 > 移动技术>移动开发>Android > Android本地存储SharedPreferences详解

Android本地存储SharedPreferences详解

2019年07月24日  | 移动技术网移动技术  | 我要评论

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

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网