Android 不同应用通过SharedPreference实现共享数据
来源:互联网 发布:步步高录音电话软件 编辑:程序博客网 时间:2024/04/30 00:19
Android不同应用之间数据的共享有许多方式,但是我觉得还是使用sharedPreference比较简单和轻量级。如果程序B想要访问程序A的sharedPreference可以通过下面的语句来实现:
-
try { AContext =createPackageContext(A_PACKAGE_NAME, Context.CONTEXT_IGNORE_SECURITY); } catch (NameNotFoundException e) { Log.e(TAG, "find package error!"); } SharedPreferences sp = AContext.getSharedPreferences(PREFERENCES_NAME, Context.MODE_WORLD_READABLE); sp.getInt(PREF_NAME, 0);
当然在A程序里创建SharedPreference的时候也需要使用Context.MODE_WORLD_READABLE属性。另外SharedPreference还有Context.MODE_WORLD_WRITEABLE属性。根据SDK的解释,就是允许别的应用程序来对SharedPreference进行写操作。但是在实际程序实验中发现即使加上了这个属性,写操作也是无法成功的,会提示一个错误:Couldn't rename file /data/data/....PREFERENCES_NAME.XML to /data/data/....PREFERENCES_NAME.XML.bak。这个错误的原因应该是很明确了,程序B在程序A的目录里面没有创建和重命名文件的权限。
那么到底要怎么样才能让程序B在程序A的SharedPreferences里面写东西呢,其实很简单,在manifest.xml里面将两个应用程序的android:sharedUserId属性设为相同的就可以了。而且SharedPreference的属性也不需要Context.MODE_WORLD_WRITEABLE了,只需要Context.MODE_PRIVATE也可以完成读写操作。
- Android 不同应用通过SharedPreference实现共享数据
- Android 不同应用通过SharedPreference实现共享数据
- Android 不同应用通过SharedPreference实现共享数据
- 【Android】不同App之间通过SharedPreference共享数据
- 通过SharedPreference进行跨应用共享数据
- SharedPreference 实现不同进程间的数据共享
- Android通过sharedUserId实现不同APK数据共享
- android 应用间共享 sharedpreference
- Android中不同应用间实现SharedPreferences数据共享
- android ContentProvider简单实现不同应用间的数据共享
- 通过sharedpreference两个程序共享数据
- android通过ContentProvider实现应用间的数据共享
- 不同进程通过共享内存实现数据共享
- Android进程间共享数据之SharedPreference
- 应用间共享sharedpreference
- Android之用sharedUserId来实现不同应用(APK)数据共享
- 不同应用之间共享数据!
- 如何在不同的android应用之间共享数据?
- SQL SERVER中的逻辑读,预读和物理读
- C#中 根据左右上下键控制不多个控件的焦点
- IOS深入学习(4)之Coordinate System
- SQL学习---将所有的char,varchar改为nchar,nvarchar
- UDP数据接收服务器
- Android 不同应用通过SharedPreference实现共享数据
- JAVA性能测试初体验
- 使用Robotium & UIAutomator构建基于twitter的测试
- Hibernate中用hql查询部分字段 可解决异常java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to
- delphi copy 字符串部分复制
- 基于Qt的图像采集系统
- 基于MVC设计模式的WEB应用框架研究
- 设计模式(命令模式)
- asp.net返回json 动态生成jQuery Easyui tree