Android 四大存储之 SharedPreference
来源:互联网 发布:世界银行wdi数据库 编辑:程序博客网 时间:2024/05/21 17:57
SharedPreferences 是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息。其存储位置在/data/data/<包名>/shared_prefs目录下。SharedPreferences对象本身只能获取数据而不支持存储和修改,存储修改是通过Editor对象实现。
实现SharedPreferences 存储的步骤如下:
一、根据Context获取SharedPreferences 对象
二、利用edit()方法获取Editor对象。
三、通过Editor对象存储key-value键值对数据。
四、通过commit()方法提交数据。
这段代码执行过后,即在/data/data/com.test/shared_prefs目录下生成了一个setting.xml文件,一个应用可以创建多个这样的xml文件。
在程序代码中,通过getXXX() 方法,可以方便的获得对应Key 的Value 值,如果key 值错误或者此key 无对应value 值,SharedPreferences 提供了一个赋予默认值的机会,以此保证程序的健壮性。
实现SharedPreferences 存储的步骤如下:
一、根据Context获取SharedPreferences 对象
二、利用edit()方法获取Editor对象。
三、通过Editor对象存储key-value键值对数据。
四、通过commit()方法提交数据。
具体实现代码如下:
public class PrefsHelper {private static final String NAME = "setting";private static final String KEY_LOGIN_STATE = "LOGIN_STATE";/** * 判断是否登录 */ public static int isLogin(Context context) { SharedPreferences sp = context.getSharedPreferences(NAME, Context.MODE_PRIVATE); return sp.getInt(KEY_LOGIN_STATE, 0); } /** * 修改登录状态 */ public static void setLoginState(Context context, int state) { SharedPreferences sp = context.getSharedPreferences(NAME, Context.MODE_PRIVATE); sp.edit().putInt(KEY_LOGIN_STATE, state).commit(); }}
这段代码执行过后,即在/data/data/com.test/shared_prefs目录下生成了一个setting.xml文件,一个应用可以创建多个这样的xml文件。
setting.xml文件的具体内容如下:
<?xml version='1.0' encoding='utf-8' standalone='yes' ?><map><int name="LOGIN_STATE" value="0"/></map>
在程序代码中,通过getXXX() 方法,可以方便的获得对应Key 的Value 值,如果key 值错误或者此key 无对应value 值,SharedPreferences 提供了一个赋予默认值的机会,以此保证程序的健壮性。
SharedPreferences 对象与SQLite 数据库相比,免去了创建数据库,创建表,写SQL 语句等诸多操作,相对而言更加方便,简洁。但是SharedPreferences 也有其自身缺陷,比如其职能存储boolean,int,float,long和String五种简单的数据类型,比如其无法进行条件查询等。所以不论SharedPreferences 的数据存储操作是如何简单,它也只能是存储方式的一种补充,而无法完全替代如SQLite 数据库这样的其他数据存储方式。
参考:http://www.cnblogs.com/wisekingokok/archive/2011/09/16/2177833.html
0 0
- Android 四大存储之 SharedPreference
- Android 数据存储之 SharedPreference
- android 数据存储之 SharedPreference
- Android 数据存储之SharedPreference
- android存储方式之sharedpreference
- Android数据存储之SharedPreference
- Android之SharedPreference轻量级存储
- Android数据存储之SharedPreference
- Android存储方式之SharedPreference
- Android存储方式之SharedPreference存储
- Android之SharedPreference轻量级数据存储
- Android之SharedPreference轻量级数据存储
- android 4大存储之SharedPreference
- Android之SharedPreference轻量级数据存储
- Android学习之数据存储---SharedPreference
- Android数据存储方式之SharedPreference
- Android数据存储方式之SharedPreference
- Android之SharedPreference轻量级数据存储
- jsp导出excel的步骤
- 一个例子让你了解Java反射机制
- Android 开发 之 Fragment 详解
- 基于倒频谱的语音识别
- XMPP协议的命名空间
- Android 四大存储之 SharedPreference
- iOS中在UILabel显示不同的字体和颜色,增加下划线
- Lucene学习极好的博客
- Android开发之Toast提示的优化
- 95后“Z一代”要成年了,准备好迎接他们了么?
- KMP - 字符串查找算法
- jquery隐藏显示元素:$('#id').css('display','none');$('#id').hide();
- 鸟哥私房菜基础篇: 第零章、計算機概論
- 用springmvc作接口时返回json数据中文乱码