继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Android存储数据方式之一:SharedPreferences详解

xiaoxin3839519
关注TA
已关注
手记 23
粉丝 9
获赞 227
  1. 概念
    SharedPreferences作为Android存储数据方式之一,它的原理是基于xml存储key-value键值对数据

  2. 作用
    1.通常用来存储一些简单的配置信息。
    2.还可以达到间接传值的目的

  3. 存储位置
    /data/data/{包名}/shared_prefs目录下

  4. 使用方法

**SharedPreferences对象本身只能获取数据而不支持存储和修改,存储删除修改是通过Editor对象实现的

SharedPreferences只支持以下几种类型的数据,boolean、 int 、float、 long、String

getSharedPreferences(String name, int mode);
此方法的返回值会返回一个SharedPreferences对象

此处name表示设置xml文件的名字,mode表示存储方式
Context.MODE_PRIVATE:只被创建者读写。**

  • 存数据
    //创建SharedPreferences对象
    SharedPreferences sp = getSharedPreferences("sp_demo",Context.MODE_PRIVATE);
    //SharedPreferences对象的edit方法会返回一个Editor编辑器对象
    Editor editor = sp.edit();
    editor.putString("name", "小张");
    editor.putInt("age", 11);
    editor.putBoolean("isStudent", true);
    editor.remove("isStudent");//删除的指定的key
    editor.commit();//当Editor编辑完,该方法提交修改
  • 取数据
    boolean name=sp.contains("name");//判断是否存在key
    String name = sp.getString("name", null);
    int age = sp.getInt("age", 0);
    sp.getAll();取出所有的键值对,返回值是Map<String,?>对象
    editor.clear();//清空SharedPreferences里所有数据

当我们调用sp.getString等get方法取数据时,实际上是直接从内存中的Map里面去取,get方法传入的第一个参数正好是Map的key,如果包含这个key,则返回对应的value,如果第二个参数是当Map中没有这个key对应值的时候,则返回的默认值。

打开App,阅读手记
2人推荐
发表评论
随时随地看视频慕课网APP