美文网首页
Android学习整理 -12-Android的存储访问及目录A

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

作者: minminaya | 来源:发表于2017-03-21 16:39 被阅读54次

    Android学习整理 - 系列


    本篇只针对API19及以上

    访问外部存储的权限

    • API19开始,应用可以管路在它外部储存的特定包名目录,而不需要声明读写权限,比如,包明为com.mimminaya.permission的应用,可以自由访问外部储存卡上的Android/data/com.minminaya.permission/[]目录

    外部存储对数据提供的保护较少,所以系统不应该存储敏感数据在外部存储上。
    特别地,配置和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());
    

    注意

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

    相关文章

      网友评论

          本文标题:Android学习整理 -12-Android的存储访问及目录A

          本文链接:https://www.haomeiwen.com/subject/umsgnttx.html