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;存储文件如下:

    文件存储路径:

    读取数据:

     

  • 相关阅读:
    交叉工具链的搭建方法(测试成功)
    使用samba实现linux与windows共享(测试成功)
    sd卡脱机烧写系统的方法(测试成功)
    Navicat连接SQLServer未发现数据源名并且未指定默认驱动程序
    使用docker rmi 批量删除docker镜像
    删除镜像docker rmi IMAGE ID提示image is referenced in multiple repositories
    Linux下,改过/etc/profile文件导致ls vi等命令不能使用解决方法
    安装openssl-dev 报错E: Unable to locate package openssl-dev
    zabbix监控redis命中率---张庆沉笔记
    布局之BFC
  • 原文地址:https://www.cnblogs.com/iamkk/p/5968006.html
Copyright © 2011-2022 走看看