SharePreferences 是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息。其存储位置在/data/data/<包名>/shared_prefs目录下。SharedPreferences对象本身只能获取数据而不支持存储和修改,存储修改是通过Editor对象实现。

我一般用到保存用户的习惯上,当程序下次起来的时候,按照用户的习惯做某件事或者不坐某件事。

比如用户看电视,而电视总共有1-10个频道,当用户在最后一次设置频道为5的时候,此时我就会把5给记录下来,电视关闭。然后等用户下次再开打电视看的时候,此时的频道就是用户最后设置的5频道,当然这只是一个例子。

//声明

public static final String SAVESTRING_INFOS = "SAVESTRING_Infos";public static final String  SAVE_KEY;

在需要的地方调用存储函数去做数据的存储:

//调用存储函数
SaveStringStr("频道5");

数据的存储:

//把实参save_str以SAVE_KEY的键存储

private void SaveStringStr(String save_str)

{

    Context ctx = MainActivity.this;      SharedPreferences settings = ctx.getSharedPreferences(SAVESTRING_INFOS, 0); 

      SharedPreferences.Editor editor = settings.edit();

      editor.putString( SAVE_KEY, save_str);      editor.commit(); }

接着就是在读取所存储键值对然后根据值做相应处理

//下次使用该键值对时使用

//

SharedPreferences settings = getSharedPreferences(SAVESTRING_INFOS, 0); // 获取一个SharedPreferences对象

String getsave_str = settings.getString(SAVE_KEY, ""); if(getsave_str.equals("频道5")) {

  //执行想做的动作

 }

但是SharedPreferences也有其自身缺陷,比如其职能存储boolean,int,float,long和String五种简单的数据类型,比如其无法进行条件查询等。

extends Activity可以正常使用如果是extends Dialog则会找不到 getSharedPreferences(,); 解决方法还没找到。

几种存储方式:

//Shared Preferences//Store private primitive data in key-value pairs.  轻量的以键值对的形式进行存储//Internal Storage//Store private data on the device memory. 设备上的文件存储//External Storage//Store public data on the shared external storage. 外部的文件存储,一般指存储在SD卡上的文件,优势是不随程序卸载而删除//SQLite Databases//Store structured data in a private database. 这个比较常见了数据库//Network Connection//Store data on the web with your own network server.  网络获取

参考:http://www.cnblogs.com/wisekingokok/archive/2011/09/16/2177833.html

Android数据的几种存储方式---------SharePreferences(轻量的以键值对) 的使用相关推荐

  1. Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (四) —— ContentProvider...

    ContentProvider是安卓平台中,在不同应用程序之间实现数据共享的一种机制.一个应用程序如果需要让别的程序可以操作自己的数据,即可采用这种机制.并且此种方式忽略了底层的数据存储实现,Cont ...

  2. Android数据的四种存储方式

    很清晰的思路,转自Android数据的四种存储方式 作为一个完成的应用程序,数据存储操作是必不可少的.因此,Android系统一共提供了四种数据存储方式.分别是:SharePreference.SQL ...

  3. [转][Android]Android数据的四种存储方式

    android.database.sqlite 类 SQLiteQueryBuilder java.lang.Object android.database.sqlite.SQLiteQueryBui ...

  4. android数据的五种存储方式

    Android提供了5种方式存储数据 1 使用SharedPreferences存储数据 它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息. 其存储位置在/da ...

  5. Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File 之 —— SharedPreferences...

    除了SQLite数据库外,SharedPreferences也是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值 对数据,通常用来存储一些简单的配置信息.其存储位置在/dat ...

  6. [置顶] Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (二) —— SQLite...

    SQLite是一种转为嵌入式设备设计的轻型数据库,其只有五种数据类型,分别是: NULL: 空值 INTEGER: 整数 REAL: 浮点数 TEXT: 字符串 BLOB: 大数据 在SQLite中, ...

  7. Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (二) —— SQLite...

    SQLite是一种转为嵌入式设备设计的轻型数据库,其只有五种数据类型,分别是: NULL: 空值 INTEGER: 整数 REAL: 浮点数 TEXT: 字符串 BLOB: 大数据 在SQLite中, ...

  8. 数据存储-大数据的三种存储方式

    互联网时代各种存储框架层出不穷,眼花缭乱,比如传统的关系型数据库:Oracle.MySQL:新兴的NoSQL:HBase.Cassandra.Redis:全文检索框架:ES.Solr等.如何为自己的业 ...

  9. 图的两种存储方式---邻接矩阵和邻接表

    图:图是一种数据结构,由顶点的有穷非空集合和顶点之间边的集合组成,表示为G(V,E),V表示为顶点的集 合,E表示为边的集合. 首先肯定是要对图进行存储,然后进行一系列的操作,下面对图的两种存储方式邻 ...

  10. 1.5 使用new创建动态结构和自动, 静态, 动态三种存储方式

    1. 有些时候在运行时创建数组由于在编译时创建数组(有些时候不是这样, 比如使用OpenGL绘图和GPU并行计算结合的时候, 需要将大量的数据传送到显存, 每次计算完又要传送回宿主机渲染, 但并不是要 ...

最新文章

  1. 国家卫健委发布第一版新冠疫苗接种技术指南
  2. npm包实现发布正式和测试版
  3. SpringBoot/Cloud 统一返回优雅设计+自定义异常
  4. sigkill mysql_Ubuntu不能停止mysqld
  5. Linux云自动化运维第三课
  6. p2p网络中的NAT穿透技术----常见NAT穿越解决方案
  7. 新的恶意软件将后门植入微软 SQL Server 中
  8. 社群经济:如何利用社群做营销?
  9. BC26 电信IOT平台 MCU软件升级
  10. Arduino下的marlin固件配置基础
  11. Pandas的介绍和使用
  12. Docker 连接宿主 Redis
  13. 联想开机启动项按哪个_联想启动u盘按什么键_联想笔记本按哪个键进入u盘启动-win7之家...
  14. 学习用 JS/CSS 画一个时钟
  15. Golang字符串中常用的函数
  16. osgEarth中出现simsum.ttc: file not handled的告警信息的处理办法
  17. UWA学堂上新:如何绕过Unity打造自己的HUD UI系统
  18. linux系统取消报警声,Linux 中警报声的消除
  19. fork: retry:资源暂时不可用
  20. Oracle的Metalink是什么?MOS又是什么?

热门文章

  1. python绘制国际象棋规则口诀_用Python编写一个国际象棋AI程序
  2. linux下使用python_使用Linux环境下的vim Python开发环境
  3. 前端多个圆圈均匀横向排列_web前端工程师必须掌握的24条宝贵经验!让你在前端路上更轻松!...
  4. 含蓄:为彼此的交往留下余地 — 《别输在不会表达上》
  5. day1---流程控制语句的四种基本格式
  6. 《Systems Performance》阅读笔记及收获
  7. ORACLE功能GREATEST功能说明具体实例
  8. 判断进程是否正在运行
  9. java 自定义异常处理
  10. HCIP-RS-GRE