android图片文件的路径地址与uri的相互转换,android图片文件的路径地址与Uri的相互转换...
uri ---> 绝对路径
/**
* Try to return the absolute file path from the given Uri
*
* @param context
* @param uri
* @return the file path or null
*/
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[] { ImageColumns.DATA }, null, null, null );
if ( null != cursor ) {
if ( cursor.moveToFirst() ) {
int index = cursor.getColumnIndex( ImageColumns.DATA );
if ( index > -1 ) {
data = cursor.getString( index );
}
}
cursor.close();
}
}
return data;
}
绝对路径 -->uri
String type = Utils.ensureNotNull(intent.getType());
Log.d(TAG, "uri is " + uri);
if (uri.getScheme().equals("file") && (type.contains("image/"))) {
String path = uri.getEncodedPath();
Log.d(TAG, "path1 is " + path);
if (path != null) {
path = Uri.decode(path);
Log.d(TAG, "path2 is " + path);
ContentResolver cr = this.getContentResolver();
StringBuffer buff = new StringBuffer();
buff.append("(")
.append(Images.ImageColumns.DATA)
.append("=")
.append("'" + path + "'")
.append(")");
Cursor cur = cr.query(
Images.Media.EXTERNAL_CONTENT_URI,
new String[] { Images.ImageColumns._ID },
buff.toString(), null, null);
int index = 0;
for (cur.moveToFirst(); !cur.isAfterLast(); cur
.moveToNext()) {
index = cur.getColumnIndex(Images.ImageColumns._ID);
// set _id value
index = cur.getInt(index);
}
if (index == 0) {
//do nothing
} else {
Uri uri_temp = Uri
.parse("content://media/external/images/media/"
+ index);
Log.d(TAG, "uri_temp is " + uri_temp);
if (uri_temp != null) {
uri = uri_temp;
}
}
}
}
android图片文件的路径地址与uri的相互转换,android图片文件的路径地址与Uri的相互转换...相关推荐
- Android 读取拍照或相册uri 转换成图片的绝对路径
一个android文件的Uri地址一般如下: content://media/external/images/media/62026 这是一张图片的Uri,那么我们如何根据这个Uri获得其在文件系统中 ...
- android raw绝对路径,通过uri 加载raw 文件
在开发过程中,有些文件可能需要 原封不动 的打包到apk 中,比如一些特殊的图片或者数据库文件等,Android 提供了两个文件夹可以保存原始文件, 一个是main 目录下的 assets 文件夹,另 ...
- android文件路径转uri,在Android中将文件路径转换为Uri
我有一个应用程序,我使用相机拍摄视频.我可以获取视频的文件路径,但是我需要它作为Uri. 我得到的文件路径: /storage/emulated/0/DCIM/Camera/20141219_1331 ...
- takephoto 框架_GitHub - Smecking/TakePhoto: 一款用于在Android设备上获取照片(拍照或从相册、文件中选择)、裁剪图片、压缩图片的开源工具库...
TakePhoto是一款用于在Android设备上获取照片(拍照或从相册.文件中选择).裁剪图片.压缩图片的开源工具库,目前最新版本4.0.2. 3.0以下版本及API说明,详见TakePhoto2. ...
- Android开发 调用系统相机相册图片功能,解决小米手机拍照或者图片横竖相反问题,及小米手机相册图片路径问题
Android开发 调用系统相机相册图片功能,解决小米手机拍照或者图片横竖相反问题,及小米手机相册图片路径问题 1.调用相机,兼容7.0 AndroidManifest配置 <providera ...
- Android 将PDF文件转Bitmap,并将Bitmap以图片的方式保存到相册
转自:https://blog.csdn.net/chaogelilun/article/details/85095821 背景: 公司项目要求用户可以在手机端查看发票并将发票已图片的形式保存到相册, ...
- android uri图片压缩,详解android 通过uri获取bitmap图片并压缩
详解android 通过uri获取bitmap图片并压缩 很多人在调用图库选择图片时会在onactivityresult中用media.getbitmap来获取返回的图片,如下: uri mimage ...
- android URI 和 UIL 图片加载问题
ImageLoader加载图片问题: UIL图片加载已经非常熟悉,已经知道的是采用的是两级缓存: 内存中和磁盘上 如果都没有则从网络下载. 缓存的依据: UIL根据图片的URI获取缓存在磁盘文件的MD ...
- android uri db,Android ContentProvider封装数据库和文件读写总结
本文是我各处东拼西凑加上自己实现一个ContentProvider的使用总结,留做后用,主要介绍ContentProvider的集成方法. 一.综述 ContentProvider是Android四大 ...
最新文章
- 机器学习中的欠拟合与过拟合
- 你们AI圈儿,已经引起了罗马教皇的警惕
- 怎样知道一个数是不是2的N次方,怎样判断一个数是奇数还是偶数
- Tomcat 启动时 SecureRandom 非常慢解决办法
- 防火墙规则配置iptables
- Linux 多线程开发-线程的属性-分离detached和连接joinable
- 转--javascript 数组
- php程序员学什么语言好就业_2019年初中毕业生学什么专业好?学什么专业好就业?...
- 驻华大使亲自带货 卢旺达咖啡豆成春节热销“洋年货”
- 机器学习笔记——决策树之回归树
- 转发:关于数据权限设计的思考
- 1 linux网络诊断命令工具
- 1364:Field 'sex' doesn't have a default value [ SQL语句 ]
- 交换机配置软件crt安装_模拟器安装使用
- vue 使用ace编辑器
- [从头读历史] 第262节 左传 [BC597至BC538]
- linux oel7没有网络,OEL7.2下Oracle11.2.0.4RAC部署
- Docker mysql [Warning] World-writable config file ‘.cnf‘ is is ignored
- Zabbix5.0如何发送短信
- 《Java修炼指南:高频源码解析》阅读笔记一Java数据结构的实现集合类
热门文章
- 回溯算法(Backtracking Algorithm)之八皇后问题
- jsonp跨域原理_Rust 搭建可跨域访问服务器JsonP(一)
- excel打开空白_啥?下载的文件显示“文件已损坏,无法打开”?
- npm安装vue_vue搭建脚手架的方式
- java 父子级json组装不用递归_2020面试阿里Java研发岗题库总结,想虐面试官不能错过的面试宝典...
- 总结python换源的方法:Linux与windows系统
- python 经典100例 (61-80)
- python中的LEGB 规则
- java的构造函数格式_来自模板化对象的Java 8函数构造函数
- YUI3在美团的实践