android开发分享getExternalStorageDirectory()和getExternalFilesDir()的区别

Android getExternalStorageDirectory()和getExternalFilesDir()的区别1、app专属文件位置app专属文件就是只有app才可以使用的文件,这类文件随app的删除而删除,他们可以被存储在两个地方:internal storage(内部存储)和external storage(外部存储);iinternal storage:就是app私有的目录,为:“data/data/<package name>/file/…”访问方法:File


Android getExternalStorageDirectory()和getExternalFilesDir()的区别

1、app专属文件位置

	app专属文件就是只有app才可以使用的文件,这类文件随app的删除而删除,他们可以被存储在两个地方:internal storage(内部存储)和external storage(外部存储);i 	internal storage:就是app私有的目录,为:“data/data/<package name>/file/..."访问方法:File file=getFilesDir(); 	externale storage:这类文件存储在sdk中,为:“mnt/sdacard/Android/data/<package name>/file/.."。这类文件随app删除而删除。访问方法为:File file=getExternaleFilesDir(null); 	需要权限: 	<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 	<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> 	getExTernalFilesDir(null)参数传入的为null,访问的是files文件夹,可以指定子文件夹。 	使用时,需要先判断是否安装sd卡: 	if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {//SD卡已装入} 

2、独立文件

	独立文件就是不属于某个app的文件,这类文件在删除应用之后还会保留在手机上; 	访问方式: 	(1) 	File sdCard = Environment.getExternalStorageDirectory(); 	File file= new File(sdCard, "textFile"); 	Log.i(TAG,"directory="+file); 	打印的路径为:mnt/sdcard/textFile 	Environment.getExternalStorageDirectory();这个路径为sd卡的根路径,可以指定访问的文件夹名: 	(2) 	File sdCard=Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES); 	Log.i(TAG,"sdCard="+sdCard); 	打印的路径为:mnt/sdcard/Pictures 	Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);访问Android给我们提供好的一些公共目录的方法 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/addevelopment/891884.html

(0)
上一篇 2021年10月19日
下一篇 2021年10月19日

精彩推荐