Android学习整理 -12-Android的存储访问及目录A

2017-03-21  本文已影响54人  minminaya

Android学习整理 - 系列


本篇只针对API19及以上

访问外部存储的权限

外部存储对数据提供的保护较少,所以系统不应该存储敏感数据在外部存储上。
特别地,配置和log文件应该存储在内部存储中,这样它们可以被有效地保护。

Environment API的目录

        //外置内存卡根,为避免污染用户根命名控件,不推荐使用,加文件夹
        Log.e(TAG, "/storage/181C-0A4B路径:" + Environment.getExternalStorageDirectory().toString());
        Log.e(TAG, "/storage/181C-0A4B/Download路径:" + Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).toString());
        
        Log.e(TAG, "/data路径:" + Environment.getDataDirectory().toString());
        Log.e(TAG, "/cache路径:" + Environment.getDownloadCacheDirectory().toString());
        Log.e(TAG, "/system路径:" + Environment.getRootDirectory().toString());

Context下的目录

这些目录推荐存放一些内部数据,且不需要声明权限(包名目录下)

外置卡上的

        
        Log.e(TAG, "/storage/181C-0A4B/Android/data/com.minminaya.permission1/cache路径:" + getExternalCacheDir());
        Log.e(TAG, "/storage/181C-0A4B/Android/data/com.minminaya.permission1/files/Download路径:" + getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS));

任何应用私有的文件的应该被放置在 Context.getExternalFilesDir返回的目录下,在应用被卸载的时候,系统会清理的就是这个目录。

内存上的

        Log.e(TAG, "内存上的{包名/files}路径:" +getFilesDir());
        Log.e(TAG, "内存上的{包名/cache}路径:" +getCacheDir());

注意

华为手机如果在存储里面设置默认存储为外置卡,则内置外置内存卡目录挂载将变换

上一篇 下一篇

猜你喜欢

热点阅读