Android的文件存储包括内部存储、外部存储和资源文件三种。
1.内部存储
Android允许应用程序创建仅能够自身访问的私有文件,通常保存在内部存储器上的如下目录中:
内部存储支持标准Java的IO类,也提供了简化读写流式文件过程的函数,主要有如下两个函数:
openFileOutput()
openFileInput()
其中函数openFileOutput()的功能是,为写入数据做准备而打开应用程序私有文件,若不存在则创建一个。例如下面的演示代码:
其中第一个参数表示文件名 第二个参数表示操作模式,操作模式有如下4种:
MODE_PRIVATE:私有模式。
MODE_APPEND:追加模式。
MODE_WORLD_READABLE:全局读。
MODE_WORLD_WRITEABLE:全局写。
例如下面的演示代码:
而函数openFileInput()的功能是为读取数据做准备,打开应用程序的私有文件。例如下面的演示代码:
在具体应用时应该包含在“try/catch”块内。
2.外部存储
外部存储是指SD卡,使用的是FAT文件系统,可以通过Linux文件系统的文件访问权限的控制保证私密性。Android模拟器不带SD卡,需要手动添加映像。使用<Android SDK>/tools目录下的mksdcard工具可以创建映像文件,格式是:(www.daowen.com)
其中参数分别代表SD卡标签、容量和保存位置。
如果想让模拟器启动时会自动加载SD卡,需要在模拟器的Run Configurations里设置,指明具体的SD卡路径即可。格式是:
在编程时需要检测/sdcard目录是否可用,之后便可以使用标准Java IO实现文件操作。例如下面的演示代码:
3.读取XML格式文件
在读取XML格式文件时,通过资源对象函数getXml()获取解析器XmlPullParser,例如下面的演示代码:
XML的事件类型如下:
START_TAG:读取到游标开始标志。
TEXT:读取到文本内容。
END_TAG:读取到游标结束标志。
END_DOCUMENT:文档末尾。
getName():获取元素名称。
getAttributeCount():获取元素的属性数量。
getAttributeName():获取属性名称。
getAttributeValue():获取值。
注意:读取Android资源文件的知识,在本章6.4.2小节中进行专门讲解。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。