Android 跨应用共享数据01-SharedPreferences

       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,就可以获取到共享端共享的数据。


posted @ 2015-12-05 14:17  小驰行动派  阅读(40)  评论(0编辑  收藏  举报  来源