`

访问其他程序的SharedPreferences里的数据信息

 
阅读更多

 I:访问本程序的(FirstApp)SharedPreferences中的数据代码如下:

 

Java代码 复制代码
  1. SharedPreferences sharedPreferences = getSharedPreferences("first_app_perferences", Context.MODE_PRIVATE);   
  2. String name = sharedPreferences.getString("name""");  //getString()第二个参数为缺省值,如果preference中不存在该key,将返回缺省值   
  3. int age = sharedPreferences.getInt("age"1);  
[java] view plaincopy
  1. SharedPreferences sharedPreferences = getSharedPreferences("first_app_perferences", Context.MODE_PRIVATE);  
  2. String name = sharedPreferences.getString("name""");  //getString()第二个参数为缺省值,如果preference中不存在该key,将返回缺省值  
  3. int age = sharedPreferences.getInt("age"1);  

 

 

II:访问其他应用中的Preference(在SecondApp中访问FirstApp的数据),前提条件是:FirstApp的preference创建时指定了Context.MODE_WORLD_READABLE或者Context.MODE_WORLD_WRITEABLE权限。

如:在<package name>为com.first.app的应用使用下面语句创建了preference("first_app_perferences")。

Java代码 复制代码
  1. getSharedPreferences("first_app_perferences", Context.MODE_WORLD_READABLE);  
[java] view plaincopy
  1. getSharedPreferences("first_app_perferences", Context.MODE_WORLD_READABLE);  

 

在SecondApp中要访问FirstApp应用中的preference,首先需要创建FirstApp应用的Context,然后通过Context 访问preference ,访问preference时会在应用所在包下的shared_prefs目录找到preference :

Java代码 复制代码
  1. Context firstAppContext = createPackageContext("com.first.app", Context.CONTEXT_IGNORE_SECURITY);   
  2. SharedPreferences sharedPreferences = firstAppContext.getSharedPreferences("first_app_perferences",  Context.MODE_WORLD_READABLE);   
  3. String name = sharedPreferences.getString("name""");   
  4. int age = sharedPreferences.getInt("age"0);  
[java] view plaincopy
  1. Context firstAppContext = createPackageContext("com.first.app", Context.CONTEXT_IGNORE_SECURITY);  
  2. SharedPreferences sharedPreferences = firstAppContext.getSharedPreferences("first_app_perferences",  Context.MODE_WORLD_READABLE);  
  3. String name = sharedPreferences.getString("name""");  
  4. int age = sharedPreferences.getInt("age"0);  

 

如果不通过创建Context访问FirstApp应用的preference,可以以读取xml文件方式直接访问FirstApp应用的preference对应的xml文件,如: 
File xmlFile = new File(“/data/data/<package name>/shared_prefs/first_app_perferences.xml”);//<package name>应替换成应用的包名: com.first.app

 

 

具体实现就是 A和B设置成同一个User ID:
    * 在2个APK的AndroidManifest.xml 配置User ID:
    <manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.android.demo.a1"
    android:sharedUserId="myname">
   这个"myname" 就是user id, 然后packagename APK A就是上面的内容,  

这个设定好之后, APK B就可以像打开本地数据库那样 打开APK A中的数据库了.

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

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

    通常,SharedPreferences数据是私有的,即每个应用只能访问自己创建的SharedPreferences文件,无法直接读取其他应用的SharedPreferences。但在某些情况下,我们可能需要在不同的应用程序之间共享数据,这就涉及到跨...

    读写SharedPreferences中的数据

    在本文中,我们将深入探讨如何在Android中读写SharedPreferences数据,以及其内部的工作原理。 首先,让我们了解一下如何读取SharedPreferences中的数据。在Android中,通常我们会在需要使用SharedPreferences的...

    SharedPreferences数据存储和读取实例

    - `layout11`可能展示SharedPreferences数据存储和读取的完整流程,例如创建一个设置界面,用户可以在其中更改一些应用设置,然后在另一个界面显示这些设置的当前状态。 4. 使用示例: ```java ...

    实验九 使用SharedPreferences存储简单数据

    在Android应用开发中,SharedPreferences是Android提供的一种轻量级的数据存储方式,主要用于存储应用程序中的配置信息或者用户的一些简单设置。这个实验旨在让你了解并掌握如何使用SharedPreferences来存储和读取...

    Android 3种数据保存(SharedPreferences存储 内部文件存储 数据库存储)

    SharedPreferences是Android提供的一种轻量级的数据存储方式,用于保存应用程序的简单配置信息,如用户设置、偏好设置等。它采用键值对的形式存储,支持基本数据类型如布尔型、整型、浮点型、字符串等。数据持久化在...

    android 使用SharedPreferences对数据存储/删除/读取/文件删除

    在Android应用开发中,SharedPreferences是Android提供的一种轻量级的数据存储方式,主要用于存储应用程序的配置信息或者简单数据。它提供了一种键值对的方式,使得数据的存储、删除和读取变得非常方便。下面我们将...

    Android 使用SharedPreferences实现数据的读写

    在Android应用开发中,数据持久化是至关重要的一个环节,它允许应用程序在用户退出或设备重启后仍能保存数据。SharedPreferences是Android提供的一种轻量级的数据存储方式,主要用于存储简单的键值对数据,如偏好...

    Android使用SharedPreferences进行数据存储,缓存ID等数据

    在Android应用开发中,SharedPreferences是Android提供的一种轻量级的数据存储机制,主要用于存储应用程序的配置信息或者临时数据,如用户偏好设置、登录状态等。它提供了简单键值对的存储方式,非常适合用来缓存像...

    Android数据存储之SharedPreferences

    4. **分类存储**:每个应用程序都有自己的SharedPreferences文件,通常存储在`/data/data/&lt;包名&gt;/shared_prefs/`目录下,文件以.xml格式保存,确保数据安全不被其他应用访问。 在AndroidManifest.xml中,我们可能会...

    android SharedPreferences小例子

    它非常适合用来存储应用程序的配置信息或用户偏好设置,因为这些数据通常不需要复杂的数据库操作且访问速度快。在这个小例子中,我们将探讨如何在Android应用中使用SharedPreferences来保存键值对。 首先,我们需要...

    SharedPreferences跨应用读取数据的源程序

    在Android开发中,SharedPreferences是应用程序用来存储轻量级数据的关键工具。它主要用于保存用户的偏好设置,如应用的主题、音量设定等。这些数据通常是非结构化的键值对,包括字符串、整数、浮点数、布尔值等类型...

    Android数据存储--SharedPreferences存储

    在Android应用开发中,数据存储是一项重要的任务,用于持久化应用程序的数据,以便在用户退出或设备重启后仍能保留信息。SharedPreferences是Android提供的一种轻量级的数据存储方式,主要用于存储少量简单的键值对...

    SharedPreferences

    SharedPreferences是Android系统提供的一种轻量级的数据存储方式,主要用于应用程序保存一些简单的配置信息,如用户设置、应用状态等。它的操作简单,适用于不需要复杂数据库存储的场景。在Android开发中,...

    Android-通过注解生成SharedPreferences包装类解决跨进程数据访问不同步的问题

    然而,当多个进程同时访问同一份SharedPreferences时,可能会遇到数据访问不同步的问题,这在多进程环境下尤为突出。为了解决这个问题,我们可以采用通过注解自动生成SharedPreferences的包装类,以实现更高效、安全...

    Sharedpreferences存储数据的使用方法_完整Demo_AndroidStudio

    Shared Preferences是Android提供的一种轻量级的数据存储机制,常用于保存应用程序中的配置设置或简单的键值对数据。它以XML格式存储,适合保存少量非结构化的数据。在这个"Sharedpreferences存储数据的使用方法_...

    SharedPreferences最简单demo(数据永久保存)

    SharedPreferences是Android系统提供的一种轻量级的数据存储方式,主要用于存储应用程序中的配置信息或者简单的用户数据。它使用XML格式将键值对(key-value pairs)存储在设备上,这些数据可以在应用的不同活动或...

    打卡日程,小作业,SharedPreferences存储数据

    "打卡日程,小作业,SharedPreferences存储数据"这个主题聚焦于如何利用SharedPreferences来存储和管理应用程序中的轻量级数据,如用户的打卡日程记录。SharedPreferences是Android提供的一种简单、方便的数据存储...

    SharedPreferences解析

    SharedPreferences是Android系统提供的一种轻量级的数据存储方式,主要用于应用程序内部的数据持久化。它是一个简单的键值对存储系统,常用于存储用户的一些设置或者应用程序的状态信息。在Android开发中,当你需要...

    小程序源码 SharedPreferences.zip

    这可能涉及到本地JSON文件的读写,或者其他小程序支持的数据持久化方式。 在源码中,我们可能看到以下几个关键部分: 1. **获取SharedPreferences**:通过`getSharedPreferences(String name, int mode)`方法获取...

Global site tag (gtag.js) - Google Analytics