Android--将数据保存到SDCard中.doc_第1页
Android--将数据保存到SDCard中.doc_第2页
Android--将数据保存到SDCard中.doc_第3页
Android--将数据保存到SDCard中.doc_第4页
Android--将数据保存到SDCard中.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

前言: 使用Activity的openFileOutput()方法保存文件,文件是存放在手机空间上,一般手机的存储空间不是很大,存放些小文件还行,如果要存放像视频这样的大文件,是不可行的。对于像视频这样的大文件,我们可以把它存放在SDCard。 SDCard是干什么的?你可以把它看作是移动硬盘或U盘。 在模拟器中使用SDCard,你需要先创建一张SDCard卡(当然不是真的SDCard,只是镜像文件)。创建SDCard可以在Eclipse创建模拟器时随同创建,也可以使用DOS命令进行创建,如下: 在Dos窗口中进入android SDK安装路径的tools目录,输入以下命令创建一张容量为2G的SDCard,文件后缀可以随便取,建议使用.img: mksdcard 2048M D:AndroidToolsdcard.img 1.在AndroidManifest.xml中加入访问SDCard的权限如下:2.要往SDCard存放文件,程序必须先判断手机是否装有SDCard,并且可以进行读写。注意:访问SDCard必须在AndroidManifest.xml中加入访问SDCard的权限if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)File sdCardDir = Environment.getExternalStorageDirectory();/获取SDCard目录,2.2的时候为:/mnt/sdcart 2.1的时候为:/sdcard,所以使用静态方法得到路径会好一点。File saveFile = new File(sdCardDir, abc.txt);FileOutputStream outStream = new FileOutputStream(saveFile);outStream.write(你好.getBytes();outStream.close();/*Environment.getExternalStorageState()方法用于获取SDCard的状态,如果手机装有SDCard,并且可以进行读写,那么方法返回的状态等于Environment.MEDIA_MOUNTED。Environment.getExternalStorageDirectory()方法用于获取SDCard的目录,当然要获取SDCard的目录,你也可以这样写:File sdCardDir = new File(/sdcard); /获取SDCard目录File saveFile = new File(sdCardDir, abc.txt); /上面两句代码可以合成一句: File saveFile = new File(/sdcard/abc.txt);FileOutputStream outStream = new FileOutputStream(saveFile);outStream.write(你好test.getBytes();outStream.close();*/*重点:在保存之前需要判断 SDCard 是否存在,并且是否具有可写权限: if(Environment.MEDIA_MOUNTED.endsWith(Environment.getExternalStorageState() .Environment.MEDIA_MOUNTED : 存在SDCard,并具有可读可写权限2010-10-20Android 文件读写 + sdcard + 文件的属性文章分类:移动开发 #数据存储与访问单元测试一.首先要继承AndroidTestCase 二.方法名要以test为前缀三.最好跑出例外四.在AndroidManifest.xml添加如下配置1. 2.在application元素添加如下配置五.注意在Android中使不能用System.out.println();的如果看打印的结果我们需要在Window - Show view - Android - LogCat应用Log.i-信息 log.e错误 log.w警告Log.i(TAG,信息)六.往手机的SDcard卡中存放数据android 为数据存储提供了多种方式文件无非就是读写一.文件 xml/txt等1.Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容,如果想把新写入的内容追加到原文件中。可以使用Context.MODE_APPEND2.Context.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件。3.Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用来控制其他应用是否有权限读写该文件。4.MODE_WORLD_READABLE:表示当前文件可以被其他应用读取;MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入。5.如果要想对sdcard进行读写需要在AndroidManifest.xml设置一下信息应用举例package cn.itcast.files.service;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import android.content.Context;import android.os.Environment;import android.util.Log;public class FileService public static final String TAG = FileService;private Context context;public FileService(Context context) this.context = context;public void saveName(String name) throws ThrowableFileOutputStream fos = context.openFileOutput(itcast.txt, Context.MODE_WORLD_READABLE + Context.MODE_WORLD_WRITEABLE);fos.write(name.getBytes();fos.close();public void saveNameToSdCard(String name) throws Throwable /在保存数据的时候要判断是否存在是否有写保护/Environment.getExternalStorageDirectory() = new File(/sdcard);if(!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED) Log.e(TAG, 不可读);return ;File file = new File(/sdcard/itcast.txt);FileOutputStream fos = new FileOutputStream(file);fos.write(name.getBytes();fos.close();public String getNameWidthSdcard() throws Throwable File file = new File(/sdcard/itcast.txt);FileInputStream fis = new FileInputStream(file);byte bytes = new byte1024;int len = -1;ByteArrayOutputStream baos = new ByteArrayOutputStream();while(len = fis.read(bytes) != -1) baos.write(bytes,0, len);fis.close();baos.close();byte name = baos.toByteArray();return new String(name);public String getName()throws Throwable FileInputStream fis = context.openFileInput(itcast.txt);byte bytes = new byte1024;int len = -1;ByteArrayOutputStream baos = new ByteArrayOutputStream();while(len = fis.read(bytes) != -1) baos.write(bytes,0, len);fis.close();baos.close();byte name = baos.toByteArray();return new String(name);访问其他应用package cn.itcast.other;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import android.test.AndroidTestCase;import android.util.Log;public class OtherTest extends AndroidTestCase public static final String TAG = Other;public void testSaveName() throws ExceptionFile file = new File(/data/data/cn.itcast.files/files/itcast.txt);FileOutputStream fos = new FileOutputStream(file);String name = wangguangwangguangsdfsdfsd;fos.write(name.getBytes();fos.close();public void testGetName() throws ExceptionFile file = new File(/data/data/cn.itcast.files/files/itcast.txt);FileInputStream fis = new FileInputStream(file);byte bytes = new byte1024;int len = -1;ByteArrayOutputSt

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论