Android 持久化技术 SharedPreferences存储

前言

持久化技术就是指将内存中的数据保存到存储设备中,内存中的数据是处于瞬时状态的,存储设备中的数据是处于持久状态的。持久化技术提供了一种机制,可以让数据在瞬时状态和持久状态之间进行转换。

Android系统主要提供了三种方式用于简地实现数据持久化功能:文件存储、SharedPreferences存储以及数据库存储。

本文主要讨论SharedPreferences存储。


一、什么是SharedPreferences存储?

SharedPreferences(SP)是一种使用键值对形式来存储数据的方式,在保存一条数据的时候,需要给这条数据提供一个key,这样就可以通过key读取出他的value;SP还有一个比较方便的地方,它支持多种不同的数据类型,如果存入的是整型,那么读取出来也是整型;存入的是字符串,读取出来也是字符串。

二、SharedPreferences

1.SharedPreferences对象

想要使用SP,就需要先获取SharedPreferences对象,Android提供了两种方法来获取SharedPreferences对象

方法一:Context类中的getSharedPreferences()方法
参数

  1. 文件名称,文件如果不存在会自动创建,存放在/data/data/<package name>/shared_prefs/目录下
  2. 指定操作模式,默认只有一种MODE_PRIVATE,或传入0,表示只有当前应用程序才可以对这个SP进行读写

方法二:Activity类中的getPreferences()方法
参数:指定操作模式,同上。
并且会自动将当前Activity的类名作为SP的文件名

2.将数据存储到SharedPreferences中

得到SP对象之后,就可以向文件中存储数据了,主要有以下三个步骤:

  1. 调用SP对象的edit()方法获取一个SP.Editor对象
  2. 向SP.Editor对象中添加数据,使用putString/putBoolean此类的方法
  3. 使用apply()方法提交数据,完成存储

看看demo吧,新建SharedPreferencesTest项目,修改代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: android.content.SharedPreferencesAndroid中的一个API,用于为应用程序存储和读取键对形式的数据。它提供了一种轻量级的数据存储方式,适用于存储一些简单的配置信息或用户偏好设置。 android.content.Context.getSharedPreferences()是一个Context类中的方法,用于获取一个SharedPreferences对象。Context是Android中很重要的一个类,代表当前应用程序的运行环境。通过Context的getSharedPreferences()方法,我们可以获取到应用程序的默认SharedPreferences,也可以通过指定名称获取到不同的SharedPreferences使用SharedPreferences可以方便地进行数据存储和读取操作。它通过键对的方式存储数据,其中键是一个唯一标识,可以是各种基本类型的数据,如字符串、整数、布尔等。可以通过调用SharedPreferences的edit()方法获取到一个SharedPreferences.Editor对象,通过这个Editor对象可以进行数据的写入操作。可以使用putXXX()方法将数据存储SharedPreferences中,并通过commit()方法将修改提交保存。另外,还可以通过SharedPreferences的getXXX()方法读取已经存储数据SharedPreferences适用于存储一些简单的配置信息或用户偏好设置,其存储方式是以XML文件的形式保存在应用程序的/data/data/<package name>/shared_prefs/目录下。可以通过SharedPreferences的getDefaultSharedPreferences()方法获取默认的SharedPreferences对象,它的名称是根据应用程序的包名来自动生成的。 使用SharedPreferences可以方便地进行数据的读写操作,特别适合用于存储一些简单的应用配置或用户设置。但是对于需要存储大量复杂数据结构的情况,或者需要频繁读写数据的场景,可能不太适合使用SharedPreferences,可以考虑使用其他更合适的数据存储方式,如数据库。 ### 回答2: android.content.SharedPreferencesandroid.content.Context.getSharedPreferences都是Android中用于实现数据持久化的工具类和方法。 android.content.SharedPreferences是一个接口,用于存储简单键数据。它提供了一种轻量级的存储方式,可以非常方便地存储和读取数据SharedPreferences可以实现应用程序的配置信息存储,用户偏好设置的存储等功能。它的底层实现是基于XML文件的,数据存储在应用程序的沙盒目录中。 android.content.Context.getSharedPreferences是Context类的一个方法,用于获取SharedPreferences对象。Context是一个Android中的核心类,代表了应用程序的环境信息。在Android应用程序的各个组件中都可以通过Context对象获取应用程序的资源、启动新的组件、发送广播等等。通过Context.getSharedPreferences方法,我们可以获取一个SharedPreferences对象,并利用这个对象进行数据存储和读取。 总结起来,android.content.SharedPreferencesandroid.content.Context.getSharedPreferences都是用于实现数据持久化的工具。SharedPreferences数据存储的接口,它提供了简单的存储方式,可以存储数据;而Context.getSharedPreferences获取SharedPreferences对象的方法,通过Context类的实例获取SharedPreferences对象,方便进行数据存储和读取。这两个工具的使用可以帮助开发者实现应用程序的配置数据存储、用户偏好设置的存储等功能。 ### 回答3: android.content.SharedPreferencesAndroid平台上用于存储和读取轻量级的键数据的类。它是一种基于XML文件的存储机制,可用于存储应用程序的相关配置信息、用户偏好设置等。 首先,我们需要获取SharedPreferences对象,这可以通过调用Context类的getSharedPreferences方法来实现。这个方法需要传入两个参数,一个是存储文件的名称,另一个是操作模式。 getSharedPreferences方法返回一个SharedPreferences对象,我们可以通过这个对象进行数据的读取和写入。其中,存储文件的名称是一个用于标识数据的关键词,它对应着一个XML文件,用来存储数据。操作模式有多种选项,如MODE_PRIVATE、MODE_MULTI_PROCESS等,用于指定多个应用程序共享数据的方式。 一旦我们获取到了SharedPreferences对象,就可以通过它的edit方法获取一个Editor对象,从而可以进行数据的编辑操作。Editor对象提供了一系列的方法,如putBoolean、putInt、putString等,用于向SharedPreferences中写入数据。 另外,在读取数据时,我们可以通过SharedPreferences对象的getBoolean、getInt、getString等方法获取存储数据。 总之,SharedPreferences提供了一个简单而方便的存储数据的方式,适用于各种应用场景。不过需要注意的是,SharedPreferences适合存储少量的简单数据,对于大量数据存储,建议使用其他的存储方式,如数据库。 通过android.content.SharedPreferencesandroid.content.Context.getSharedPreferences方法,我们可以实现方便的存储和读取数据的功能,从而更好地满足应用程序的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值