当前位置: 代码迷 >> Android >> Android-数据储存和访问
  详细解决方案

Android-数据储存和访问

热度:89   发布时间:2016-05-01 13:56:50.0
Android-数据存储和访问

Android为数据存储提供了三种方式:文件、数据库和网络。

?

1.SharedPreferences共享偏好?

2.Internal?Storage内部存储空间?

3.External?Storage外部存储空间?

4.SQLite?Database数据库?

5.Internet网络

????

一、SharedPreferences(偏好设定)多用于保存软件配置参数,是一种采用XML格式进行数据保存的方式,文件存放在DDMS中的File?Explorer中的/data/data/<package?name>/shares_prefs下。

????通过SharedPreferences可以将NVPName/Value?Pair,键值对)保存在Android的文件系统中,而且SharedPreferences完全屏蔽对文件系统的操作过程,开发人员仅是通过调用SharedPreferencesNVP进行保存和读取。

????SharedPreferences不仅能够保存数据,还能够实现不同应用程序间的数据共享。

????SharedPreferences支持三种访问模式:私有(MODE_PRIVATE)、全局读(MODE_WORLD_READABLE)、全局写(MODE_WORLD_WRITEABLE)。

????获取SharedPreferences对象的两个方法:

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

Activity.getPreferences(int?mode):配置文件仅可以被调用的Activity使用。mode?为操作模式,默认的模式为0

如果要读取配置文件信息,只需要直接使用SharedPreferences对象的getXXX()方法即可,而如果要写入配置信息,则必须先调用SharedPreferences对象的edit()方法,使其处于可编辑状态,然后再调用putXXX()方法写入配置信息,最后调用?commit()方法提交更改后的配置文件。

二、文件存储

????(1)?内部存储

????Android系统允许应用程序创建仅能够自身访问的私有文件,文件保存在设备的内部存储器上,在系统下的/data/data/<package?name>/files目录中。

????Android系统支持标准JavaIO类和方法,并提供了能够简化读写流式文件过程的函数,主要的两个函数:

openFileOutput():为写入数据做准备而打开的应用程序私文件,如果指定的文件不存在,则创建一个新的文件,函数的返回值是FileOutputStream类型;

openFileInput():为读取数据做准备而打开应用程序私文件。

(2)?外部存储(SD卡(Secure?Digital?Memory?Card))

????SD卡适用于保存大尺寸的文件或者是一些无需设置访问权限的文件,可以保存录制的大容量的视频文件和音频文件等;SD卡使用的是FATFile?Allocation?Table)的文件系统,不支持访问模式和权限控制,但可以通过文件系统的文件访问权限的控制保证文件的私密性。

Android模拟器支持SD卡,但模拟器中没有缺省的SD卡,开发人员须在模拟器中添加SD卡的映像文件。

(3)?资源文件

????程序开发人员可以将程序开发阶段已经准备好的原始格式文件和XML文件分别存放在/res/raw/res/xml目录下,供应用程序在运行时进行访问;原始格式文件可以是任何格式的文件,在应用程序编译和打包时,/res/raw目录下的所有文件都会保留原有格式不变,而/res/xml目录下的XML文件,一般用来保存格式化的数据,在应用程序编译和打包时会将XML文件转换为高效的二进制格式,应用程序运行时会以特殊的方式进行访问。

<!--EndFragment-->
  相关解决方案