Android数据存储(3):External Storage

  Android系统的数据存储第三种方式是External Storage,即是外部存储。

  外部存储通常存储的是公共的数据,存储位置是在扩展卡或SD卡上,存储目录:/mnt/sdcard/Android/data/包名/cache,注:测试使用的是系统自带的模拟器。

  外部存储不是必须的,同时存储在扩展卡上的数据是不安全的,因为所有的程序都可以访问扩展卡上的数据,对数据进行读写操作。

  

  1.使用外部存储需要添加相应的全选,如READ_EXTERNAL_STORAGE 或者 WRITE_EXTERANL_STORAGE,必须的。

   eg:

    

  

  2.必须要判断扩展卡是否挂载,因为扩展卡对于android系统来说不是必须的,它是外置的。

    自己写的一个判断例子:

      

   官方文档的判断例子:

     

  这里:getExternalStorageState()返回了一个字符串常量,用来描述扩展卡的状态。

    

  3.判断扩展卡的空间是否够用(可选)

     

  4.保存图片到扩展卡(可选)

    

   5.保存图片到扩展卡(可选)

    

  6.从扩展卡读取图片(可选)

    

   7.清空扩展卡

    

   8.获取文件的name

    

    注意:为了是文件的名称具有唯一性,这里可以使用MD5算法将一个name字符串对应一个唯一的字符串。

  9.关于外部存储的缓存

    context.getExternalCacheDir()

   eg:

      

   打开File Explore 查看:

      

     该文件是在/mnt/sdcard/Android/data/com.tostrary.SharedPreferences/cache/目录下

   导出文件查看:

      

      

  10.外部存储常用方法

    getExternalStoragePublicDirectory()

    getExternalFilesDir()

    getExternalFilesDirs()

    getExternalCacheDirs()

  未完,待续。

原文地址:https://www.cnblogs.com/enjoy-coding/p/4893328.html