如何Android的开放的我们转换成Java URI [英] How to convert Android Uri to Java URI

查看:82
本文介绍了如何Android的开放的我们转换成Java URI的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图找出如何在Android乌里转换为一个Java URI。我想要做的就是一个文件,但据我所知,我需要它传递一个Java URI。

下面是我的URI我试图转换:

 内容://媒体/外部/图像/媒体/ 100

和我正在试图获得的:

 文件媒体文件=新的文件(新的URI(android.net.Uri));

在哪里android.net.Uri是我的Uri对象

如果有不同的/更好的方式来获得这些内容的URI的java.io.File对象,我很开放的建议,因为我已经搜查甚广,没有运气这么远。<​​/ P>

解决方案

想通了,我是能够得到URI的真实文件路径,然后创建文件:

 开放的URI = Uri.parse(内容://媒体/外部/图像/媒体/ 47);的String [] =投影{MediaStore.Images.Media.DATA};
光标CUR = managedQuery(URI,投影,NULL,NULL,NULL);
cur.moveToFirst();
字符串路径= cur.getString(cur.getColumnIndex(MediaStore.Images.Media.DATA));媒体文件=新的文件(路径);

I'm trying to figure out how to convert an Android Uri to a Java URI. What I'm trying to do is get a File, but as far as I can tell, I need to pass it a Java URI.

Here's my Uri that I'm attempting to convert:

content://media/external/images/media/100

And what I'm attempting to get at:

File mediaFile = new File(new URI("android.net.Uri"));

Where "android.net.Uri" is my Uri object

If there is a different/better way to get a java.io.File object from this content Uri, I'm open to suggestions as I've searched far and wide with no luck so far.

解决方案

Got it figured out, I was able to get the real filepath of the Uri and then create the File:

Uri uri = Uri.parse("content://media/external/images/media/47");

String[] projection = { MediaStore.Images.Media.DATA };
Cursor cur = managedQuery(uri, projection, null, null, null);
cur.moveToFirst();
String path = cur.getString(cur.getColumnIndex(MediaStore.Images.Media.DATA));

mediaFile = new File(path);

这篇关于如何Android的开放的我们转换成Java URI的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆