Android 学习笔记:SharedPreferences实现数据的保存和读取

一、概述

1.键值对方式存储

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

2.支持多种不同的数据类型存储

SharedPreferences 支持多种不同的数据类型存储,如果存储的数据类型是整形,那么读取出来的数据也是整形;如果存储的数据是一个字符串,那么读取出来的数据是字符串。

3. 应用场景

  • 应用程序中的偏好设置功能
  • 记住密码功能(需要加密存储)

二、将数据存储到 SharedPreferences 中

1. 获取 SharedPreferences 对象

要想使用 SharedPreferences 存储数据,首先需要获取 SharedPreferences 对象。Android 中主要提供了以下两种方法用于得到 SharedPreferences 对象。

1.1 Context 类中的 getSharedPreferences() 方法

public SharedPreferences getSharedPreferences(String name, int mode)
  • 第一参数 用于指定 SharedPreferences 文件的名称,如果指定的文件不存在则会创建一个。
  • SharedPreferences 文件都是存放在 /data/data//shared_prefs 目录下
  • 第二个参数用于指定操作模式,目前只有默认的 MODE_PRIVATE 这一种模式可选。其他几种模式均已被废弃。

1.2 Activity 类中的 getPreferences() 方法

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

2. 示例代码

sharedPreferences =   getSharedPreferences("data",Context.MODE_PRIVATE);
SharedPreferences.Editor editor =  sharedPreferences.edit();
editor.putString("name","xiaoming");
editor.putInt("age",18);
editor.commit();
  • 获取sharedPreferences
  • 返回 sharedPreferenceseditor 对象;
  • editor 对象 根据实际需要,输入实际的键值对;
  • 调用 editorcommit方法,保存数据。

三、从 sharedPreferences 读取数据

示例代码

sharedPreferences =   getSharedPreferences("data",Context.MODE_PRIVATE);
String nameString = sharedPreferences.getString("name","");
int age = sharedPreferences.getInt("age",0);
  • 获取 sharedPreferences 对象;
  • 根据 要获取的不同的类型值调用不同的api(字符串类型,整数类型) ,输入对应的键。

四、查看存放到系统的 sharedPreferences 文件


<map>
  <string name="name">xiaomingstring>
  <int name="age" value="18" />
map>

你可能感兴趣的:(Android,应用开发读书笔记,android,数据持久化)