Android 本地数据存储之 SharePreferences 存储

一、前言

数据的存储是我们在使用应用的过程中不可避免的操作,因为对于所有的应用而言我们主要的操作就是数据的读取与存储。

二、Android 中常用的数据存储方式

Android 中常用的数据存储方式有以下几种:

  1. SharePreferences 存储数据;
  2. 文件存储(内部、外部);
  3. 数据库存储(比如SQLite、greenDao、Room 等);
  4. ContentProvider 存储数据;
  5. 网络存储数据(将数据存储在服务器端)。

上面列出的五种存储方式里面,前面四种都属于本地数据存储方式,我们今天只讲 SharePreferences 的使用

三、SharePreferences 概述

SharedPreferences 是一个轻量级的存储类,主要作用如下:

  • 用于存放一些类似登录的配置信息(小的数据,状态信息);
  • 本质上是一个 xml 文件,是通过类似键值对的方式存储信息;
  • 位于程序私有目录中,即data/data/[packageName]/shared_prefs 中。

四、SharePreferences 使用

4.1、案例演示

我们要实现的案例如下所示:

Sp 案例
这个案例具体流程就是在登录界面输入账号和密码,点击登录,如果账号和密码符合验证要求的话,我们就将账号和密码保存到 Sp 中,当下一次再进来的时候,就会在输入框中显示我们存储的信息,即账号和密码。我们平时使用的 App,大部分登陆界面都是这样做的。

4.2、利用 Sp 存储信息

一般利用 Sp 存储信息有四个步骤,分别是

  1. 获取 Sp 对象;
  2. 获取 Editor 对象;
  3. 存储信息;
  4. 提交。

具体代码如下所示:

findViewById(R.id.login_btn).setOnClickListener(new View.OnClickListener() {
   
    @Override
    public void onClick(View v) {
   
    
        String account = accEdt.getText().toString();
        String password = pwdEdt.getText().toString();

		// 验证内容,这里写死
        if (account.equals("123") && password.equals("123")) {
   
            // 1:获取 Sp 对象
            SharedPreferences sp = getSharedPreferences("spConfig", Context.MODE_PRIVATE);
            // 2:获取 Editor 对象
            SharedPreferences.Editor editor = sp.edit();
            // 3:存储信息
            editor.putString("account", account);
            editor.putString("password", password);
            // 4:提交
            editor.commit();

            ToastUtil.showToast("登录成功");
        } else {
   
            ToastUtil.showToast("账号或密码错误");
        }
    }
});

4.3、Sp 中信息的读取

Sp 的读取很简单,直接利用 Sp 对象就可以了,具体代码如下所示:

// Sp的读取
SharedPreferences sp = getSharedPreferences("spConfig", Context.MODE_PRIVATE);
String account = sp.getString("account", "");
String password =
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值