数据存储: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. c语言运算符号的优先级

    c语言运算符号的优先级 本文来自百度搜索只为查看方便 优先级等级口诀: 圆方括号.箭头一句号, 自增自减非反负.针强地址长度, 乘除,加减,再移位, 小等大等.等等不等, 八位与,七位异,六位或,五与 ...

  2. C#写Windows Service(windows服务程序)

    背景:        要学习使用一个新东西,我们必须知道他是个什么东西.对于我们此次研究的windows服务来说,他又是个什么东西,其实也没有什么高深的了. windows service概述: 一个 ...

  3. supervisor简介

    一什么是supervisor Superviosr是一个UNIX-like系统上的进程监控工具. Supervisor是一个Python开发的client/server系统,可以管理和监控*nix上面 ...

  4. mysql 怎样清空一个数据库中的所有表

    转自:http://blog.csdn.net/zhangzhizhen1988/article/details/8432146 MySQL清空表是很重要的操作,也是最常见的操作之一,下面就为您详细介 ...

  5. WebGL框架 -- three.js

    http://segmentfault.com/a/1190000002421007 http://www.cnblogs.com/shawn-xie/archive/2012/08/16/26425 ...

  6. TCP拆包粘包之分隔符解码器

    TCP以流的方式进行数据传输,上层的应用协议为了对消息进行区分,往往采用如下4种方式. (1)消息长度固定,累计读取到长度总和为定长LEN的报文后,就认为读取到了一个完整的消息:将计数器置位,重新开始 ...

  7. MatLab有关路径的几个命令

    窗外雨如注,国庆的第3天,没钱出去逛,更新我的博客吧 今天要说的命令有path.cd.userpath.savepath.pathtool 有两种改变启动目录的方法,第1种使用userpath和sav ...

  8. jade学习01

    编写 简单例子 doctype html html head title learn jade body h1 learn jade 常用命令 编译: jade index.jade //默认编译成压 ...

  9. js-DOM,DOM扩展

    DOM: 1. 了解节点的信息:nodeName(属性的标签名),nodeValue两个属性 在取得信息之前要进行判断是不是节点,节点类型由12个数值常量进行表示 2.每个节点都有一个childNod ...

  10. 每天一个linux命令---导出到文件

    导出Linux下的部分日志到文件,使用‘>’符号 例如: [calendar@test190 logs]$ monitor.log|grep getCalendarView > share ...