如何Android的开放的我们转换成Java URI [英] How to convert Android Uri to 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屋!