前言: 关于SDCard
我们都知道,一般手机的存储空间不是很大,用来存放些小文件是可行的,却不能存放像视频此类的大文件。对于大文件,我们可以把它存放在SDCard中。
SDCard相当于移动硬盘或者U盘,在Android模拟器中使用SDCard之前,需要做的工作便是创建一张SDCard卡。当然,这不是真的SDCard,只是一个镜像文件。
第一步:SDCard的创建。
①:在Eclipse创建模拟器时随同创建;
②:使用DOS命令进行创建。例如,我们要创建一张容量为2G的SDCard,需在DOS窗口中进入Android SDK安装路径的tools目录,输入命令,文件后缀可以随便取,建议使用.img,命令如下:
mksdcard 2048M D:\AndroidTool\sdcard.img
第二步:创建完之后我们可以访问SDCard,不过在Android中需要提供一个权限,申请访问的权限在AndroidManifest.xml中添加,格式如下:
<!--在SDCard中创建与删除文件权限-->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<!--在SDCard中写入数据权限-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
第三步:有了权限我们就可以在SDCard中存放文件,为了谨慎起见,程序必须先判断手机是否装有SDCard,并且可以进行读写,实现的逻辑如下:
①获取SDCard的状态:Environment.getExternalStorageState()方法。
如果手机装有SDCard,并且可以进行读写,那么方法返回的状态等于Environment.MEDIA_MOUNTED。
Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)
②获取SDCard的目录:Environment.getExternalStorageDirectory()方法。
这里提供两种写法:
File sdCardDir = Environment.getExternalStorageDirectory();
或者
File sdCardDir = new File("/sdcard");
File saveFile = new File(sdCardDir, "itcast.txt");