美文网首页
本地文件目录

本地文件目录

作者: 敲代码的本愿 | 来源:发表于2017-01-16 14:35 被阅读29次

    不同型号Android手机SD卡目录可能不同,本文测试手机meizu note3

    卸载 App 不删除的文件

    1. Environment.getExternalStorageDirectory()
    File sdcard = Environment.getExternalStorageDirectory();
    File dic_picture = new File(sdcard, "Pictures");
    Log.i(TAG, dic_picture);
    //返回结果
    /storage/emulated/0/Pictures
    
    1. Environment.getExternalStoragePublicDirectory(String type);
      type:系统提供的特定目录名,以DIRECTORY开头。例:Environment.DIRECTORY_DCIM
    File dic_picture = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
    Log.i(TAG, dic_picture);
    //返回结果
    /storage/emulated/0/Pictures
    

    卸载 App 删除的文件

    该类文件通常只有对应App才能使用。

    1. internal storage 手机自带存储区域,通常很小,shared preference、数据库存在该目录下
      方法:Context.getFilesDir()
    File fileDir = this.getFilesDir();
    Log.i(TAG, fileDir);
    //返回结果
    /data/data/com.example.test/files
    
    1. external storage SD卡,通常很大
      方法:Context.getExternalFilesDir(String type)
    // ------------(1)----------
    File fileDir = this.getExternalFilesDir(null);
    Log.i(TAG, fileDir);
    //返回结果
    /storage/emulated/0/Android/data/com.example.test/files
    // ------------(2)----------
    File fileDir = this.getExternalFilesDir(`Movies`);
    Log.i(TAG, fileDir);
    //返回结果
    /storage/emulated/0/Android/data/com.example.test/files/Movies
    
    1. 应用程序缓存目录
    //获取应用程序自己的缓存目录
    context.getCacheDir() 
    //获取应用程序在外部存储的存储目录
    context.getExternalCacheDir() 
    

    判断是否安装SD卡##

    if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
                //已安装SD卡
    }
    

    相关权限##

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

    相关文章

      网友评论

          本文标题:本地文件目录

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