A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© Itheima_yuan 高级黑马   /  2016-6-19 22:58  /  425 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

##### 外部空间

> 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

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马