文档详情

第07章Android文件与与本地数据库.ppt

发布:2017-04-15约4.07千字共65页下载文档
文本预览下载声明
第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
显示全部
相似文档