数据存储: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. 在Salesforce中向Page Layout中添加Visualforce Page

    在Salesforce中可以向Object所对应的Layout中添加我们自定义的Visualforce Page. 此时的Visualforce Page与Asp.Net MVC中的Partial V ...

  2. Android Manifest 权限描述大全

    权限 名称 描述 android.permission.ACCESS_CHECKIN_PROPERTIES 访问登记属性 读取或写入登记check-in数据库属性表的权限 android.permis ...

  3. poj1061 Exgcd

    #include<iostream> #include<cstdio> #include<algorithm> #include<cmath> usin ...

  4. python 线程之 threading(一)

    threading:基于对象和类的较高层面上的接口,threading模块在内部使用_thread模块来实现线程的对象以及常用的同步化工具的功能. 使用定制类的方式继承 threading.Threa ...

  5. 10324 Global Warming dfs + 二分

    时间限制:1000MS  内存限制:65535K提交次数:0 通过次数:0 题型: 编程题   语言: G++;GCC Description Global warming is a big prob ...

  6. MFC 打开链接的方法

    第一种: system("start explorer http://http://www.baidu.com"); 第二种: ShellExecute(NULL, NULL, _ ...

  7. Codeforces 580D Kefa and Dishes(状压DP)

    题目大概说要吃掉n个食物里m个,吃掉各个食物都会得到一定的满意度,有些食物如果在某些食物之后吃还会增加满意度,问怎么吃满意度最高. dp[S][i]表示已经吃掉的食物集合是S且刚吃的是第i个食物的最大 ...

  8. ZOJ3195 Design the city(LCA)

    题目大概说给一棵树,每次询问三个点,问要把三个点连在一起的最少边权和是多少. 分几种情况..三个点LCA都相同,三个点有两对的LCA是某一点,三个点有两对的LCA各不相同...%……¥…… 画画图可以 ...

  9. C# 格式化字符串,日期,字符串操作汇总

    时间格式化 有时候我们要对时间进行转换,达到不同的显示效果 默认格式为:2005-6-6 14:33:34 如果要换成成200506,06-2005,2005-6-6或更多的该怎么办呢 我们要用到:D ...

  10. unity meshrender理解

    网格渲染器,其中unity里面多有的材质在渲染的时候都是会划分成三角形的,所以当添加一些物体的时候,例如3d text的时候,默认添加网格渲染器. 最常用的就是获取材质. 下面是一个利用网格渲染器获得 ...