首页 > 代码库 > android-数据存储之SharedPreferences

android-数据存储之SharedPreferences

数据存储:SharedPreferences

一、基础概要

  1、说明

    1>主要用于存储单一小数据;

    2>存储类型:boolean、float、String、long、int

    3>数据保存路径:/data/data/packageName/shared_prefs/xxx.xml

    4>应用卸载时会删除此数据(实际上---包名文件夹下所有数据在应用卸载是都会删除"packageName")

    5>可以设置操作数据的权限,eg.只能是当前应用读取--MODE_PRIVATE(默认)

                   MODE_WORLD_WRITEABLE 

                   MODE_WORLD_READABLE 

                   MODE_MULTI_PROCESS

        操作数据的权限可以通过查看源码得到,这些注释都写在源码注释上;

       2、SharedPreferences   对应sp文件接口

      ---SharedPreferences  context.getSharedPreferences(String name,int mode)   得到sp实现类的对象

          参数一:文件名(不带.xml,已经固定)

          参数二:生成文件模式,包括上述四种。

      ---Editor sp.edit()   得到Editor对象

      ---Xxxsp.getXxx(name,defaultValue)  根据name得到指定数据,如果得不到返回defaultValue

  3、Editor 更新sp文件接口

      ---Editor put(name,value)   保存一个键值对(但没有真正保存到文件中)

      ---Editor remove(name)

      ---Editor commit()   提交,数据真正保存到文件中。

        以上方法返回值一样都是Editor类型,可以搞个方法链调用。

二、练习

  1、保存数据步骤:

    1>得到sp对象

    2>得到editor对象

    3>得到要保存的数据

    4>使用editor保存数据

    5>提交

  2、读取数据步骤:

    1>得到要查询数据的key

    2>根据key读取value 

        sp.getXxx(key,value);

三、重要代码

保存数据:

SharedPreferences sp=getSharedPreferences("kk", MODE_PRIVATE);
     Editor ed=sp.edit();
     //方法链调用
     ed.putString("向日葵", "我是一朵美丽的向日葵")
      .putString("向日葵", "我还是一朵美丽的向日葵")  //覆盖上一句value
      .putString("康康", "我还是一朵美丽的向日葵")
      .putInt("谢荣康", 23)
      .putString("砂锅轩","不好吃").commit();
     
     Toast.makeText(MainActivity.this, "保存成功", Toast.LENGTH_SHORT).show();

通过以上实验,每一个key对应一个唯一的value;存储文件如下:

技术分享

文件存储路径:

技术分享

 

 

读取数据:

 技术分享

 

android-数据存储之SharedPreferences