`

(转)访问SharedPreferences

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


Java代码
SharedPreferences sharedPreferences = getSharedPreferences("first_app_perferences", Context.MODE_PRIVATE); 
String name = sharedPreferences.getString("name", "");  //getString()第二个参数为缺省值,如果preference中不存在该key,将返回缺省值
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代码
getSharedPreferences("first_app_perferences", Context.MODE_WORLD_READABLE); 



在SecondApp中要访问FirstApp应用中的preference,首先需要创建FirstApp应用的Context,然后通过Context 访问preference ,访问preference时会在应用所在包下的shared_prefs目录找到preference :
Java代码
Context firstAppContext = createPackageContext("com.first.app", Context.CONTEXT_IGNORE_SECURITY);  
SharedPreferences sharedPreferences = firstAppContext.getSharedPreferences("first_app_perferences",  Context.MODE_WORLD_READABLE);  
String name = sharedPreferences.getString("name", ""); 
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
分享到:
评论

相关推荐

    读写SharedPreferences中的数据

    在这里,"MyPreferences"是SharedPreferences文件的名称,而`Context.MODE_PRIVATE`是访问模式,表示只有当前应用可以访问这个文件。 接着,我们可以使用`SharedPreferences.Editor`来编辑并提交更改。例如,要保存...

    SharedPreferences

    SharedPreferences的工作原理是基于XML文件,这些文件存储在设备的私有数据目录下,每个应用都有自己的SharedPreferences文件,不同应用之间不能直接访问。默认情况下,文件是可读写,但在Android 11及以上版本,...

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

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

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

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

    SharedPreferences解析

    这里的"MyPreferences"是SharedPreferences文件的名字,MODE_PRIVATE表示只有本应用可以访问该文件。 2. 读取数据:使用SharedPreferences对象的edit()方法获取Editor,然后调用commit()或apply()来保存数据。例如...

    android SharedPreferences小例子

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

    android学习SharedPreferences的使用方法

    在Android开发中,SharedPreferences是一个轻量级的数据存储方式,用于保存应用中的小量、简单的数据,如用户设置、应用状态等。它提供了键值对(key-value pairs)的存储,支持基本数据类型如布尔型、整型、浮点型...

    SharedPreferences设置用户参数

    `name`参数是文件名,`mode`参数是访问模式,例如`MODE_PRIVATE`(默认)、`MODE_WORLD_READABLE`、`MODE_WORLD_WRITEABLE`等。 2. **编辑SharedPreferences**: - `SharedPreferences.Editor`:通过调用`edit()`...

    SharedPreferences例子

    其中,"MyPreferences"是SharedPreferences文件的名称,而`MODE_PRIVATE`表示只有当前应用可以访问这个文件。 2. **编辑SharedPreferences**: 要保存或修改数据,我们需要创建一个`SharedPreferences.Editor`...

    android的SharedPreferences详解

    默认情况下,SharedPreferences文件只能被当前应用访问,如果需要其他应用也能读取,可以使用`MODE_WORLD_READABLE`或`MODE_WORLD_WRITEABLE`模式。 - **数据丢失** 在应用卸载或数据清理时,SharedPreferences...

    sharedpreferences存储多个用户

    默认情况下,SharedPreferences文件是私有的,只能被创建它的应用访问,这为每个用户的数据隔离提供了基础。 在处理多个用户的情况下,我们通常有以下几种策略: 1. **创建多个SharedPreferences文件**:为每个...

    SharedPreferences基本介绍

    3. **安全性**:相比于其他存储方式,SharedPreferences的安全性相对较低,因为任何人都可以通过文件系统访问到这些数据。但通常情况下,这足以满足大部分应用的需求。 4. **同步机制**:SharedPreferences提供了...

    SharedPreferences 保存用户设置

    如果你需要访问特定的SharedPreferences文件,可以使用`getSharedPreferences()`,传入文件名和操作模式。 ```java SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE); SharedPreferences ...

    一个简单的Sharedpreferences使用实例

    1. **获取SharedPreferences对象**:可以通过Context的getSharedPreferences()方法获取,需要提供文件名(默认是应用包名加_preferences)和操作模式(如MODE_PRIVATE,表示只有本应用能访问)。 ```java ...

    Android SharedPreferences设置初始密码

    数据保存在XML文件中,位于应用的私有数据目录下,因此其他应用无法直接访问。 设置初始密码的步骤如下: 1. **获取SharedPreferences实例**:通常在需要使用SharedPreferences的类中,通过`getSharedPreferences...

    android的SharedPreferences用法举例源代码

    - `getSharedPreferences(String name, int mode)`:通过传入文件名和访问模式来获取,例如`getSharedPreferences("my_prefs", Context.MODE_PRIVATE)`,其中"my_prefs"是文件名,`Context.MODE_PRIVATE`表示私有...

    Android应用源码之SharedPreferences.zip

    - `getSharedPreferences(String name, int mode)`:这是获取SharedPreferences实例的方法,`name`是配置文件的名称,`mode`是访问模式,如私有(Context.MODE_PRIVATE)。 - `edit()`:返回一个`...

    用SharedPreferences方式储存数据

    这个方法需要两个参数:一个表示SharedPreferences文件的名称(通常是常量),另一个是模式,例如`Context.MODE_PRIVATE`,表示只有当前应用能访问这个文件。 2. **编辑SharedPreferences**: 要修改...

Global site tag (gtag.js) - Google Analytics