码迷,mamicode.com
首页 > 移动开发 > 详细

android 数据存储之SharePreference 的几种方式

时间:2015-05-15 15:03:28      阅读:229      评论:0      收藏:0      [点我收藏+]

标签:

1. 常见的 getSharedPreferences(String filename,mode)  

指定sp文件的名称,生成的文件名为 filename.xml

2.getPreferences(mode)

getPreferences只有一个参数,不能指定文件名,文件名固定为
当前Activity的名字,不包含包名。

3.PreferenceManager.getDefaultSharedPreferences(Context)

该SharedPreferences MODE默认为MODE_PRIVATE,而且生成文件名为
<包名>_preferences.xml    

 

------------------三个mode

MODE_PRIVATE 私有的,不允许其他程序访问该xml文件。
MODE_WORLD_READABLE 其他程序可以读取
MODE_WORLD_WRITABLE 其他程序可以写 

这里其他程序如何访问呢?
有两种方式:
第一种,在第二个程序中通过File:

File f = new File("/data/data/包名/shared_prefs/xxx.xml"); 
FileInputStream fis = new FileInputStream(f);//在被访问程序中,MODE_WORLD_READABLE 
FileOutputStream fos = new FileOutputStream(f);//在被访问程序中,MODE_WORLD_WRITABLE

第二种,通过被访问程序的Context对象。

Context otherContext = createPackageContext( 
"com.anjoyo.sharedpreference", CONTEXT_IGNORE_SECURITY);

第一个参数为要创建context的包名,第二个参数为创建时忽略安全问题。

SharedPreferences sp = otherContext.getSharedPreferences 
("loginsetting", MODE_WORLD_READABLE); 
String name = sp.getString("name", ""); 
String pwd = sp.getString("pwd", "");

android 数据存储之SharePreference 的几种方式

标签:

原文地址:http://www.cnblogs.com/shoneworn/p/4505741.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!