Android 数据存储之 SharedPreferences储存

------------------------------------------SharedPreferences存储--------------------------------------------

SharedPreferences 使用键值对方式来存储数据的。当保存一条数据的时候,需要给这条数据提供一个对应的键,这样在读取数据的时候就可以通过这个键把相应的值取出。

SharedPreferences 支持多种不同数据类型的存储,可以按照需要取出数值型,或者字符型的数据。

-----------------------------------------获取SharedPreferences对象-----------------------------------------

要想使用 SharedPreferences 来存储数据,首先要获取到 SharedPreferences 对象。Android 主要提供了三种方法来得到 SharedPreferences 对象。

1. Context 类中的 getSharedPreferences() 方法

  此方法接受两个参数,第一个参数用于指定 SharedPreferences 文件的名称,如果指定的文件不存在则会创建一个。

  SharedPreferences 文件都是存放在 /data/data/<包名>/shared_prefs/ 目录下的。

  第二个参数用于指定操作模式,主要为 MODE_PRIVATE(默认操作模式) 和 MODE_MULTI_PROCESS(多进程读写) 。

2. Activity 类中的 getPreferences() 方法

  这个方法和 Context 中的 getSharedPreferences() 方法类似,不过它只接收一个操作模式参数,使用这个方法时会自动将当前活动的类名作为 SharedPreferences 的文件名。

3. PreferenceManager 类中的 getDefaultSharedPreferences() 方法

  这是一个静态方法,它接收一个 Context 参数,并自动使用当前应用程序的包名作为前缀来命名 SharedPreferences 文件。

  得到了 SharedPreferences 对象之后,就可以开始向 SharedPreferences 文件中储存数据了。

---------------------------------------将数据存储到SharePreferences中--------------------------------------

使用 SharedPreferences 对象储存数据:

  1. 调用 SharedPreferences 对象的 edit() 方法来获取一个 SharePreferences.Editor 对象。

  2. 向 SharedPreferences.Editor 对象中添加数据,如果添加一个字符串则使用 putString() 方法,以此类推。

  3. 调用 commit() 方法将添加的数据提交,从而完成数据存储操作。

将数据存储到 SharedPreferences 文件中:

            public void onClick(View v) {
                //获取 SharedPreferences 对象
                SharedPreferences shared = getSharedPreferences("data", MODE_PRIVATE);
                //获取  SharedPreferences.Editor 对象
                SharedPreferences.Editor editor = shared.edit();
                //以键值对方式传入数据
                editor.putString("name", "Jay Chou");
                editor.putInt("age", 37);
                editor.putBoolean("married", true);
                //提交数据
                editor.commit();
            }

最终得到的 data.xml 文件内容:

<?xml version=‘1.0‘ encoding=‘utf-8‘ standalone=‘yes‘ ?>
<map>
    <string name="name">Jay Chou</string>
    <int name="age" value="37" />
    <boolean name="married" value="true" />
</map>

可以看到所有的数据都已经成功保存下来了,并且SharedPreferences 文件是使用XML格式来对数据进行管理的。

注意:如果要清除 XML 中的所有数据,使用 SharedPreferences.Editor 对象的 clear() 方法,就能够将 SharedPreferences 文件中的数据全部清除。

---------------------------------------从SharePreferences中读取数据--------------------------------------

相比从 SharedPreferences 文件中存储文件,读取文件显得更加简单。SharedPreferences 对象中提供了一系列的 get 方法用于对存储的数据进行读取,每种 get 方法都对应了 SharedPreferences.Editor 中的一种 put 方法。

这些 get 方法都接收两个参数,第一个参数是键,传入存储数据时使用的键就可以得到相应的值了,第二个参数是默认值,即表示当传入的键找不到对应的值时,会以什么样的默认值进行返回。

获取 SharedPreferences 文件数据,并打印到控制台:

            public void onClick(View v) {
                //获取SharedPreferences对象
                SharedPreferences shared = getSharedPreferences("data", MODE_PRIVATE);
                //获取xml数据
                String name = shared.getString("name", "null");
                int age = shared.getInt("age", 0);
                boolean married = shared.getBoolean("married", false);
                //获取不存在的数据
                String hobby = shared.getString("hobby", "unknown");
                //打印日志记录
                Log.d("woider", "name: " + name);
                Log.d("woider", "age: " + age);
                Log.d("woider", "married: " + married);
                Log.d("woider", "hobby: " + hobby);
            }

日志截图:

时间: 2024-09-29 03:36:33

Android 数据存储之 SharedPreferences储存的相关文章

Android数据存储-通过SharedPreferences实现记住密码的操作

在Android中登陆中,为了实现用户的方便,往往需要根据用户的需要进行记住密码的操作,所以,在Android数据存储中SharedPreferences恰恰可以实现这一点 下面,小编将带领大家通过SharedPreferences实现记住密码的操作 一.首先:介绍下什么是SharedPreferences? SharedPreferences是Android平台上一个轻量级的存储类,用来保存应用的一些常用配置. 二.介绍了SharedPreferences,我们将通过记住SharedPrefe

Android数据存储之SharedPreferences浅析

SharedPreferences 是 Android 数据存储方式中的一种,特别适合用来存储少量的.格式简单的数据,比如应用程序的各种配置信息,如是否打开音效,是否开启震动等等. SharedPreferences 存储数据的位置和格式 SharedPreferences 将数据以键值对的形式,存储在 /data/data/<package name>/shared_prefs 目录下面,以 XML 的格式保存,该 XML 文件的根元素是 <map.../>,该元素里每个子元素代

Android数据存储之SharedPreferences存储

安卓系统为应用提供了系统级的配置存储方案,它就是靠SharedPreferences接口来实现的,该接口存储的所有信息都是以名值对的形式保存,但其保存的数据类型也仅限于基本数据类型,如字符串.整形.布尔型等.这些配置最后会保存在一个XML文件中,每次打开应用时,这些保存的信息就会被加载进来,我们也可以在“管理应用程序”中将这些缓存数据清除. SharedPreferences接口的常用方法如下: SharedPreferences接口类方法 No 方法 类型 描述 1 public abstra

Android数据存储之SharedPreferences

SharedPreferences是一种轻型的数据存储方式,基于XML文件存储key-value pairs键值对数据,通常用来存储一些简单的配置信息.SharedPreferences对象本身只能获取数据而不支持存储和修改,存储修改是通过Editor对象实现.每一个 SharedPreferences 文件都是由framework管理的并且可以是私有或者可共享的. 数据存储 新建一个Android项目,在MainActivity的onCreate方法中,调用getSharedPreferenc

【Android数据存储】SharedPreferences

1.概述 SharedPreferences 类提供了一个通用框架,以便您能够保存和检索原始数据类型的永久性键值对. 您可以使用 SharedPreferences 来保存任何原始数据:布尔值.浮点值.整型值.长整型和字符串. 此数据将跨多个用户会话永久保留(即使您的应用已终止亦如此). 要获取应用的 SharedPreferences 对象,请使用以下两个方法之一: getSharedPreferences() - 如果您需要多个按名称(使用第一个参数指定)识别的首选项文件,请使用此方法. g

Android 数据存储之 SharedPreferences

SharedPreferences SharedPreferences也是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息.  其存储位置在/data/data/<包名>/shared_prefs目录下.SharedPreferences对象本身只能获取数据而不支持存储和修改,存储修改是通过Editor对象实现.  实现SharedPreferences存储的步骤如下: 一.根据Context获取SharedPreferences

Android简易数据存储之SharedPreferences

Andorid提供了多种数据存储的方式,例如前面说到的“Android数据存储之SQLite的操作”是用于较复杂的数据存储.然而,如果有些简单的数据存储如果采用SQLite的方式的话会显得比较笨重.例如:记录用户是否访问过APP的欢迎页面之类的数据,如果采用SQLite的话会显得没必要而且费时费力.因此Andorid提供了另一种存储简单数据的方式SharedPreferences.SharedPreferences是一个轻量级的数据存储方式,其仅支持boolean.int.long.float.

Android——数据存储(四种方式之一)SharedPrefereces

Android--数据存储(四种方式) 1.SharedPrefereces   轻量级.XML  存储文件名,数据保存在data/data/basepackage/shared_prefs/myopt.xml中   实例-收藏-记住密码自动登录 //一种轻量级的数据存储方式//通过KEY 存入数据--putxxxx(key,value) 取出数据--getxxxx(key  default)   2.读写SD卡  SD的根目录  适用于数据流读写 3.SQLite  轻量级.dp文件多用于手机

Android 数据存储之 SQLiteDatabase

? 惯例:安卓的三种本地的典型数据存储方式 SharedPreferences 以文件格式保存在本地存储中 SQL数据库 本节学习的是 SQLiteDatabase 的使用方式,而在使用方面也只是展示了如何创建数据库,创建表,写入数据.然后查询出来. 因为之前在 word 中操作以表格的形式插入多行代码时遇到了无法高亮,模糊不清的状况,所以本节并不会写出使用方法. 详情请直接访问我的 GitHub 项目:https://github.com/Chenstyle/AndroidTraining 具