【从零到一】Android数据存储(二) | SharedPreference


什么是SharedPreference?

SharedPreference是Android平台上一个轻量级的存储类,用来保存应用的一些常用配置。


SharedPreference的特点

  1. 数据类型:支持基本数据类型,不支持自定义数据类型
  2. 存储键值对方式存储
  3. 保存:保存到data/data/<package_name>/shared_prefs/中自定义的XML文件中
  4. 访问:默认情况下只能在APP内部访问

键值对方式是一种非结构化的存储方法,非结构化是指字段的存储不需要表与字段相互的关联关系,为单纯的Key-Value关系,非常简便轻量。


SharedPreference的使用

  1. 获取SharedPreference对象
  2. 将数据存入SharedPreference
  3. 从SharedPreference中读取数据
  4. 封装SharedPreference工具类

1.获取SharedPreference对象

方法 参数 作用
PreferenceManager.getDefaultSharedPreferences(Context context) context :上下文 创建以包名为前缀的XML文件
Activity.getSharedPreferences(String name,int mode) 1.String name :文件名(无需后缀) 2.int mode :模式(如下4种) 创建以name为文件名的XML文件
MODE_PRIVATE(只能该应用读写)
MODE_WORLD_READABLE(可以被其他应用读取,但不可写入)
MODE_WORLD_WRITEABLE(可被其他应用读写)
MODE_APPEND(检查文件是否存在,存在直接追加内容,不存在则直接创建)

获取SharedPreference对象:

SharedPreferences sharedpreferences = MainActivity.this.getSharedPreferences("macardo", MODE_PRIVATE);//创建名为macardo的XML文件
//                SharedPreferences sharedpreferences =PreferenceManager.getDefaultSharedPreferences(MainActivity.this);//创建以包名为前缀的XML文件

2.将数据存入SharedPreference

在这里插入图片描述
在这里插入图片描述

方法 参数 作用
SharedPreferences.edit() 返回一个EditorImpl对象
Editor.putXX(String key, int value) 1.String key:键 2. int value:值 传入键值对形式数据
Editor.apply() 将数据保存到磁盘中,异步保存(不会阻塞当前线程)
Editor.commit() 将数据保存到磁盘中,同步保存

将数据存入SharedPreference:

    private void initViews() {
   
        mEtKey = findViewById(R.id.etKEY);
        mEtValue = findViewById(R.id.etVALUE);
        mBtnSave = findViewById(R.id.btnSave);

        mBtnSave.setOnClickListener(new View.OnClickListener() {
   
            @Override
            public void onClick(View v) {
   
                //保存用户输入的键值对
                String key = mEtKey.getText().toString().trim();
                String value = mEtValue.getText().toString().trim();
                SharedPreferences sharedpreferences = MainActivity.this.getSharedPreferences("macardo", MODE_PRIVATE);//创建名为macardo的XML文件
//                SharedPreferences sharedpreferences =PreferenceManager.getDefaultSharedPreferences(MainActivity.this);//创建以包名为前缀的XML文件
                SharedPreferences.Editor edito
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值