Android常用文件夹

前言

有项目开发中,关于存储文件时,要使用设备存储目录,傻瓜式写法直接写固定目录例如“sdcard/Android/0/data”,这么写可以,但是不建议这么写,如果设备的系统是定制的,可能会遇到兼容性问题。

常用文件夹

系统已经提供了API提供常用的文件夹,API可分为两类Context和Environment。

第一类 Context

这里一类要通过上下文Context,代码如下

// Context.getExternalCacheDir()
System.out.println("Context.getExternalCacheDir() = " + appContext.getExternalCacheDir());
// Context.getExternalFilesDir(type)
System.out.println("Context.getExternalFilesDir(type) = " + appContext.getExternalFilesDir(null));
// Context.getFilesDir()
System.out.println("Context.getFilesDir() = " + appContext.getFilesDir().getPath());
// Context.getNoBackupFilesDir()
System.out.println("Context.getNoBackupFilesDir() = " + appContext.getNoBackupFilesDir().getPath());

输出结果

Context.getExternalCacheDir() = /storage/emulated/0/Android/data/com.pax.demo/cache
Context.getExternalFilesDir(type) = /storage/emulated/0/Android/data/com.pax.demo/files
Context.getFilesDir() = /data/data/com.pax.demo/files
Context.getNoBackupFilesDir() = /data/data/com.pax.demo/no_backup

结果统计,com.jqchen.demo是应用包名。

方法路径
getExternalCacheDir()/storage/emulated/0/Android/data/com.jqchen.demo/cache
或者 /sdcard/Android/data/com.jqchen/cache
getExternalFilesDir(type)/storage/emulated/0/Android/data/com.jqchen.demo/files
或者 /sdcard/Android/data/com.jqchen.demo/files
getFilesDir()/data/data/com.jqchen.demo/files
getNoBackupFilesDir()/data/data/com.pax.demo/no_backup

第二类 Environment

这一类API通过Environment访问。
代码如下

// Environment.getExternalStorageDirectory()
System.out.println("Environment.getExternalStorageDirectory() = " + Environment.getExternalStorageDirectory().getPath());
// Environment.getDownloadCacheDirectory()
System.out.println("Environment.getDownloadCacheDirectory() = " + Environment.getDownloadCacheDirectory().getPath());
// Environment.getDataDirectory()
System.out.println("Environment.getDataDirectory() = " + Environment.getDataDirectory().getPath());

输出结果

Environment.getExternalStorageDirectory() = /storage/emulated/0
Environment.getDownloadCacheDirectory() = /cache
Environment.getDataDirectory() = /data

结果统计

方法路径
getExternalStorageDirectory()/storage/emulated/0
或者 /sdcard
getDownloadCacheDirectory()/cache
getDataDirectory()/data

喜欢的可以点赞,有问题欢迎评论,谢谢!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值