Android获取SD卡路径

本篇将会带领大家学习如何获取android路径的几种常见用法,但在我开始bb之前需要大家清楚android中内存和外存之间的区别,下面进行简短介绍:
android中的内存:保存在内存中的程序和文件是相互关联的,什么意思呢?举个例子,假设你android手机内存中有一个程序叫bb,然后由bb程序创建了一份名叫cc的文件,当你删除bb的时候cc也会应为关联而被删除。
像是Shared Preferences或SQLite的内容就是保存到内存储中的,这些保存的内容会随程序的删除而删除用过的同学因该很快能理解。

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

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

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

添加权限:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
1
2
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);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
打印Log:

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

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

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

方法 描述
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));

//便历所有外部存储
}
}
1
2
3
4
5
6
7
8
9
10

这里由于博主手机只有一个sd卡,所以只打印了一行路径
1
2

得到内存:

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

Android获取SD卡路径/内存的几种方法的更多相关文章

  1. Android获取SD卡路径及SDCard内存的方法

    这篇文章主要介绍了Android获取SD卡路径及SDCard内存的方法,较为详细的分析了Android针对SD卡操作所涉及的类及其具体函数功能,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了A ...

  2. Android 获取SD卡路径和推断SD卡是否存在

    android获取sd卡路径方法: 不建议直接写死android sd卡的路径. public String getSDPath(){ File sdDir = null; boolean sdCar ...

  3. Android - 获取SD卡的内存空间大小

    获取SD卡的内存空间大小 //获得SD卡空间的信息 File path=Environment.getExternalStorageDirectory(); StatFs statFs=new Sta ...

  4. android获取sd卡路径方法

    public String getSDPath(){  File sdDir = null;  boolean sdCardExist = Environment.getExternalStorage ...

  5. android 获取sd卡根目录

    dir:/storage/emulated/0 也就是 sdcard目录 ====== android 获取sd卡根目录 public String getSDPath(){        File ...

  6. Android中怎样获取SD卡路径

    很多时候我们需要将我们的数据或者apk保存到SD卡中,但是使用绝对路径可能会遇到错误,怎样解决这个问题呢?     可以通过以下方法获取SD卡的路径: Environment.getExternalS ...

  7. Android 获取SD卡的图片资源

    首先我先获得SD卡下的根目录路径: privateString isSdcard(){ File sdcardDir=null; boolean isSDExist=Environment.getEx ...

  8. Android获取SD卡中选中图片的路径(URL)

    最近在做一个图片上传的功能,需要提供上传图片在SD卡中的路径,在网上看了些例子,改改调试成功,代码很简单.其布局文件如下: [html]  view plain copy   <?xml ver ...

  9. android 获取SD卡的图片及其路径

    1.首先是intent的设置: private static final int IMAGECODE = 0; Intent imageIntent = new Intent(Intent.ACYIO ...

随机推荐

  1. Reduce 任务的完整数据流

  2. Solidworks如何整体缩放零件

    比如我有一个飞机模型,当前长度有20000mm,即20M,我想要整体缩放   点击插入-特征-缩放比例   在左侧的框中输入所有要缩放的零部件(如果全部缩放,则全部框选所有零件,就可以把所有零件都放到 ...

  3. Java基础:初始化和清理

    转载请注明出处:jiq•钦's technical Blog (1) 初始化: 所以假设继承关系为:A导出B再导出C,在创建C对象的情况下的调用顺序是: * (1) A的静态域,B的静态域,C的静态域 ...

  4. unity3d杂记

    由于公司用unity3d开发客户端部分,今天去参加了下unity3d成都开发者大会.在这里简单记录一下会议里关于unity3d的内容. 说到unity3d,第一次知道的时候也是大概3年前的事情.这几年 ...

  5. go语言笔记——还是大爱的我的python,开发效果高,tornado的性能也很不错

    Go 自带的工具集主要使用脚本和 Go 语言自身编写的,目前版本的 Go 实现了以下三个工具: go install 是安装 Go 包的工具,类似 Ruby 中的 rubygems.主要用于安装非标准 ...

  6. bzoj2142 礼物——扩展卢卡斯定理

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2142 前几天学了扩展卢卡斯定理,今天来磕模板! 这道题式子挺好推的(连我都自己推出来了) , ...

  7. JSP-Runoob:JSP 表单处理

    ylbtech-JSP-Runoob:JSP 表单处理 1.返回顶部 1. JSP 表单处理 我们在浏览网页的时候,经常需要向服务器提交信息,并让后台程序处理.浏览器中使用 GET 和 POST 方法 ...

  8. Python3基础复习

    目录 基本语法 运算符 输出格式 数据类型 数据结构 函数 面向对象 补充 异常 模块和包 文件 时间 线程和进程 基本语法 基本语法只列举与Java不一样的. 运算符 and, or而非 & ...

  9. Rails 拉数据初始数据库

    rails c   [1] pry(main)> Scraping.exec

  10. yii2表单,用惯yii1的可以看一下,有很大不同哦

    使用表单 本章节将介绍如何创建一个从用户那搜集数据的表单页.该页将显示一个包含 name 输入框和 email 输入框的表单.当搜集完这两部分信息后,页面将会显示用户输入的信息. 为了实现这个目标,除 ...