全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

android图片文件的路径地址与Uri的相互转换方法

一个android文件的Uri地址一般如下:

content://media/external/images/media/62026

这是一张图片的Uri,那么我们如何根据这个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[] { 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和文件路径互相转换的实例代码  # android实现Uri获取真实路径转换成File的方法  # Android7.0以上Uri转路径的方法实现(已验证)  # 给大家  # 这是  # 希望能  # 这篇  # 文件系统  # 小编  # 大家多多  # 如何获得  # 有一个  # 其实很简单  # 又该  # String  # context  # getRealFilePath  # final 


相关文章: javascript中对象的定义、使用以及对象和原型链操作小结  香港服务器WordPress建站指南:SEO优化与高效部署策略  魔毅自助建站系统:模板定制与SEO优化一键生成指南  建站之星导航菜单设置与功能模块配置全攻略  高端智能建站公司优选:品牌定制与SEO优化一站式服务  微信小程序制作网站有哪些,微信小程序需要做网站吗?  制作销售网站教学视频,销售网站有哪些?  Swift开发中switch语句值绑定模式  如何用虚拟主机快速搭建网站?详细步骤解析  导航网站建站方案与优化指南:一站式高效搭建技巧解析  公司网站制作需要多少钱,找人做公司网站需要多少钱?  大学网站设计制作软件有哪些,如何将网站制作成自己app?  广平建站公司哪家专业可靠?如何选择?  建站之星上传入口如何快速找到?  官网自助建站平台指南:在线制作、快速建站与模板选择全解析  广州网站建站公司选择指南:建站流程与SEO优化关键词解析  如何获取免费开源的自助建站系统源码?  如何用西部建站助手快速创建专业网站?  建站主机数据库如何配置才能提升网站性能?  浙江网站制作公司有哪些,浙江栢塑信息技术有限公司定制网站做的怎么样?  济南企业网站制作公司,济南社保单位网上缴费步骤?  如何通过西部建站助手安装IIS服务器?  如何快速完成中国万网建站详细流程?  如何通过虚拟主机快速完成网站搭建?  高端建站如何打造兼具美学与转化的品牌官网?  江苏网站制作公司有哪些,江苏书法考级官方网站?  如何快速搭建支持数据库操作的智能建站平台?  深入理解Android中的xmlns:tools属性  如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?  弹幕视频网站制作教程下载,弹幕视频网站是什么意思?  ,制作一个手机app网站要多少钱?  C++时间戳转换成日期时间的步骤和示例代码  建站主机服务器选型指南与性能优化方案解析  网页制作模板网站推荐,网页设计海报之类的素材哪里好?  建站主机解析:虚拟主机配置与服务器选择指南  如何选择高效稳定的ISP建站解决方案?  胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?  Swift中循环语句中的转移语句 break 和 continue  想学网站制作怎么学,建立一个网站要花费多少?  小程序网站制作需要准备什么资料,如何制作小程序?  如何选择美橙互联多站合一建站方案?  建站之星代理如何优化在线客服效率?  TestNG的testng.xml配置文件怎么写  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  重庆网站制作公司哪家好,重庆中考招生办官方网站?  建站三合一如何选?哪家性价比更高?  如何在万网ECS上快速搭建专属网站?  攀枝花网站建设,攀枝花营业执照网上怎么年审?  建站之星如何助力网站排名飙升?揭秘高效技巧  为什么Go需要go mod文件_Go go mod文件作用说明 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。