原文地址http://www.cnblogs.com/mytech-blog/p/3201549.html

1.将所有的图片路径取出,遍历比较找到需要的路径,取出URI,效率较低

其中 MediaStore.MediaColumns.DATA 字段存的就是图片的绝对路径,

最后mImageUri得到的就是图片的URI

Uri mUri = Uri.parse("content://media/external/images/media");
Uri mImageUri = null;
Cursor cursor = managedQuery(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, null, null, null,MediaStore.Images.Media.DEFAULT_SORT_ORDER);
cursor.moveToFirst();while (!cursor.isAfterLast()) {String data = cursor.getString(cursor.getColumnIndex(MediaStore.MediaColumns.DATA));if (picPath.equals(data)) {int ringtoneID = cursor.getInt(cursor.getColumnIndex(MediaStore.MediaColumns._ID));mImageUri = Uri.withAppendedPath(mUri, "" + ringtoneID);break;}cursor.moveToNext();
}

2.直接从媒体数据库根据字段取出相应的记录,效率较高

//TYLT: add by duanyf 20121027 startString 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 valueindex = 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;}}}}//TYLT: add by duanyf 20121027 end

3.直接根据路径通过 ContentProvider 的 delete() 方法删除图片,两行代码搞定,效率最高

1 String params[] = new String[]{filepath};
2 ctx.getContentResolver().delete(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, MediaStore.Images.Media.DATA + " LIKE ?", params);

老马的技术博客 android系统通过图片绝对路径获取URI的三种方法相关推荐

  1. android系统通过图片绝对路径获取URI的三种方法

    老马的技术博客 android系统通过图片绝对路径获取URI的三种方法 最近做项目要通过图片的绝对路径找到图片的URI,然后删除图片,小小总结一下获取URI的方法,亲自试验在 android 4.1. ...

  2. android 缩略图uri_课题_android系统通过图片绝对路径获取URI的三种方法

    最近做项目要通过图片的绝对路径找到图片的 URI ,然后删除图片,小小总结一下获取 URI 的方法,亲自试 验在 android 4.1.3 的系统上都是可用的. 1. 将所有的图片路径取出,遍历比较 ...

  3. android stringbuilder清空,StringBuffer 清空StringBuffer的实例的三种方法

    @Test public void testStringbuffer(){ //StringBuffer类没有clear方法,不过可以通过下面两种方法来清空一个StringBuffer的实例: Str ...

  4. 如何用键盘打开设备管理器里计算机的属性,技巧:在Windows10系统中使用键盘打开设备管理器的三种方法...

    我们经常使用设备管理器来检查Windows10系统中的硬件是否已正确安装驱动程序. 那么,当鼠标无用时如何打开win10设备管理器?接下来,System City的编辑器将介绍三种方法,无需使用键盘即 ...

  5. ZT自老罗的博客 Android系统的智能指针(轻量级指针、强指针和弱指针)的实现原理分析...

    Android系统的智能指针(轻量级指针.强指针和弱指针)的实现原理分析 分类: Android 2011-09-23 00:59 31568人阅读 评论(42) 收藏 举报 androidclass ...

  6. 魅力网络技术博客图像处理正文 ps入门教程、ps修图基本工具使用方法视频教学...

    PS界面介绍 污点修复工具 污点修复工具.修复画笔工具.红眼工具 使用教学 移动工具 移动工具使用方法(大丽博客) 裁剪工具 裁剪工具使用方法(大丽) 矩形工具之圆角矩形工具 如图片修成圆角边(图文教 ...

  7. 查看基于Android 系统单个进程内存 CPU使用情况的几种方法

    首先给大家分享一个巨牛巨牛的人工智能教程,是我无意中发现的.教程不仅零基础,通俗易懂,而且非常风趣幽默,还时不时有内涵段子,像看小说一样,哈哈-我正在学习中,觉得太牛了,所以分享给大家!点这里可以跳转 ...

  8. Android获取屏幕截图的三种方法

    本着博客不重复造车的原则,只谈下自己思路总结,只是提纲具体实现自行Google(另外吐槽一下baidu的搜索机制太特么挫了,对于时间最新文档的权值太低) 1.DecorView获取当前应用的截图 通过 ...

  9. Android获取网络图片的三种方法

    在做项目中,获取网络数据是一件很常见的事情,各类数据在服务器端或直接print,或封以实体类扔进List转换为json,由客户端使用HttpClient的execute()方法接收,以完成数据交互的过 ...

最新文章

  1. java -jar 未响应_Java 方法性能监控和统计工具 MyPerf4J
  2. 【深度学习】深度神经网络框架的探索(从Regression说起)
  3. 天气预报开放API调用
  4. Pl/sql 如何将oracle的表数据导出成excel文件?
  5. [python] 常用正则表达式爬取网页信息及分析HTML标签总结
  6. Nginx综合介绍以及配置文件详解
  7. 【dfs】【链表】连通图 (ssl 1758)
  8. 前端学习(2838):swiper等比
  9. 鸿蒙系统发布IT直播,华为开源平台上线:鸿蒙系统、方舟编译器在列
  10. 计算机视觉论文-2021-06-14
  11. Servlet-ServletConfig对象
  12. 信息安全管理ISO27001
  13. PacBio English 经典语句
  14. 推荐16个超棒的国外免费PSD资源素材网站
  15. 8.2 知识蒸馏方法概述
  16. TIDB集群搭建-流水线
  17. oracle序列号查询最大值,Oracle sequence值到了最大值的处理
  18. A92怎么获取root,A92参数
  19. 肿瘤细胞膜包裹纳米颗粒|MIA-PaCa-2胰腺癌细胞膜纳米金颗粒|使用周期:6-12个月
  20. web安全:XSS测试平台使用教程

热门文章

  1. 如何让电脑运行速度变快
  2. Nginx HTTP 健康检查
  3. 如何看待网易强制取消所有用户魔兽世界游戏时间
  4. Redis--布隆过滤器--使用/原理/实例
  5. 香港证券监管机构要求交易所下架证券类代币
  6. 大学的计算机证书,大学必拿的几个证书是什么?
  7. [源码分析] Facebook如何训练超大模型 --- (3)
  8. Self Service Password部署
  9. mysql 安装插件 validate_password
  10. 手机号可以当邮箱使用吗?怎么申请注册手机号邮箱,登录入口在哪儿?