android开发文件存储常见到api以及路径

android文件存储路径分为三小块:

1.app私有,用户不可见的/data/user/0 开头的:
  context.filesDir --> /data/user/0/包名/files
  context.cacheDir --> /data/user/0/包名/cache
  context.getDir("TestDir") --> /data/user/0/包名/app_TestDir
  
2.app私有,用户可见的/storage/emulated/0/Android/data/包名/ 开头的:
  context.externalFilesDir(null) --> /storage/emulated/0/Android/data/包名/files
  context.externalCacheDir() --> /storage/emulated/0/Android/data/包名/cache
  context.externalFilesDir("TestPicture") --> /storage/emulated/0/Android/data/包名/files/TestPicture
3.公共目录,用户可见的/storage/emulated/0 下的:
  api:Enviroment.getExternalStorageDirectory,Environment.getExternalStoragePublicDirectory --> /storage/emulated/0
  androidQ以后不能直接访问,只能通过ContentResolver访问,具体参考别人的一遍文章,
  https://www.jianshu.com/p/d6e0271354d7

app私有的都是context的api,公共目录的都是Environment的api的。
android6和android10都有比较大的限制变化。

 

posted @ 2020-08-27 18:51  yongfengnice  阅读(1158)  评论(0编辑  收藏  举报