Android获取SD卡路径


本篇将会带领大家学习如何获取android路径的几种常见用法,但在我开始bb之前需要大家清楚android中内存和外存之间的区别,下面进行简短介绍:

android中的内存:保存在内存中的程序和文件是相互关联的,什么意思呢?举个例子,假设你android手机内存中有一个程序叫bb,然后由bb程序创建了一份名叫cc的文件,当你删除bb的时候cc也会应为关联而被删除。
像是Shared Preferences或SQLite的内容就是保存到内存储中的,这些保存的内容会随程序的删除而删除用过的同学因该很快能理解。

android中的外存:我们平常在android手机使用的最多的就是外部存储,像是你用相机拍了一张照片,这些一般都是保存到外存中的,这些文件不会因为你删除了程序而不见。

随着android版本的增加一般所谓的sd卡(外存储卡)都变成内置的了




下面正式开始介绍,先是获取SD卡根目录的方法:

添加权限:

if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {        //为真则SD卡已装入,        sdCardExist=Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED);    }if(sdCardExist){    sdDir = Environment.getExternalStorageDirectory();//获取跟目录    //查找SD卡根路径    sdDir.toString();    Log.e("main","得到的根目录路径:"+sdDir);}

打印Log:

博主打开手机文件管理器首先来到的所在页面就是这个路径,只是手机上不会显示这个路径





另外一个更灵活的获取外部路径的方法:

        File directory_doc = Environment.getExternalStoragePublicDirectory(Environment. DIRECTORY_DOCUMENTS);        //使用这个方法需要传入公共目录的类型如Environment.DIRECTORY_DOCUMENTS        //查看公共目录文档文件的路径        Log.e("main","得到的公共目录:"+directory_doc);

获取路径的其他方法;

方法 描述
DIRECTORY_DOCUMENTS 标准文件目录,可以是用户自定义创建的。Standard directory in which to place documents that have been created by the user.
DIRECTORY_DOWNLOADS 下载目录. Standard directory in which to place files that have been downloaded by the user.
DIRECTORY_MOVIES 影视目录.Standard directory in which to place movies that are available to the user.
DIRECTORY_MUSIC 音乐目录.Standard directory in which to place any audio files that should be in the regular list of music for the user.
DIRECTORY_PICTURES 用户可以获得的图片目录.Standard directory in which to place pictures that are available to the user.

更多内容:https://developer.android.com/reference/android/os/Environment





当你有多个外部存储卡:

        File[] files;        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {            files = getExternalFilesDirs(Environment.MEDIA_MOUNTED);            for(File file:files){                Log.e("main", "得到的全部外存:" +String.valueOf(file));//便历所有外部存储            }        }
这里由于博主手机只有一个sd卡,所以只打印了一行路径



得到内存:

  File internal=getFilesDir();      Log.e("main","内存路径:"+internal);






如有错误欢迎纠正

更多相关文章

  1. Pycharm安装PyQt5的详细教程
  2. 从J2EE转向Android的第六天-----文件管理
  3. Android(安卓)studio 运行即打包keystore之build.gradle设置
  4. 制作Android(安卓)Root Ramdisk
  5. Android(安卓)安装路径问题 -- 导致无法启动模拟器
  6. android 文件操作
  7. Android(安卓)根据Video绝对路径获取其缩略图
  8. Android体系结构介绍
  9. Android的第一个程序运行

随机推荐

  1. Android 禁止屏幕旋转 screenorientation
  2. Google应该让Android走山寨路线
  3. Android开发优化的几点建议
  4. Android中Tomcat的简单配置和使用
  5. Android 开源的真相: 无法fork
  6. Qt on Android:添加分享功能
  7. Android 8.0适配之应用图标适配
  8. Android游戏开发设计步骤
  9. 傻瓜式安卓 APP开发入门教程
  10. Android入门前言(一)之------Android应用