android中关于android.net.Uri的问题

来源:互联网 发布:翻页相册制作软件 编辑:程序博客网 时间:2024/05/02 03:03

背景:今天裁剪图片的时候给方法传入Uri对象,起初写法为:crop(Uri.parse(CameraPhoto.getPhotoPath()));  

突然发现一直提示不能加载该图片

纠结半天,突然发现原因所在,我对Uri的两个方法理解错误,一直以为Uri.parse(String str)只要传入一个文件路径就可以得到该文件的Uri。

仔细一看该方法说明是这样说的:Creates a Uri which parses the given encoded URI string。


这就是我的平时的不细心研究造成的。

1.URI构成:访问资源命名机制,主机名(可以理解为路径),资源自身名称

如:content://media/extenal/image/5.jpg

content://为命名机制,我不太准确的成为协议头吧,

media/extenal/image/为路径

5.jpg为图片名称

我只是吧文件路径传入到Uri.parse中,Uri.parse怎么知道我的协议头是什么呢,所以仅仅传入了文件路径是不行的。

后来改正为:crop(Uri.fromFile(new File(_data))); 或者 crop(Uri.parse("file://"+CameraPhoto.getPhotoPath())); 解决问题


0 0
原创粉丝点击