文档章节

Android Uri获取真实路径以及文件名的方法

丁佳辉
 丁佳辉
发布于 2017/09/10 19:40
字数 205
阅读 111
收藏 1

在Android 编程中经常会用到uri转化为文件路径 
下面是4.4后通过Uri获取路径以及文件名一种方法

 public static String getRealFilePath( final Context context, final Uri uri ) {
        if ( null == uri ) return null;
        final String scheme = uri.getScheme();
        String data = null;
        if ( scheme == null )
            data = uri.getPath();
        else if ( ContentResolver.SCHEME_FILE.equals( scheme ) ) {
            data = uri.getPath();
        } else if ( ContentResolver.SCHEME_CONTENT.equals( scheme ) ) {
            Cursor cursor = context.getContentResolver().query( uri, new String[] { MediaStore.Images.ImageColumns.DATA }, null, null, null );
            if ( null != cursor ) {
                if ( cursor.moveToFirst() ) {
                    int index = cursor.getColumnIndex( MediaStore.Images.ImageColumns.DATA );
                    if ( index > -1 ) {
                        data = cursor.getString( index );
                    }
                }
                cursor.close();
            }
        }
        return data;
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

等到的路径 /storage/emulated/0/图片/浪费-林宥嘉.mp3

怎么获取文件名呢?

 String path="/storage/emulated/0/图片/浪费-林宥嘉.mp3";
                String b = path.substring(path.lastIndexOf("/") + 1, path.length());
  • 1
  • 2

通过索引最后一个/就可以在String中截取了

本文转载自:http://blog.csdn.net/mikogodzd/article/details/50979653

共有 人打赏支持
丁佳辉
粉丝 19
博文 412
码字总数 197400
作品 0
浦东
程序员
私信 提问
Android包管理机制(一)PackageInstaller的初始化

前言 包管理机制是Android中的重要机制,是应用开发和系统开发需要掌握的知识点之一。 包指的是Apk、jar和so文件等等,它们被加载到Android内存中,由一个包转变成可执行的代码,这就需要一个...

刘望舒
06/19
0
0
android Activity基础

1、销毁一个Activity 两种方式:1,点击返回键。2,调用finish方法. 2、Intent的调用 Intent主要用于各组件之间传递数据,例如可以用于启动Acitivity,Service,BroadCast Intent的调用,分为显...

西米小娅
09/18
0
0
Android根据图片Uri获取图片path绝对路径的几种方法【转】

在Android 编程中经常会用到Uri转化为文件路径,如我们从相册选择图片上传至服务器,一般上传前需要对图片进行压缩,这时候就要用到图片的绝对路径。 下面对我开发中uri转path路径遇到的问题...

vetter
09/03
0
0
如何通过Tesseract开源OCR引擎创建Android OCR应用

Tesseract是遵守 Apache License 2.0协议的开源OCR引擎。这里介绍下如何在Android平台编译Tesseract,以及如何快速创建一个简单的OCR应用。 参考原文:Making an Android OCR Application w...

yushulx
2014/12/23
0
3
关于Android中Contact API的讲解

今日学习任务:实现读取手机中所有联系人的主要信息(名称和联系电话),并以ListView显示 涉及的主要内容:1) Contact API的结构和使用方法 2) ContentProvider组件作用,URI概念及使用方法...

大爱rails
2013/07/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

颜色模型与颜色应用---光的特性

电磁频谱 颜色的心理学特征

中国龙-扬科
17分钟前
2
0
android音频及强噪相关

Android AudioRecord和AudioTrack介绍(Android音频收集和播放 麦克风降噪) https://blog.csdn.net/tanningzhong/article/details/72844559 音频采集(AudioRecorder) https://www.jianshu.......

whoisliang
23分钟前
2
0
redis-持久化

RDB rdb持久化是把当前进程数据生成快照保存到磁盘的过程。触发RDB持久化过程分为手动触发和自动触发。 触发机制 bgsave执行流程 rdb优缺点 AOF 记录每次写命令,重启时再重新执行aof文件中的...

grace_233
28分钟前
3
0
电话激活Windows 中文操作系统步骤

已购买微软MAK批量授权,系统又在企业内网中,无法通过连接Internet进行激活,还可以通过电话完成激活。 前期准备 请提前准备好产品密钥,Product Key格式如下:XXXXX-XXXXX-XXXXX-XXXXX-XXX...

tonyfox
30分钟前
4
0
Apache用户认证,域名跳转,访问日志

Apache用户认证 当设置了用户认证后,用户访问网站时,需要输入用户名和密码才能访问。 可以全局设置,也可以为某几个虚拟主机单独配置。 下面以全局配置进行操作示例。 编辑httpd.conf进行配...

野雪球
35分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部