数据存储: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的更多相关文章

  1. Android数据存储-通过SharedPreferences实现记住密码的操作

    在Android中登陆中,为了实现用户的方便,往往需要根据用户的需要进行记住密码的操作,所以,在Android数据存储中SharedPreferences恰恰可以实现这一点 下面,小编将带领大家通过S ...

  2. Android数据存储方式--SharedPreferences

    Android数据存储方式有如下四种:SharedPreferences.存储到文件.SQLite数据库.内容提供者(Content provider).存储到网络服务器. 本文主要介绍一下Share ...

  3. Android 数据存储之 SharedPreferences储存

    ------------------------------------------SharedPreferences存储--------------------------------------- ...

  4. Android数据存储三剑客——SharedPreferences、File、SQLite

    Android中常用的数据存储一般有三种方式:SharedPreferences.文件和SQLite数据库,用来保存需要长时间保存的数据.本文将通过几个具体的小实例来讲解这三种方式的具体实现. 数据存 ...

  5. Android数据存储之SharedPreferences存储

    安卓系统为应用提供了系统级的配置存储方案,它就是靠SharedPreferences接口来实现的,该接口存储的所有信息都是以名值对的形式保存,但其保存的数据类型也仅限于基本数据类型,如字符串.整形.布 ...

  6. android数据存储之SharedPreferences

    一.SharedPreferences简介      (1)SharedPreferences是Android平台上一个轻量级的存储类,用来保存应用的一些常用配置,比如Activity状态,Activ ...

  7. Android数据存储之SharedPreferences使用

    SharedPreferences是Android中一种轻型的数据存储类.本质上是基于XML文件进行存储Key-Value键值对的数据,生成的XML文件的目录在/data/data/包名/Shared ...

  8. Android数据存储之SharedPreferences及如何安全存储

    前言: 最近一直在学习ios的数据存储,当学习到NSUserDefaults的时候让我回想起了SharedPreferences,今天闲来无事,想着总结一下SharedPreferences的使用. ...

  9. Android数据存储之sharedpreferences与Content Provider

    android中对数据操作包含有: file, sqlite3, Preferences, ContectResolver与ContentProvider前三种数据操作方式都只是针对本应用内数据,程序 ...

  10. Android数据存储:Shared Preferences

    Android数据存储之SharedPreferences 在Android系统中提供了多种存储技术.通过这些存储技术可以将数据存储在各种存储介质上, Android 为数据存储提供了如下几种方式:1 ...

随机推荐

  1. 求CRC校验和的低位和高位的两种方式

    方式1 unsigned ; // 校验和 ]; memcpy(tstCRCChecksum,&shrCRCCheckSum,); // shrCRCCheckSum:216D LOGI(]) ...

  2. AngularJS - 指令入门

    指令,我将其理解为AngularJS操作HTML element的一种途径. 由于学习AngularJS的第一步就是写内置指令ng-app以指出该节点是应用的根节点,所以指令早已不陌生. 这篇日志简单 ...

  3. 一张图入门python

  4. loadrunner实现字符串的替换

        char *replace_str(char *str, char *orig, char *rep) {    static char buffer[9096];   char *p;  i ...

  5. 开发Portlet第二步:如何将Crystal静态Portlet转变成基于测试数据的动态Portlet?

    当基于Crystal的静态Portlet开发完成后,在与后台服务联调前,还需要将Portlet转换成基于测试数据的动态Portlet.具体步骤如下: 分步指南 复制Portlet项目,并修改相关的po ...

  6. HTML DOM学习之三

    1.创建新的HTML元素:appendChild(); 如需向HTML DOM添加元素,首先必须创建该元素,然后把它追加到已有的元素上: <div id="div1"> ...

  7. POJ 3080 后缀数组/KMP

    题目链接:http://poj.org/problem?id=3080 题意:给定n个DNA串,求最长公共子串.如果最长公共子串的长度小于3时输出no significant commonalitie ...

  8. express-11 表单处理(2)

    处理AJAX表单 用Express处理AJAX表单非常简单:甚至可以使用相同的处理程序来处理AJAX请求和常规的浏览器回退. HTML文件 (/views/newsletter.handlebars) ...

  9. Swift3.0语言教程字符串大小写转化

    Swift3.0语言教程字符串大小写转化 Swift3.0语言教程字符串大小写转化,在字符串中,字符串的格式是很重要的,例如首字母大写,全部大写以及全部小写等.当字符串中字符很多时,通过人为一个一个的 ...

  10. 让Docker使用国内的镜像服务

    使用 Docker 的时候,需要经常从官方获取镜像,但是由于显而易见的网络原因,拉取镜像的过程非常耗时,严重影响使用 Docker 的体验.因此 DaoCloud 推出 Docker 加速器解决这个难 ...