`

不同应用间数据共享

 
阅读更多
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也可以完成读写操作。
分享到:
评论

相关推荐

    SharedPreferences文件在不同应用之间数据共享

    在Android中,实现不同应用间的数据共享主要有以下几种方法: 1. **ContentProvider**:Android系统的组件之一,可以暴露特定的数据集供其他应用访问。创建一个ContentProvider专门处理SharedPreferences文件,其他...

    大数据中心数据共享交换平台建设与应用方案共20页.ppt

    大数据中心数据共享交换平台建设与应用方案 大数据中心数据共享交换平台是基于“聚、通、用”总体目标的建设项目,以实现市级数据共享交换平台的建设目标。该平台的主要目的是为了实现数据共享交换、数据服务和数据...

    基于区块链的物流应用系统数据共享技术.pdf

    根据提供的文件内容,本篇论文主要探讨了区块链技术在物流应用系统数据共享中的应用,下面将详细展开介绍相关知识点。 标题《基于区块链的物流应用系统数据共享技术.pdf》揭示了本文研究的核心内容和方向,即利用...

    基于分布式存储与计算技术的健康医疗数据共享应用实践.pdf

    健康医疗数据共享应用需要能够满足不同部门和机构之间的数据共享需求,同时还需要满足数据的安全和隐私保护需求。 基于分布式存储与计算技术的健康医疗数据共享应用模式 基于分布式存储与计算技术的健康医疗数据...

    android 不同应用数据共享.存储

    总结一下,Android提供了多种方式来实现不同应用间的数据共享和存储:通过ContentProvider公开数据接口,使用Services进行后台通信,以及通过设置SharedUserId提升信任应用的权限。每个方法都有其适用场景,开发者应...

    健康医疗大数据共享的应用场景及价值探析.pdf

    "健康医疗大数据共享的应用场景及价值探析" 健康医疗大数据共享是医疗卫生行业数据实际需求的必然趋势,具有重大应用价值。本文梳理了健康医疗大数据共享的五大典型应用场景和五大应用价值。 一、健康医疗大数据...

    基于数据共享机制的大数据平台研究和应用.pdf

    2. 数据共享机制:该文档的重点在于数据共享机制的构建,通过建立数据共享平台来实现不同业务系统间的数据互联互通。数据共享机制可以有效避免信息孤岛,促进数据资源的共享和利用。 3. 数据目录与数据分类:实现跨...

    ContentProvider数据共享

    在Android系统中,ContentProvider是实现应用程序间数据共享的核心组件。它允许一个应用将自己的数据集公开,让其他应用可以通过标准的ContentResolver接口进行访问。这种机制使得数据可以在多个应用之间透明地共享...

    android跨应用sharepreference数据共享

    请注意,这种跨应用数据共享的方法仅适用于Android 2.3及以下版本。在更高版本的Android中,推荐使用ContentProvider或者自定义的文件共享方案,因为它们提供了更好的权限控制和更安全的数据交换。 总结,跨应用的...

    C#实现数据共享

    本主题聚焦于"C#实现数据共享",这是一种在不同工程之间传递和共享信息的关键技术。在C#中,数据共享可以通过多种方法实现,其中一种独特的方式是利用`unsafe`关键字直接操作内存。下面我们将深入探讨这一技术以及与...

    跨域数据共享与应用.pptx

    跨域数据共享是指在不同的组织、部门或系统之间进行数据交流的过程。这一概念的提出旨在打破信息孤岛,促进数据资源的有效利用,为决策提供更全面的支持。然而,跨域数据共享面临着一系列挑战: - **数据标准化难度...

    电信设备-企业移动应用之间的数据共享方法.zip

    电信设备在企业移动应用数据共享中扮演着重要角色。它们提供网络连接,保障数据传输的稳定性和速度。同时,电信设备上的安全措施,如防火墙、加密技术等,为数据共享提供了硬件级别的保护。 五、安全策略 1. 数据...

    大数据共享交换平台数据可视化演示DEMO源码.zip

    大数据共享交换平台是一种高效的数据管理和分析工具,它旨在整合来自不同来源的数据,提供实时或近实时的数据交换,并通过可视化方式展示这些数据的洞察。在这个压缩包中,"大数据共享交换平台数据可视化演示DEMO...

    使用共享内存在不同程序直接传递数据

    在IT领域,共享内存是一种高效的进程间通信(IPC, Inter-Process Communication)方式,它允许不同的程序在同一块物理内存区域进行读写操作,从而实现数据的快速传递。在这个场景下,描述中的小程序巧妙地利用了共享...

    网络数据共享服务

    "网络数据共享服务"是通过互联网将信息资源在不同设备间进行交换和访问的技术。这种服务极大地提升了信息传递的效率,降低了沟通成本。CCFileTransfer作为其中的一员,它利用TCP/IP协议栈,实现文件的快速上传、下载...

    区块链技术在政务数据共享中的应用.docx

    区块链技术在政务数据共享中的应用.docx

    android 数据共享(ContentProvider)

    在实际开发中,ContentProvider不仅可以用于应用间的数据共享,还常用于备份和恢复数据,或者与其他系统服务(如ShareActionProvider、Intent等)进行数据交互。它为数据交换提供了一套标准的接口,使得数据操作更加...

    电信设备-实现移动终端间数据共享的方法和系统.zip

    "电信设备-实现移动终端间数据共享的方法和系统"的主题涉及到如何高效、安全地在不同移动设备之间传输和分享信息。这一主题涵盖了多个关键知识点,包括但不限于网络通信协议、数据加密技术、设备间的配对与认证机制...

Global site tag (gtag.js) - Google Analytics