SharedPreferences存储
前言
持久化技术就是指将内存中的数据保存到存储设备中,内存中的数据是处于瞬时状态的,存储设备中的数据是处于持久状态的。持久化技术提供了一种机制,可以让数据在瞬时状态和持久状态之间进行转换。
Android系统主要提供了三种方式用于简地实现数据持久化功能:文件存储、SharedPreferences存储以及数据库存储。
本文主要讨论SharedPreferences存储。
一、什么是SharedPreferences存储?
SharedPreferences(SP)是一种使用键值对形式来存储数据的方式,在保存一条数据的时候,需要给这条数据提供一个key,这样就可以通过key读取出他的value;SP还有一个比较方便的地方,它支持多种不同的数据类型,如果存入的是整型,那么读取出来也是整型;存入的是字符串,读取出来也是字符串。
二、SharedPreferences
1.SharedPreferences对象
想要使用SP,就需要先获取SharedPreferences对象,Android提供了两种方法来获取SharedPreferences对象
方法一:Context类中的getSharedPreferences()
方法
参数
:
- 文件名称,文件如果不存在会自动创建,存放在
/data/data/<package name>/shared_prefs/
目录下 - 指定操作模式,默认只有一种MODE_PRIVATE,或传入0,表示只有当前应用程序才可以对这个SP进行读写
方法二:Activity类中的getPreferences()
方法
参数
:指定操作模式,同上。
并且会自动将当前Activity的类名作为SP的文件名
2.将数据存储到SharedPreferences中
得到SP对象之后,就可以向文件中存储数据了,主要有以下三个步骤:
- 调用SP对象的
edit()
方法获取一个SP.Editor对象 - 向SP.Editor对象中添加数据,使用
putString/putBoolean
此类的方法 - 使用
apply()
方法提交数据,完成存储
看看demo吧,新建SharedPreferencesTest项目,修改代码如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical