首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java Uri.fromFile路径问题

Java Uri.fromFile路径问题
EN

Stack Overflow用户
提问于 2013-10-17 04:07:22
回答 3查看 3.2K关注 0票数 2

好了,我终于把问题归结到这个方法上了。

我有一个名为file的File对象,当我执行toString()时,它输出以下内容

代码语言:javascript
复制
/storage/emulated/0/Pictures/ecohelp/IMG_ecohelp_20131016_214242.jpg

现在,在将File对象插入到以下方法中之后

代码语言:javascript
复制
Uri uriFile = Uri.fromFile(file);

当我执行uriFile.toString()时,它输出以下内容

代码语言:javascript
复制
file:///storage/emulated/0/Pictures/ecohelp/IMG_ecohelp_20131016_214242.jpg

现在我试着去掉"/storage...“开头的/但是它仍然不能工作,有人知道为什么会这样吗?与其他文件一样,它应该是file://,但它会放入其中的三个文件。

我试着为图片模仿这个:http://developer.android.com/guide/topics/media/camera.html#saving-media

尝试保存文件时出现以下错误:

代码语言:javascript
复制
10-16 22:16:39.945: E/AndroidRuntime(32080): java.lang.RuntimeException: 
Failure delivering result ResultInfo{who=android:fragment:2, request=100, 
result=-1, data=null} to activity 
{com.example.ecohelp/com.example.ecohelp.MainActivity}: java.lang.NullPointerException
EN

回答 3

Stack Overflow用户

发布于 2013-10-17 04:20:39

这被认为是正确的行为,因为URI由以下元素组成:

file://

  • Path:/storage/emulated/0/Pictures/ecohelp/IMG_ecohelp_20131016_214242.jpg

  • 方案

所有文件URI通常都有3个斜杠,其中两个表示方案,一个表示路径应从文件系统(/)的根目录开始。

票数 0
EN

Stack Overflow用户

发布于 2013-10-17 04:21:38

我不认为这是因为file://.后面有额外的/字符实际上,API提到了一个示例,其中包含了files:/。

http://developer.android.com/reference/android/net/Uri.html#fromFile(java.io.File)

根据错误消息,似乎您没有正确地将数据传递到MainActivity。也许我们可以看到更多的代码?

票数 0
EN

Stack Overflow用户

发布于 2013-10-17 04:25:28

实际上,您收到的字符串是正确的URI。

简而言之,URI语法是这样的:

(方案)://(路径)

其中path可能包含更多的子字段(有关这些子字段的更完整的讨论,请查看http://en.wikipedia.org/wiki/URI_scheme#Generic_syntax )。

现在,对于“文件”方案,路径是相对本地路径还是绝对本地路径。在基于Unix的系统上,绝对路径将以斜杠开头。

所以你的字符串是完全正确的:

file:///storage/emulated/0/Pictures/ecohelp/IMG_ecohelp_20131016_214242.jpg

表示方案是" File ",路径是绝对本地文件:"/storage/emulated/0/Pictures/ecohelp/IMG_ecohelp_20131016_214242.jpg",,这是您放弃的File对象的正确位置。

至于您的NullPointerException,我不认为它与URI或文件相关。我对安卓开发了解不多,但我相信你应该有一个onActivityResult方法。会不会是你在某个变量上调用了一个方法,而没有先检查空值呢?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19412791

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档