Android数据的几种存储方式---------SharePreferences(轻量的以键值对) 的使用
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(轻量的以键值对) 的使用相关推荐
- Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (四) —— ContentProvider...
ContentProvider是安卓平台中,在不同应用程序之间实现数据共享的一种机制.一个应用程序如果需要让别的程序可以操作自己的数据,即可采用这种机制.并且此种方式忽略了底层的数据存储实现,Cont ...
- Android数据的四种存储方式
很清晰的思路,转自Android数据的四种存储方式 作为一个完成的应用程序,数据存储操作是必不可少的.因此,Android系统一共提供了四种数据存储方式.分别是:SharePreference.SQL ...
- [转][Android]Android数据的四种存储方式
android.database.sqlite 类 SQLiteQueryBuilder java.lang.Object android.database.sqlite.SQLiteQueryBui ...
- android数据的五种存储方式
Android提供了5种方式存储数据 1 使用SharedPreferences存储数据 它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息. 其存储位置在/da ...
- Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File 之 —— SharedPreferences...
除了SQLite数据库外,SharedPreferences也是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值 对数据,通常用来存储一些简单的配置信息.其存储位置在/dat ...
- [置顶] Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (二) —— SQLite...
SQLite是一种转为嵌入式设备设计的轻型数据库,其只有五种数据类型,分别是: NULL: 空值 INTEGER: 整数 REAL: 浮点数 TEXT: 字符串 BLOB: 大数据 在SQLite中, ...
- Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (二) —— SQLite...
SQLite是一种转为嵌入式设备设计的轻型数据库,其只有五种数据类型,分别是: NULL: 空值 INTEGER: 整数 REAL: 浮点数 TEXT: 字符串 BLOB: 大数据 在SQLite中, ...
- 数据存储-大数据的三种存储方式
互联网时代各种存储框架层出不穷,眼花缭乱,比如传统的关系型数据库:Oracle.MySQL:新兴的NoSQL:HBase.Cassandra.Redis:全文检索框架:ES.Solr等.如何为自己的业 ...
- 图的两种存储方式---邻接矩阵和邻接表
图:图是一种数据结构,由顶点的有穷非空集合和顶点之间边的集合组成,表示为G(V,E),V表示为顶点的集 合,E表示为边的集合. 首先肯定是要对图进行存储,然后进行一系列的操作,下面对图的两种存储方式邻 ...
- 1.5 使用new创建动态结构和自动, 静态, 动态三种存储方式
1. 有些时候在运行时创建数组由于在编译时创建数组(有些时候不是这样, 比如使用OpenGL绘图和GPU并行计算结合的时候, 需要将大量的数据传送到显存, 每次计算完又要传送回宿主机渲染, 但并不是要 ...
最新文章
- 国家卫健委发布第一版新冠疫苗接种技术指南
- npm包实现发布正式和测试版
- SpringBoot/Cloud 统一返回优雅设计+自定义异常
- sigkill mysql_Ubuntu不能停止mysqld
- Linux云自动化运维第三课
- p2p网络中的NAT穿透技术----常见NAT穿越解决方案
- 新的恶意软件将后门植入微软 SQL Server 中
- 社群经济:如何利用社群做营销?
- BC26 电信IOT平台 MCU软件升级
- Arduino下的marlin固件配置基础
- Pandas的介绍和使用
- Docker 连接宿主 Redis
- 联想开机启动项按哪个_联想启动u盘按什么键_联想笔记本按哪个键进入u盘启动-win7之家...
- 学习用 JS/CSS 画一个时钟
- Golang字符串中常用的函数
- osgEarth中出现simsum.ttc: file not handled的告警信息的处理办法
- UWA学堂上新:如何绕过Unity打造自己的HUD UI系统
- linux系统取消报警声,Linux 中警报声的消除
- fork: retry:资源暂时不可用
- Oracle的Metalink是什么?MOS又是什么?
热门文章
- python绘制国际象棋规则口诀_用Python编写一个国际象棋AI程序
- linux下使用python_使用Linux环境下的vim Python开发环境
- 前端多个圆圈均匀横向排列_web前端工程师必须掌握的24条宝贵经验!让你在前端路上更轻松!...
- 含蓄:为彼此的交往留下余地 — 《别输在不会表达上》
- day1---流程控制语句的四种基本格式
- 《Systems Performance》阅读笔记及收获
- ORACLE功能GREATEST功能说明具体实例
- 判断进程是否正在运行
- java 自定义异常处理
- HCIP-RS-GRE