【安卓Android】SharedPreferences学习


title: SharedPreferences学习
tags: android,存储,SharedPreferences
grammar_cjkRuby: true

简介

日常开发中我们常常要用到保存数据,Android中常用的存储方式有SQLite,sharedPreferences 等,当然也有各自的应用场景,前者适用于保存较多数据的情形,后者责倾向于保存用户偏好设置比如某个checkbox的选择状态,用户登录的状态、配置信息,实现记住密码功能等等,都是以键值对的形式进行的文件读取。
SharedPreferences:一个轻量级的存储类,特别适合用于保存软件配置参数。(是用xml文件存放数据,文件存放在/data/data//shared_prefs目录下)。
SharedPreferences只能保存简单类型的数据,例如四种基本类型(int,float,long,boolean)+String。如果需要存取比较复杂的数据类型比如类或者图像,则需要对这些数据进行编码,通常将其转换成Base64编码,然后将转换后的数据以字符串的形式保存在XML文件中。

使用方式

        //获取sharedPreferences对象中editor对象
        SharedPreferences.Editor editor = getSharedPreferences("loginInfo",MODE_PRIVATE).edit();
        //存储键值对
        editor.putString("name", "周杰伦");

        editor.putInt("age", 24);
        editor.putBoolean("isMarried", false);
        editor.putLong("height", 175L);
        editor.putFloat("weight", 60f);

        editor.putStringSet("where", set);
		// editor.clear();     //清空操作		
        //提交
        editor.commit();

		// 读取信息
        SharedPreferences sharedPreferences = getSharedPreferences("zjl", Context.MODE_PRIVATE);
        //getString()第二个参数为缺省值,如果preference中不存在该key,将返回缺省值
        String name = sharedPreferences.getString("name", "");
        int age = sharedPreferences.getInt("age", 1);

使用解析

保存数据

  1. 使用Activity类的getSharedPreferences方法获得SharedPreferences对象;
  2. 使用SharedPreferences接口的edit获得SharedPreferences.Editor对象;
  3. 通过SharedPreferences.Editor接口的putXXX方法保存key-value对;
  4. 通过过SharedPreferences.Editor接口的commit方法保存key-value对。

读取数据

  1. 使用Activity类的getSharedPreferences方法获得SharedPreferences对象;
  2. 通过SharedPreferences对象的getXXX方法获取数据;

获取SharedPreferences对象

public abstract SharedPreferences getSharedPreferences (String name, int mode)
  1. 根据name查找SharedPreferences,若已经存在则获取,若不存在则创建一个新的
  2. 参数
    name:命名
    mode:模式,包括
    MODE_PRIVATE(只能被自己的应用程序访问)
    MODE_WORLD_READABLE(除了自己访问外还可以被其它应该程序读取)
    MODE_WORLD_WRITEABLE(除了自己访问外还可以被其它应该程序读取和写入)
    备注:后两种已废除
SharedPreferences sharedPreferences = getSharedPreferences("name", Context.MODE_PRIVATE);

参考

【Android】数据存储(一) SharedPreferences详解】
【Android-存储:SharedPreferences使用及其存储类型】

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值