Android进行数据存储主要有5种方式:
- SharedPreferences 存储轻量级数据
- 传统IO流技术,即文件存储
- SQLite轻量级数据库存储
- ContentProvider
- 网络存储
SharedPreferences存储
简介:SharedPreferences是一种将基本数据类型(Long,int,float,String,boolean)以键值对的形式存储在应用程序的私有Preferences目录(/data/data/<包名> /shared_prefs/)的XML文件中的轻量级与持久化的数据存储机制,。
特点:
读取其他应用的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()方法写入数据缓存区
基本应用:经常用来保存Android应用配置信息3.3调用Editor.commit()办法或apply()方法将数据写入SharedPreferences
读取其他应用的SharedPreferences:
一般为了Android应用的安全都将SharedPreferences对象设为私有,外界无法访问,但如果其他应用的SharedPreferences的权限设为可被其他应用读取与写入,又该怎么读取呢?通过createPackageContext(packageName, flags)方法来获得其他应用的Context,然后顺理成章的获得SharedPreferences对象进行读写操作就行了。
// 获取其他程序所对应的Context
useCount = createPackageContext("OTHER_PACKAGE_NAME",
Context.CONTEXT_IGNORE_SECURITY);