SharePreferences-创新互联

SharedPreferences
基本用法:
1)存数据:
//第一个参数是文件名,不需要加.xml后缀,如果文件不存在,系统会自动生成。
//文件路径为:/data/data//shared_prefs/xxx.xml
SharePreferences
SharedPreferences sp = getSharedPreferences("loginsetting", MODE_PRIVATE);
String name= sp.getString("name", "");
String password= sp.getString("pwd", "");

2)取数据

成都创新互联成立十多年来,这条路我们正越走越好,积累了技术与客户资源,形成了良好的口碑。为客户提供成都做网站、成都网站制作、网站策划、网页设计、空间域名、网络营销、VI设计、网站改版、漏洞修补等服务。网站是否美观、功能强大、用户体验好、性价比高、打开快等等,这些对于网站建设都非常重要,成都创新互联通过对建站技术性的掌握、对创意设计的研究为客户提供一站式互联网解决方案,携手广大客户,共同发展进步。
SharedPreferences sp = getSharedPreferences("loginsetting", MODE_PRIVATE);
String name= sp.getString("name", "");
String password= sp.getString("pwd", "");

其他:
//getPreferences(mode)与getSharedPreferences(String filename,mode)
//区别在于getPreferences只有一个参数,不能指定文件名,文件名固定为
//当前Activity的名字,不包含包名。

SharedPreferences sp = getPreferences(MODE_PRIVATE); 
Editor editor= sp.edit(); 
editor.putFloat("money", 100000.0f); 
editor.commit();

//通过PreferenceManager.getDefaultSharedPreferences(Context),获取到
的SharedPreferences MODE默认为MODE_PRIVATE,而且生成文件名为
<包名>_preferences.xml

SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this); 
Editor editor= sp.edit(); 
editor.putFloat("money", 100000.0f); 
editor.commit();

------------------三个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_READABLEFileOutputStream 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", "");
SharedPreference可以保存多个数据

sp = PreferenceManager.getDefaultSharedPreferences(this);

存:

SharedPreferences.Editor editor = sp.edit();
Set set = new HashSet();
set.add("java");
set.add("C++");
set.add("c");
editor.putStringSet("books", set);
editor.commit();

取:

Set books = sp.getStringSet("books", null);

当前文章:SharePreferences-创新互联
文章地址:http://pwwzsj.com/article/dpdhpj.html