您的位置:首页 > 移动开发 > Android开发

Android 跨应用共享数据01-SharedPreferences

2015-12-05 14:17 405 查看
Android 有四大存储方式:sqlite 、File、SharedPreferences、ContentProvider,而说到跨应用之间的数据共享,很多人可能会想到用ContentProvicer,不过个人觉得ContentProvider还是有点麻烦,如果可以,不妨试试SharedPreferences。

下面主要讲解使用SharePreferences跨应用共享数据的用法,关于Android四大存储方式,有兴趣的,可以看下之前的博文: 点击打开链接

共享端:

<span style="font-size:18px;">SharedPreferences.Editor editorResolution;

String SP_CONFIG = "recording";
String resolution_preferences_key = "resolution_key";

editorResolution = getSharedPreferences(SP_CONFIG,MODE_WORLD_READABLE).edit(); //CSContant.SP_CONFIG 根据自己需要,设置唯一标识
editorResolution.putString(resolution_preferences_key, resolutionChoice).commit();</span></span>


获取端:

<span style="font-size:18px;">String RECORDING_PACKAGE_NAME = "com.android.recording"; //共享端 包名
String SP_CONFIG = "recording";
String resolution_preferences_key = "resolution_key";

try {
Context context = createPackageContext(RECORDING_PACKAGE_NAME,CONTEXT_IGNORE_SECURITY);

SharedPreferences pref = context.getSharedPreferences(SP_CONFIG,MODE_MULTI_PROCESS);

String resolution = pref.getString(resolution_preferences_key,CSContant.DURATION_3MINS);

} catch (NameNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}</span>
从上面我们可以看到,SharePreferences跨应用之间的数据共享,和普通的一个应用内部的数据共享,关键点是,借助createPackageContext()方法,获取到共享端应用的context,进而根据这个context,就可以获取到共享端共享的数据。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: