黑马程序员技术交流社区

标题: 数据存储-2 [打印本页]

作者: Itheima_yuan    时间: 2016-6-19 22:58
标题: 数据存储-2
##### 外部空间

> 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




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2