数据存储: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. Android之Adapter用法总结-(转)

    Android之Adapter用法总结 1.概念 Adapter是连接后端数据和前端显示的适配器接口,是数据和UI(View)之间一个重要的纽带.在常见的View(List View,Grid Vie ...

  2. Build better apps: Windows 10 by 10 development series

    http://blogs.windows.com/buildingapps/2015/08/05/build-better-apps-windows-10-by-10-development-seri ...

  3. commonlisp教程以及学习笔记-01

    手上有两个教程,但是感觉这个教程可能更适合自己

  4. 循环冗余检验算法CRC

    http://blog.csdn.net/liyuanbhu/article/details/7882789 首先要了解多项式乘法,除法 了解模2运算的含义,多项式除法后合并同类项时..系数%2处理 ...

  5. java Iterator Fail-fast机制

    Fail-fast:在迭代的过程中发现数据被改变时立即抛出异常,而不是等遍历完了再抛出异常:可以理解为快速感知. 在并发的时候,当线程A正遍历一个Collection或Map,这时另外一个线程B修改C ...

  6. Notification

    一:普通Notification 1.内容标题setContentTitle(...) 2.大图标setLargeIcon(Bitmap) 3.内容setContentText(...) 4.内容附加 ...

  7. SpringHttpInvoker解析1-使用示例

    HTTP invoker是一个新的远程调用模型,作为Spring框架的一部分,来执行基于HTTP的远程调用(让防火墙可以接受),并使用Java的序列化机制. 服务端 定义服务接口UserService ...

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

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

  9. delphi中VirtualStringTree树使用方法之终结篇!

    VirtualStringTree 的用法详解:作者:张志宝go淘宝 例子:创建了一个树名为VirtualStringTree1,第一列显示数据库字段ID的值,标题为编号:第二列显示字段Name的值, ...

  10. 8VC Venture Cup 2016 - Elimination Round

    在家补补题   模拟 A - Robot Sequence #include <bits/stdc++.h> char str[202]; void move(int &x, in ...