`
z251257144
  • 浏览: 91457 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

[Android]使用SharedPreferences进行数据存储

 
阅读更多

很多时候我们开发的软件需要向用户提供软件参数设置功能,例如我们常用的QQ,用户可以设置是否允许陌生人添加自己为好友。对于软件配置参数的保存,如果是window软件通常我们会采用ini文件进行保存,如果是j2se应用,我们会采用properties属性文件或者xml进行保存。如果是Android应用,我们最适合采用什么方式保存软件配置参数呢?Android平台给我们提供了一个SharedPreferences类,它是一个轻量级的存储类,特别适合用于保存软件配置参数。使用SharedPreferences保存数据,其背后是用xml文件存放数据,文件存放在/data/data/<package name>/shared_prefs目录下:

SharedPreferences sharedPreferences = getSharedPreferences("zhoumin", Context.MODE_PRIVATE);

Editor editor = sharedPreferences.edit();//获取编辑器

editor.putString("name", "zhoumin");

editor.putInt("age", 25);

editor.commit();//提交修改

 

生成的itcast.xml文件内容如下:

<?xml version='1.0' encoding='utf-8' standalone='yes' ?>

<map>

<string name="name">zhoumin</string>

<int name="age" value="25" />

</map>

因为SharedPreferences背后是使用xml文件保存数据,getSharedPreferences(name,mode)方法的第一个参数用于指定该文件的名称,名称不用带后缀,后缀会由Android自动加上。方法的第二个参数指定文件的操作模式,共有四种操作模式,这四种模式前面介绍使用文件方式保存数据时已经讲解过。如果希望SharedPreferences背后使用的xml文件能被其他应用读和写,可以指定Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE权限。

另外Activity还提供了另一个getPreferences(mode)方法操作SharedPreferences,这个方法默认使用当前类不带包名的类名作为文件的名称。

 

 

 

访问SharedPreferences中的数据代码如下:

SharedPreferences sharedPreferences = getSharedPreferences("zhoumin", Context.MODE_PRIVATE);

//getString()第二个参数为缺省值,如果preference中不存在该key,将返回缺省值

String name = sharedPreferences.getString("name", "");

int age = sharedPreferences.getInt("age", 1);


如果访问其他应用中的Preference,前提条件是:该preference创建时指定了Context.MODE_WORLD_READABLE或者Context.MODE_WORLD_WRITEABLE权限。如:有个<package name>为cn.zhoumin.action的应用使用下面语句创建了preference。

getSharedPreferences("zhoumin", Context.MODE_WORLD_READABLE);

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

Context otherAppsContext = createPackageContext("cn.zhoumin.action", Context.CONTEXT_IGNORE_SECURITY);

SharedPreferences sharedPreferences = otherAppsContext.getSharedPreferences("zhoumin", Context.MODE_WORLD_READABLE);

String name = sharedPreferences.getString("name", "");

int age = sharedPreferences.getInt("age", 0);


如果不通过创建Context访问其他应用的preference,也可以以读取xml文件方式直接访问其他应用preference对应的xml文件,如: 

File xmlFile = new File(“/data/data/<package name>/shared_prefs/zhoumin.xml”);//<package name>应替换成应用的包名

 

 

分享到:
评论

相关推荐

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

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

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

    在Android应用开发中,...以上就是关于Android中使用SharedPreferences进行数据存储、删除和读取的基本操作。在实际开发中,合理使用SharedPreferences能有效地帮助我们保存和管理应用的配置和状态信息。

    使用SharedPreferences进行数据存储

    以上就是关于`SharedPreferences`在Android中进行数据存储的详解,希望对你理解和使用这个工具有所帮助。如果想了解更多细节,可以参考给定的博客链接:[博客链接](https://hack-zhang.iteye.com/blog/1265370)。

    android使用SharedPreferences进行数据存储

    SharedPreferences是Android平台上用于轻量级数据存储的一个关键类,它主要用来保存应用程序的配置参数或简单数据,如用户的偏好设置。这些数据通常是键值对的形式,可以是字符串、整数、浮点数、布尔值等基本类型。...

    Android 使用SharedPreferences实现数据的读写

    SharedPreferences是Android提供的一种轻量级的数据存储方式,主要用于存储简单的键值对数据,如偏好设置、用户配置等。本文将详细介绍如何在Android中使用SharedPreferences进行数据的读写操作。 一、...

    Android使用SharedPreferences和SQLite数据库实现数据存储

    本文将详细探讨如何使用SharedPreferences和SQLite数据库这两种常见的Android数据存储机制。 首先,我们来看SharedPreferences。SharedPreferences提供了一种轻量级的数据存储方式,适用于保存简单的键值对数据,如...

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

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

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

    本教程将详细介绍Android中的三种主要数据存储方式:SharedPreferences存储、内部文件存储以及数据库存储。 1. SharedPreferences存储 SharedPreferences是Android提供的一种轻量级的数据存储方式,用于保存应用...

    Android-Android系统SharedPreferences进行的封装

    在Android开发中,SharedPreferences是系统提供的一种轻量级的数据存储方式,主要用于保存应用程序中的简单配置数据,如布尔值、整型、浮点型、字符串等。由于它的操作简便且易于理解,因此在需要持久化小量数据时...

    Android使用SharedPreferences保存账号密码

    在Android应用开发中,SharedPreferences是Android提供的一种轻量级的数据存储方式,主要用于存储一些简单的配置信息,如用户偏好设置、账号密码等。它是一个键值对的存储系统,支持基本数据类型,如字符串(String)...

    Android中DataStore替代SharedPreferences

    Android开发者们长期以来一直依赖SharedPreferences作为轻量级的数据存储解决方案,它的简单易用性使其在小规模数据存储方面受到了广泛欢迎。然而,随着应用程序复杂性的增加,SharedPreferences的局限性逐渐暴露...

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

    在Android应用开发中,数据存储是一项基础且重要的任务。Shared Preferences是Android提供的一种轻量级的数据存储机制,常用于保存应用程序中的配置设置或简单的键值对数据。它以XML格式存储,适合保存少量非结构化...

     Android的SharedPreferences的使用

    SharedPreferences是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息。其存储位置在/data/data/&lt;包名&gt;/shared_prefs目录下。SharedPreferences对象本身只能...

    android的SharedPreferences详解

    SharedPreferences是Android系统提供的一种轻量级的数据存储方式,它主要用于应用程序中简单数据的持久化存储,例如用户设置、应用状态等。SharedPreferences采用键值对的形式保存数据,支持基本类型如布尔、整型、...

    Android之SharedPreferences数据保存

    SharedPreferences是Android系统提供的一种轻量级的数据存储方式,用于存储简单的键值对数据,如布尔值、整型、浮点型、字符串等。本资源将通过一个具体的例子来介绍如何使用SharedPreferences进行数据保存。 ...

    android学习SharedPreferences的使用方法

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

    Android数据存储--SharedPreferences存储

    在本篇博文中,我们将深入探讨如何使用SharedPreferences进行数据存储,并通过源码分析其工作原理。 一、SharedPreferences的基本使用 1. 获取SharedPreferences对象 Android系统提供了两个方法来获取...

    android SharedPreferences小例子

    在Android开发中,SharedPreferences是一个轻量级的数据存储机制,用于保存和读取少量的基本数据类型,如字符串、整型、布尔值等。它非常适合用来存储应用程序的配置信息或用户偏好设置,因为这些数据通常不需要复杂...

    android中使用SharedPreferences进行数据存储的操作方法

    很多时候我们开发的软件需要向用户提供软件参数设置功能,例如我们常用的QQ,用户可以设置是否允许陌生人添加自己为...使用 SharedPreferences保存数据,其背后是用xml文件存放数据,文件存放在/data/data/&lt;package

    Android数据持久化之二:SharedPreferences 存储

    数据持久化就是指将那些内存中的瞬时数据保存到持久化设备中(如手机文件、数据库等),当关机,...SharedPreferences 是使用键值对的方式来存储数据的,使用 SharedPreferences来进行数据持久化要比使用文件方便很多。

Global site tag (gtag.js) - Google Analytics