##### 外部空间
> sd卡
1. 写入文件的时候要记得添加写操作的权限. 在4.3或者是4.4之后的版本里面,对SD卡的读取,也必须要加上权限 。
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
2. 一般在写入SD卡的时候不要进行硬编码路径,而是通过API获取,因为每个手机的路径可能都不太一样。
Environment.getExternalStorageDirectory().getPath();
3. 一般在写入SD卡的时候,都要判断是否存在SD卡,是否有挂载进来。
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
4. 判断SD卡的空间是否足够大(可选,当生成一些大文件的时候,可以做这个而判断。)
//1. 定位到SD卡
File file = Environment.getExternalStorageDirectory();
long total = file.getTotalSpace();//获取SD卡的总大小
long free = file.getFreeSpace(); //获取剩余的空间
String totalStr = Formatter.formatFileSize(this, total);
String freeStr = Formatter.formatFileSize(this, free);
Toast.makeText(this, "总大小是:"+totalStr+"剩余空间="+freeStr, 0).show();
5. 一般写SD卡的时候,都不写到根目录底下,而是有专门的区域写数据(到后面项目的时候有介绍。)
this.getExternalCacheDir(); // mnt/sdcard/android/data/应用程序包/cache
this.getExternalFilesDir(null);// mnt/sdcard/android/data/应用程序包/files |
|