android内存卡读写权限_【Android小纸条】Android的内部存储与外部存储

ce070832b5e4543fe954a6b40976c216.png

Android的存储的分为:

  • 内部存储
  • 外部存储(SDCard、移动U盘等)

内部存储:内部存储指的是App的内部存储空间,路径通常为:/data/data//...,Android中的SharedPreferences、database、so库文件等都存放于此。

  1. /data/data//cache:缓存部分APP运行中产生的临时文件
  2. /data/data//databases:数据库默认的生成目录(可以通过重写ContextWrapper修改)
  3. /data/data//files:App项目的assets中的文件
  4. /data/data//lib:存放so库文件
  5. /data/data//shared_prefs:存放SharedPreferences产生的xml文件
  6. /data/data//app_webview:webView的缓存目录(HTML5使用的LocalStorage也是存放于此)

外部存储:外部存储指的是Android手机自身扩展的存储空间或者外部插入SDCard的存储空间,路径通常为:/storage/sdcard、/mnt/sdcard、/storage/emulated/0、/sdcard等,这些路径全部都是指向同一个存储空间地址。

在访问外部存储时,需要声明SDCard的读写权限。

< uses-permission android:name ="android.permission.WRITE_EXTERNAL_STORAGE" />

< uses-permission android:name ="android.permissions.READ_EXTERNAL_STORAGE" />

存储数据路径的选择:

会随着App的删除而移除的数据,会被系统设置中的“数据清理”功能所清除。此时应该选用私有目录

1.内部存储:/data/data//...2.外部存储: /storage/emulated/0/Android/data//...  1.内部存储:context.getFilesDir()、context.getCacheDir()等2.外部存储:context.getExternalFilesDir(type)、context.getExternalCacheDir()等 

注意点:由于内部存储空间有限,较大的文件应该优先缓存在外部存储的项目私有目录中。

共享给系统其它App且不随App删除而移除的文件。此时选用公共目录

外部存储:/storage/emulated/0/type外部存储:Environment.getExternalStoragePublicDirectory(type)

其中的type指的是Android系统提供的标准目录类型(其实就是文件夹名称):

- android.os.Environment.DIRECTORY_MUSIC //音乐存放的标准目录- android.os.Environment.DIRECTORY_PODCASTS //系统广播存放的标准目录- android.os.Environment.DIRECTORY_RINGTONES //系统铃声存放的标准目录- android.os.Environment.DIRECTORY_ALARMS // 系统提醒铃声存放的标准目录。- android.os.Environment.DIRECTORY_NOTIFICATIONS //系统通知铃声存放的标准目录- android.os.Environment.DIRECTORY_PICTURES //图片存放的标准目录- android.os.Environment.DIRECTORY_DCIM //相机拍摄照片和视频的标准目录- android.os.Environment.DIRECTORY_MOVIES //电影存放的标准目录- android.os.Environment.DIRECTORY_DOCUMENTS //文档- android.os.Environment.DIRECTORY_DOWNLOADS //下载的标准目录E

END

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值