第07章Android文件与与本地数据库.ppt
文本预览下载声明
第7章 Android文件与本地数据库(SQLite);主要内容;SQLite;7.1 文件存储;7.1.1 手机内置存储空间文件的存取;Context.MODE_PRIVATE=0:默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容,如果想把新写入的内容追加到原文件中,可以使用Context.MODE_APPEND 。
Context.MODE_APPEND=32768:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件;
Context.MODE_WORLD_READABLE =1:表示当前文件可以被其他应用读取;
Context.MODE_WORLD_WRITEABLE =2:表示当前文件可以被其他应用写入。;如果希望文件被其他应用读和写,可以传入:
Context.MODE_WORLD_READABLE +
Context.MODE_WORLD_WRITEABLE;在手机内置存储空间中创建文件、写入内容的一般步骤:
(1)调用openFileOutput()方法,传入文件的名称和操作的模式,该方法将会返回一个文件输出流;
(2)调用write()方法,向这个文件输出流中写入内容;
(3)调用close()方法,关闭文件输出流。;;7.1.1 案例;;;;;;7.1.2 SD卡文件存取; 要想在模拟器中使用SD卡,首先需要创建一张SD卡(当然不是真的SD卡,只是一个镜像文件)。创建SD卡可以在Eclipse创建模拟器时随同创建,也可以使用Android提供的命令在命令行进行创建。
打开命令行窗口进入android SDK安装路径的tools目录下,输入以下命令在D盘创建一张容量为2G的SD卡,文件后缀名可以随便取,建议使用.img,生成的文件为镜像文件。如果你在环境变量中添加了Android tools目录,则可直接输入相应的命令即可。
mksdcard 2048M D:\sdcard.img;读、写SD卡上的文件步骤如下:
1、调用Environment的getExternalStorageState()方法判断手机上是否插入了SD卡,并且应用程序具有读写SD卡的权限。 Environment.getExternalStorageState()方法用于获取SDCard的状态,如果手机装有SDCard,并且可以进行读写,那么方法返回的状态等于Environment.MEDIA_MOUNTED。
2、调用Environment的getExternalStorageDirectory()方法来获取外部存储器,也就是SD卡的目录。
3、使用FileInputStream、FileOutputStream、FileReader、FileWriter读、写SD卡里的文件。;注意:
文件读取之前,应确认手机上已插入SD卡,对于模拟器来说,可以通过mksdcard命令来创建虚拟存储卡;
为了读、写SD卡上的数据,必须在应用程序的清单文件(AndroidManifest.xml)中添加读、写SD卡的权限。
在SDCard中创建与删除文件权限
uses-permission android:name=”android:permission.MOUNT_UNMOUNT_FILESYSTEMS”/
往SDCard写入数据权限
uses-permission android:name=”android:permission.WRITE_EXTERNAL_STORAGE”/;;; public String read() {
StringBuilder sbBuilder = new StringBuilder();
try {
if(Environment.getExternalStorageState().
equals(Environment.MEDIA_MOUNTED)){
File sdCard=Environment.getExternalStorageDirectory();
File destFile = new File(sdCard.getCanonicalPath()
+ File.separator + fileName);
FileInputStream fis=new FileInputStream(destFile);
byte[] buffer
显示全部