Android SharedPreference 数据存储
参考:http://www.cnblogs.com/friends-wf/p/4835818.html
应用开发过程中,数据存储几乎是肯定会遇到的问题,根据要存储的数据类型和数量,可以选择合适的存储方式。
Android提供了4种存储方式,目前为止我只用过Sqlite数据库和SharedPreference,这里对SharedPreference
存储方式进行总结,以便以后使用。
SharedPreferences主要用于存放软件的配置参数等信息,是存取和修改软件配置参数数据的接口,由getSharedPreferences(String, int)函数返回。任何具体的参数,都有一个单独的该类实例向所有客户端共享。修改参数必须通过SharedPreferences.Editor 对象,以确保这些参数在被提交到外存的时候它们的值处于一致的状态和控制之下。该类暂不支持多进程操作,但是以后将提供该功能。
getSharedPreferences(name,mode);
第一个参数name是程序存储数据信息所生成的xml文件的名字,自定义,此为LightTest.xml,可在此程序的/shared_prefs文件夹下找到
第二个参数mode则是文件的打开方式,默认的模式为0或MODE_PRIVATE,表示该文件的使用范围
MODE_PRIVATE,则该配置文件只能被自己的应用程序访问
MODE_WORLD_READABLE,则该配置文件除了自己访问外还可以被其它应该程序读取
MODE_WORLD_WRITEABLE,则该配置文件除了自己访问外还可以被其它应该程序读取和写入
代码:
// Data Storage
/**
* 存储:
* 1.获得SharedPreferences 的实例对象,通过getSharedPreferences()传递文件名和模式;
* 2.获得Editor的实例对象,通过SharedPreferences的实例对象的edit()方法;
* 3.存入数据,利用Editor 对象的putXXX()方法;
* 4.提交修改的数据,利用Editor 对象的apply()方法。
*/
private void setSharedPreferenceData(String Name, String dataStr) {
//获取SharedPreferences
SharedPreferences sharedPref = getSharedPreferences("LightTest", MODE_PRIVATE);
//打开SharedPreferences的编辑状态
SharedPreferences.Editor editor = sharedPref.edit();
//存储数据,用户名,键值对的形式
editor.putString(Name, dataStr);
//提交,保存数据
editor.apply();
} // Data Reader
/**
* 读取:
* 1.获得SharedPreferences 的实例对象,通过getSharedPreferences()传递文件名和模式;
* 2.读取数据,通过SharedPreferences 的实例对象的getXXX()方法。
*/
private String getSharedPreferenceData(String Name) {
//获取SharedPreferences
SharedPreferences sharedPref = getSharedPreferences("LightTest", Context.MODE_PRIVATE);
//获取LightTest文件中Name对应的数据;
// 注意第二个参数,若此键值对中暂时没有数值,则默认返回第二个参数的值
return sharedPref.getString(Name, null);
}
Android SharedPreference 数据存储的更多相关文章
- Android本地数据存储复习
Android本地数据存储复习 Android无论是应用层还是系统层都需要在本地保存一些数据,尤其在应用层中使用的就更为普遍,大体有这么几种:SharedPreference,file,sqlite数 ...
- android学习笔记45——android的数据存储和IO
android的数据存储和IO SharedPreferences与Editor简介 SharedPreferences保存的数据主要是类似于配置信息格式的数据,因此其保存的数据主要是简单的类型的ke ...
- Android中数据存储(一)
国庆没有给国家添堵,没有勾搭妹子,乖乖的写着自己的博客..... 本文将为大家介绍Android中数据存储的五种方式,数据存储可是非常重要的知识哦. 一,文件存储数据 ①在ROM存储数据 关于在ROM ...
- Android实现数据存储技术
转载:Android实现数据存储技术 本文介绍Android中的5种数据存储方式. 数据存储在开发中是使用最频繁的,在这里主要介绍Android平台中实现数据存储的5种方式,分别是: 1 使用Shar ...
- android中数据存储
android中数据存储 Android 中存储数据的方式有五种:SQLite数据库.文件存储.内容提供者.网络.SharedPreferences(Key----value)五种存储方式. ...
- Android中数据存储(四)——ContentProvider存储数据
目录(?)[+] 当一个应用程序在Android中安装后,我们在使用应用的过程中会产生很多的数据,应用都有自己的数据,那么我们应该如何存储数据呢? 数据存储方式 Android 的数据存储有5种方 ...
- Android中数据存储(三)——SQLite数据库存储数据
当一个应用程序在Android中安装后,我们在使用应用的过程中会产生很多的数据,应用都有自己的数据,那么我们应该如何存储数据呢? 数据存储方式 Android 的数据存储有5种方式: 1. Share ...
- 关于Android开发数据存储的方式(一)
关于Android开发数据存储方式(一) 在厦门做Android开发也有两个月了,快情人节了.我还在弄代码. 在微信平台上开发自己的APP,用到了数据存储的知识,如今总结一下: 整体的来讲.数据存储方 ...
- Android本地数据存储: ASimpleCache
一:前言 在上一篇博客Android本地数据存储: Reservoir 博客中,我提到,除了Reservoir库,还可以采用ASimpleCache开源库,来实现本地数据存储.昨天并没有仔细的对比Re ...
随机推荐
- oracle服务介绍
按照windows 7 64位 安装oracle 11g R2中的方法成功安装Oracle 11g后,共有7个服务,这七个服务的含义分别为: 1. Oracle ORCL VSS Writer Ser ...
- 支持阻塞操作和轮询操作的globalfifo设备驱动代码分析以及测试代码
#include <linux/module.h> #include <linux/types.h> #include <linux/fs.h> #include ...
- vs2013 上传碰到的问题:“输入的不是有效的 Base-64 字符串 ”
action 代码: [HttpPost] [ValidateAntiForgeryToken] public ActionResult Create( ImageStoreModels images ...
- ubuntu - sudo in php exec
最近写防火墙的WEB版,需要在PHP中调用linux系统命令,但是防火墙有关的执行都需要管理员权限才能执行. 在ubuntu下,Apache2的运行账户默认是www-data,默认是不能通过sudo来 ...
- Css3 圆角和渐变色问题(IE9)
border-radius: 4px; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#569B0E', endC ...
- 服务器环境搭建系列(二)-Tomcat篇
1.解压缩Tomcat的tar包,默认放在opt下 tar -zxvf apache-tomcat-6.0.35.tar.gz 2.输入如下命令修改tomcat配置文件 vi /opt/apache- ...
- 学习lamda表达式
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.L ...
- Portal:十大免费建站程序推荐
TOP1 独立网店系统 ShopEx,是上海商派网络科技有限公司推出的一个网上商店系列程序.是目前网店软件行业内比较知名的公司.ShopEx旗下的网上商店系统.网上商城系统以及丰富的网商工具,以专业的 ...
- unity Android 打包后读取 xml 文件
原地址:http://www.cnblogs.com/wuzhang/p/wuzhang20140731.html 问题: 前天在做东西的过程中发现了一个让人很纠结的问题,为什么Unity 程序 ...
- ZOJ 3603 Draw Something Cheat
点我看题目 题意 : 给你n个字符串,让你找出在每个字符串中出现的字母,按字典序输出来. 思路 :一开始想差了,以为记录下每个字符出现次数,然后找次数大于1的,可是我忘了可能在一个字符串中有AA,而另 ...