zoukankan      html  css  js  c++  java
  • 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;存储文件如下:

    文件存储路径:

    读取数据:

     

  • 相关阅读:
    CodeForces
    Educational Codeforces Round 111 (Rated for Div. 2)
    「JOISC 2020 Day4」治疗计划
    [杂题合集] 其真无码耶?
    [2021.7.16] 洛谷七月月赛
    倾心力作!嵌入式linux开发指南(RK3399),3399教程1500+,开发资料全覆盖
    资料丨迅为IMX6ULL开发板-主频和时钟配置例程(二)
    资料丨迅为IMX6ULL开发板-主频和时钟配置例程
    自学嵌入式拉低偏差丨4412开发板学习指引+为学习后面内容打下基础
    文档资源有话说丨再次升级-i.MX6Q开发板手册更新
  • 原文地址:https://www.cnblogs.com/iamkk/p/5968006.html
Copyright © 2011-2022 走看看