Android20之外部存储

来源:互联网 发布:网上上课软件免费 编辑:程序博客网 时间:2024/06/04 20:06
手机外部存储:所有兼容Android的设置都支持一个可共享的“外部存储(extranal storage)”,可用来保存文件,这可以是一个可移动的存储设备(比如SD卡)或者一个内部的(不可移动的)存储。保存在外部存储的文件是可全局读写的。
        1. Sdcard存储的特点(外部存储):
            * 依赖于Sdcard,使用SDCard存储,需先检测其状态,能够挂载成功
            * 存在Sdcard的文件是可全局读写的
            * 写入Sdcard时,需要权限
        2. 关注点:
            * Environment.getExternalStorageState()  取得外部存储状态   //环境

            *  将数据存到SD卡的路径有4种:公共共享和私有缓存文件、私有数据、外存的根路径   /mnt/sdcard ==》指向了storage/sdcard
                        1、公共共享的存储路径:Environment.getExternalStoragePublicDirectory(Environment.Directory_downloads);                                                            /storage/sdcard/downloads/ 


                  
                        2、  ·私有缓存文件的存储路径:context.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS)   
                                                        /storage/sdcard/android/data/<包名>/files/<类型>/





                      3、私有数据的存储路径:context.getExternalCacheDir()        /storage/sdcard/android/data/<包名>/cache
                        略

                      4、  ·取得外存的根路径Environment.getExternalStorageDirectory()        /storage/sdcard
                略,可以自行尝试

                需要注意的是:当应用删除时,公共共享和外村的根路径存放路径下的数据不会被删除,其它两个个都会被删除

            * 写入外部存储的权限
                   android.permission.MOUNT_UNMOUNT_FILESYSTEMS  //挂载、卸载文件系统
                   android.permission.WRITE_EXTERNAL_STORAGE  //写外部存储权限
                   android.permission.READ_EXTERNAL_STORAGE //读外部存储的权限
                在android 4.0以后,假如你的外部存储的路径不规范,则需要该权限


写入外部存储步骤:
                1、设置权限
                                            ·挂载/卸载文件系统权限     android.permission.MOUNT_UNMOUNT_FILESYSTEMS
                                            ·外部存储写入权限            android.permission.WRITE_EXTRANAL_STORAGE
                                            `外部存储读取权限            android.permission.READ_EXTRANAL_STORAGE  
                   外部存储读写权限在4.0以上的版本后默认有,所以可以不写这两个权限也没问题。

                2、判断外部存储状态:是否处于挂载状态。 media_mounted
                            1、设置存放数据的路径

                            2、开辟一个输出流,写入数据
        
                             3、关闭流

代码如下:



读取外部存储数据:类似
               


总计:这两篇文章就大概介绍了手机存储数据的两种方法,一种外部存储,一种内部存储,但是存储的文件的数据格式不好,接下来将学习SharedPreferences  俗称:偏好设置存储。 存储数据的格式是xml。
0 0