ShardPreference是安卓中重要的数据存储的功能。其作用和一般用法不再重述,大家百度就可以了。
进入重点,如果你想让你的sharedPreference文件可以让多进程访问,
1. 在创建这个文件的时候声明权限是多进程可以访问的。
代码:
c.getSharedPreferences("my_file", Context.MODE_WORLD_WRITEABLE);
2. 在别的进程时,我们这样访问,代码:
Context otherContext = c.createPackageContext(
"com.android.contacts", Context.CONTEXT_IGNORE_SECURITY);
SharedPreferences sp = otherContext.getSharedPreferences(
"my_file", Context.MODE_WORLD_READABLE + Context.MODE_WORLD_WRITEABLE
+ Context.MODE_MULTI_PROCESS);
说明:
createPackageContext的 第一个是sharedPreference所在的应用程序的包路径
后面的就是各种权限,大家可以看api,。
另外据api, 还有Context.CONTEXT_INCLUDE_CODE 可以执行目标库的代码,通过反射来做,不过就还没去尝试。
参考: http://zengrong.net/post/1687.htm
进入重点,如果你想让你的sharedPreference文件可以让多进程访问,
1. 在创建这个文件的时候声明权限是多进程可以访问的。
代码:
c.getSharedPreferences("my_file", Context.MODE_WORLD_WRITEABLE);
2. 在别的进程时,我们这样访问,代码:
Context otherContext = c.createPackageContext(
"com.android.contacts", Context.CONTEXT_IGNORE_SECURITY);
SharedPreferences sp = otherContext.getSharedPreferences(
"my_file", Context.MODE_WORLD_READABLE + Context.MODE_WORLD_WRITEABLE
+ Context.MODE_MULTI_PROCESS);
说明:
createPackageContext的 第一个是sharedPreference所在的应用程序的包路径
后面的就是各种权限,大家可以看api,。
另外据api, 还有Context.CONTEXT_INCLUDE_CODE 可以执行目标库的代码,通过反射来做,不过就还没去尝试。
参考: http://zengrong.net/post/1687.htm