--------------------------------------------
读、写其他应用的SharedPreferences
3个访问必需条件
共享者需要将SharedPreferences的访问模式设置为全局读或写
访问者需要知道共享者的包名称和SharedPreferences名称
访问者需要确切知道每个数据的名称和数据类型,用以正确读取数据
///////////共享者
public SharedPreferences SP;
Editoreditor;
//名称,操作模式(权限)
SP=
mContext.getSharedPreferences("testSP",Context.MODE_WORLD_READABLE
+ Context.MODE_WORLD_WRITEABLE);
//写入数据并保存
editor= SP.edit();
editor.putBoolean("value",true);//写入
editor.putString("str_value","test");//还可以是int,string等类型
editor.commit();//保存
//获取数据
boolean b = SP.getBoolean("value",false);
----------------------------------------------------------------
//////////访问者
Context myContext=null;//生成全局变量
SharedPreferencesperfer;
SharedPreferences.Editoreditor;
////如果访问者与共享者在同一包中
//Prefer = mContext.getSharedPreferences("testSP",
//Context.MODE_WORLD_READABLE+ Context.MODE_WORLD_WRITEABLE);
////跨包访问
try {
//注意这句要进行异常处理,访问者需要知道共享者的包名称myContext=createPackageContext("com.tan.test",Context.CONTEXT_IGNORE_SECURITY);
} catch (NameNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//第一个参数是得到那个文件,第二个参数是可以对文件可读可写
Prefer
= myContext.getSharedPreferences("testSP", Context.MODE_WORLD_READABLE+Context.MODE_WORLD_WRITEABLE);
////获取数据
boolean b = Prefer.getBoolean("value",false);
////////////修改数据
editor=perfer.edit();//创建可编辑对象
editor.putBoolean("value",true);//写入内容
editor.commit();//每次写完要注意保存
-------------------以下转载原文-------------------------
读取其他程序的SharedPreferences一般步骤:
通过CreatPackageContext()创建其他程序对应的Context
通过这个Context的getSharedPreferences()方法获取对应的SharedPreferences对象
如果需要写入数据,调用SharedPreferences的edit()方法获取对应的Editor对象
3个访问必需条件
共享者需要将SharedPreferences的访问模式设置为全局读或写
访问者需要知道共享者的包名称和SharedPreferences名称
访问者需要确切知道每个数据的名称和数据类型,用以正确读取数据
读、写其他应用的SharedPreferences
Context myContext=null;//生成全局变量
SharedPreferences perfer;
SharedPreferences.Editor editor;
myContext=createPackageContext("cn.edu.zwu.tel",Context.CONTEXT_IGNORE_SECURITY);//注意这句要进行异常处理,访问者需要知道共享者的包名称
perfer=myContext.getSharedPreferences("lgs000", Context.MODE_WORLD_READABLE+ Context.MODE_WORLD_WRITEABLE); //第一个参数是得到那个文件,第二个参数是可以对文件可读可写
editor=perfer.edit();//创建可编辑对象
perfer.getString("name",null)//读显示内容
editor.putString("name", zh);//写入内容
editor.commit();//每次写完要注意保存