对于像视频这样的大文件,我们可以把它存放在SDCard。 SDCard是干什么的?你可以把它看作是移动硬盘或U盘。
对其的操作因该注意的地方
- 1.在AndroidManifest.xml中加入访问SDCard的权限如下:
- <!-- 在SDCard中创建与删除文件权限 -->
- <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
- <!-- 往SDCard写入数据权限 -->
- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
- 2. 要往SDCard存放文件,程序必须先判断手机是否装有SDCard,并且可以进行读写。
- /**
- Environment.getExternalStorageState()方法用于获取SDCard的状态,如果手机装有SDCard,并且可以进行读写,那么方法返回的状态等于Environment.MEDIA_MOUNTED。
- Environment.getExternalStorageDirectory()方法用于获取SDCard的目录,
- if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
- File sdCardDir = Environment.getExternalStorageDirectory();//获取SDCard目录,2.2的时候为:/mnt/sdcart 2.1的时候为:/sdcard,所以使用静态方法得到路径会好一点。 下面的语句在SDCard上创建一个文件
- File saveFile = new File(sdCardDir, "abc.txt");
- }
- //下面的语句是判断SDCard的权限状态
- String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state)) {
mExternalStorageAvailable = mExternalStorageWriteable = true;
} else if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
mExternalStorageAvailable = true;
mExternalStorageWriteable = false;
} else {
mExternalStorageAvailable = mExternalStorageWriteable = false;
}