您的位置:首页 > 移动开发 > Android开发

Android学习日记——数据存储5部曲之SharedPreferences

2014-10-27 16:17 435 查看
Android进行数据存储主要有5种方式:

SharedPreferences 存储轻量级数据
传统IO流技术,即文件存储
SQLite轻量级数据库存储
ContentProvider
网络存储
SharedPreferences存储
简介:SharedPreferences是一种将基本数据类型(Long,int,float,String,boolean)以键值对的形式存储在应用程序的私有Preferences目录(/data/data/<包名> /shared_prefs/)的XML文件中的轻量级与持久化的数据存储机制,。
特点:

1轻量级:保存数据少且数据类型简单,数据以KEY-Value键值的方式保存在XML文件中

2数据持久化:存储的数据与Android应用绑定存在,即Android应用关闭,存储的数据也不会清空

3私有化:存储的数据一般只能供本应用程序调用,不对外共享。数据存储在Android应用自己私有的Preferences目录(/data/data/<包名> /shared_prefs/)
读写操作:


1获得SharedPreferences对象

1.1Context.getSharedPreferences(String name,int mode):其中 name 为本组件的配置文件名;mode 为操作模式,默认的模式为0。

1.2Activity.getPreferences(int mode)获取Activity中默认的shared preference文件,这个文件是Activity私有的,所以不需要指定名字。

2用SharedPreferences对象读取数据

2.1使用SharedPreferences.getXXX()方法来读取数据(XXX为读取数据的类型)

3用SharedPreferences写入数据

3.1用SharedPreferences.edit()方法获得Editor对象,使SharedPreferences进入编辑状态

3.2调用Editor.putXXX()方法写入数据缓存区

3.3调用Editor.commit()办法或apply()方法将数据写入SharedPreferences

基本应用:经常用来保存Android应用配置信息
读取其他应用的SharedPreferences:
一般为了Android应用的安全都将SharedPreferences对象设为私有,外界无法访问,但如果其他应用的SharedPreferences的权限设为可被其他应用读取与写入,又该怎么读取呢?通过createPackageContext(packageName, flags)方法来获得其他应用的Context,然后顺理成章的获得SharedPreferences对象进行读写操作就行了。

// 获取其他程序所对应的Context
useCount = createPackageContext("OTHER_PACKAGE_NAME",
Context.CONTEXT_IGNORE_SECURITY);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 数据存储