Android SharedPreferences存取操作以及封装详解

yizhihongxing

Android SharedPreferences 是一种轻量级的存储方式,可以用来存储一些简单的数据。在下面的内容中,我会详细介绍SharedPreferences 的存取操作以及封装,其中包含两个示例说明。

什么是SharedPreferences?

SharedPreferences 是一种轻量级的存储方式。它主要用来存放一些简单的键值对数据,比如一些设置参数、用户信息等。在 Android 中,SharedPreferences 保存在应用程序包的/data/data/< package name >/shared_prefs/目录下,是一个 XML 文件。

如何存取SharedPreferences?

SharedPreferences 存取分为写入和读取两部分。

写入SharedPreferences

存储数据到 SharedPreferences 中,通常需要进行以下步骤:

  1. 获取 SharedPreferences 对象

可以通过以下方式获取SharedPreferences 对象:

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

其中,test 是SharedPreferences 文件的名称,Context.MODE_PRIVATE 表示该SharedPreferences 文件只能被应用程序本身访问。

  1. 获取 SharedPreferences.Editor 对象

在获取 SharedPreferences 对象之后,需要获取 SharedPreferences.Editor 对象用于写入数据:

SharedPreferences.Editor editor = sharedPreferences.edit();
  1. 向 SharedPreferences.Editor 对象中写入数据

在获取 SharedPreferences.Editor 对象之后,通过以下方法进行数据写入:

editor.putString("key", "value");

其中,key 表示键,value 表示值。SharedPreferences 可以存储的数据类型有 boolean、float、int、long 和 String 等。如果需要存储其他数据类型,可以进行类型转换后再存储。

  1. 提交数据修改

最后,需要提交 SharedPreferences.Editor 对象的修改,以使修改生效:

editor.apply();

读取SharedPreferences

从 SharedPreferences 中读取数据,通常需要以下步骤:

  1. 获取 SharedPreferences 对象

与写入操作一样,需要获取SharedPreferences 对象,以便读取 SharedPreferences 中的数据:

SharedPreferences sharedPreferences = context.getSharedPreferences("test", Context.MODE_PRIVATE);
  1. 读取 SharedPreferences 数据

获取 SharedPreferences 对象后,需要通过以下方式读取SharedPreferences 数据:

String value = sharedPreferences.getString("key", null);

其中,key 是键,null 是默认返回值。如过 key 对应的值不存在,则返回默认值。SharedPreferences 还提供了相应的获取其他数据类型的方法,比如getInt()、getBoolean() 等。

SharedPreferences 的封装

为了方便使用和管理SharedPreferences,通常需要对其进行封装。下面是一个SharedPreferences 的封装类的示例代码:

public class SPUtil {
    private static String SP_NAME = "config";
    private static SharedPreferences sharedPreferences;

    public static void init(Context context) {
        sharedPreferences = context.getSharedPreferences(SP_NAME, Context.MODE_PRIVATE);
    }

    public static void putString(String key, String value) {
        sharedPreferences.edit().putString(key, value).apply();
    }

    public static String getString(String key, String defaultValue) {
        return sharedPreferences.getString(key, defaultValue);
    }
}

在上述代码中:

  • SP_NAME 表示SharedPreferences 文件的名称;
  • sharedPreferences 是 SharedPreferences 对象;
  • init() 方法用于初始化SharedPreferences 对象;
  • putString() 方法用于向 SharedPreferences 中写入数据;
  • getString() 方法用于从 SharedPreferences 中读取数据。

示例说明

下面是两个示例的说明:

示例1.

在应用程序中保存用户名和密码信息,可以进行如下设置:

public void saveUserInfo(String username, String password) {
    SPUtil.putString("username", username);
    SPUtil.putString("password", password);
}

示例2.

应用程序中保存程序是否第一次启动的状态信息,代码如下:

public boolean isFirstLaunch() {
    return SPUtil.getBoolean("is_first_launch", true);
}

public void setFirstLaunch(boolean value) {
    SPUtil.putBoolean("is_first_launch", value);
}

在上述示例中,通过调用SPUtil 中封装的方法,可以方便的存储和读取SharedPreferences 数据。

总结

以上就是 Android SharedPreferences 的存取操作以及封装的详细攻略,在实际项目中,SharedPreferences 非常方便实用,它可以用来存储一些简单的数据,进行应用程序的设置、用户信息管理等操作。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Android SharedPreferences存取操作以及封装详解 - Python技术站

(0)
上一篇 2023年6月25日
下一篇 2023年6月25日

相关文章

  • 7种方法解决Win11和Win10中谷歌Chrome浏览器速度慢问题

    7种方法解决Win11和Win10中谷歌Chrome浏览器速度慢问题 如果你在 Windows 10 或 Windows 11 操作系统中使用谷歌 Chrome 浏览器时,遇到了速度缓慢的问题,可以尝试以下七种方法来解决。 方法一:使用最新版本的 Chrome 浏览器 确保你使用的是最新版本的 Chrome 浏览器。通过在浏览器中点击三个点图标,选择“帮助”…

    other 2023年6月27日
    00
  • Win7系统中怎么修改环境变量PATH以此来更好的运行进程

    Win7系统中修改环境变量PATH的攻略 在Win7系统中,修改环境变量PATH可以帮助我们更好地运行进程。下面是详细的攻略,包括两个示例说明。 步骤一:打开系统属性 首先,右键点击桌面上的“计算机”图标,然后选择“属性”。 在弹出的窗口中,点击左侧的“高级系统设置”。 步骤二:编辑环境变量 在“高级系统属性”窗口中,点击下方的“环境变量”按钮。 在“系统变…

    other 2023年8月9日
    00
  • 图文详解java内存回收机制

    图文详解Java内存回收机制 1. 引言 Java内存回收机制是Java虚拟机(JVM)的重要组成部分,它负责管理和回收程序运行过程中产生的垃圾对象。垃圾对象是指那些不再被程序使用的对象,占用内存空间但无法被访问到的对象。Java内存回收机制通过自动回收这些垃圾对象来释放内存空间,提高程序的性能和效率。 2. Java内存模型 在深入了解Java内存回收机制…

    other 2023年8月2日
    00
  • ReactJS入门实例教程详解

    ReactJS入门实例教程详解 ReactJS是Facebook开发的一款基于组件化的前端框架,它能够有效地提升前端的开发效率并且具有很好的可维护性。本教程将详细介绍ReactJS的基本概念和使用方法,包括组件的定义、状态的管理、事件的处理等内容,通过实例来演示ReactJS的强大功能。 ReactJS基本概念 ReactJS的核心概念是组件(Compone…

    other 2023年6月27日
    00
  • MyBatis流式查询的使用详解

    以下是关于MyBatis流式查询的使用详解的完整攻略,包含两个示例说明: MyBatis流式查询的使用详解 MyBatis是一个流行的Java持久化框架,它提供了流式查询的功能,可以在处理大量数据时提供更好的性能和内存管理。下面是使用MyBatis进行流式查询的详细步骤: 步骤一:配置MyBatis 首先,确保您已经正确配置了MyBatis的环境和依赖项。这…

    other 2023年10月17日
    00
  • springboot配置嵌入式servlet容器的方法

    当使用Spring Boot开发Web应用时,可以通过配置嵌入式Servlet容器来提供服务。嵌入式Servlet容器是指运行在应用中的Servlet容器,它不需要外部的Web服务器来运行。 下面是配置嵌入式Servlet容器的方法: 1. 添加Spring Boot Web依赖 首先,需要在项目的pom.xml文件中添加Spring Boot Web依赖。…

    other 2023年6月28日
    00
  • 微信开发者工具怎么设置默认外观 微信开发者工具设置默认外观教程

    微信开发者工具设置默认外观教程 微信开发者工具是一款常用的小程序开发工具,因此如何设置微信开发者工具的默认外观也成为了不少小程序开发者关注的问题。下面将详细讲解微信开发者工具怎么设置默认外观。 步骤一:打开微信开发者工具并创建新项目 首先打开微信开发者工具,并创建一个新的小程序项目。在新建项目的页面中需要填写小程序的名称、AppID和项目目录路径等信息。 步…

    other 2023年6月26日
    00
  • logstash安装配置

    Logstash安装配置 Logstash是一个流数据处理工具,可以用于从各种不同来源,如日志文件、消息队列、数据库等,收集、处理和转发数据。本文将介绍如何在Linux系统上安装并配置Logstash,以便于开始处理数据。 安装Java Logstash是一个基于Java的应用程序,因此首先需要在系统上安装Java运行环境。可以使用以下命令在Ubuntu系统…

    其他 2023年3月28日
    00
合作推广
合作推广
分享本页
返回顶部