首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用URI从web获取图像

使用URI从web获取图像
EN

Stack Overflow用户
提问于 2011-06-23 20:07:52
回答 4查看 10.8K关注 0票数 3

这段代码出了什么问题。它不会给出错误,但看不到任何图像

代码语言:javascript
运行
复制
ImageView a= (ImageView) findViewById(R.id.imageView1);

String imageBaseDirectory = "www.dha.com.tr/newpics/news/";
String imageName = "230620111356175716857.jpg";
a.setImageURI(Uri.parse(imageBaseDirectory+imageName)); 
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-06-23 20:22:11

首先,您应该在URI的开头添加http://

代码语言:javascript
运行
复制
Uri uri = Uri.parse("http://www.dha.com.tr/newpics/news/230620111356175716857.jpg");

ImageView不支持从远程位置加载图像。仅本地文件系统上的资源或文件。在您的情况下,应该会在LogCat中看到警告

代码语言:javascript
运行
复制
06-23 15:19:52.487: WARN/System.err(27097): java.io.FileNotFoundException: /http:/www.dha.com.tr/newpics/news/230620111356175716857.jpg (No such file or directory)
06-23 15:19:52.503: WARN/System.err(27097):     at org.apache.harmony.luni.platform.OSFileSystem.openImpl(Native Method)
06-23 15:19:52.503: WARN/System.err(27097):     at org.apache.harmony.luni.platform.OSFileSystem.open(OSFileSystem.java:152)
06-23 15:19:52.503: WARN/System.err(27097):     at java.io.FileInputStream.<init>(FileInputStream.java:82)
06-23 15:19:52.503: WARN/System.err(27097):     at java.io.FileInputStream.<init>(FileInputStream.java:134)
06-23 15:19:52.503: WARN/System.err(27097):     at android.graphics.BitmapFactory.decodeFile(BitmapFactory.java:349)
06-23 15:19:52.503: WARN/System.err(27097):     at android.graphics.BitmapFactory.decodeFile(BitmapFactory.java:399)
06-23 15:19:52.503: WARN/System.err(27097):     at android.graphics.drawable.Drawable.createFromPath(Drawable.java:801)
06-23 15:19:52.503: WARN/System.err(27097):     at android.widget.ImageView.resolveUri(ImageView.java:516)
06-23 15:19:52.503: WARN/System.err(27097):     at android.widget.ImageView.setImageURI(ImageView.java:293)
...
06-23 15:19:52.503: WARN/System.err(27097):     at dalvik.system.NativeStart.main(Native Method)
06-23 15:19:52.503: INFO/System.out(27097): resolveUri failed on bad bitmap uri: http://www.dha.com.tr/newpics/news/230620111356175716857.jpg

您应该自己下载镜像,然后指定setImageURI的本地路径。

票数 5
EN

Stack Overflow用户

发布于 2011-06-23 20:16:55

尝试使用

代码语言:javascript
运行
复制
a.setImageBitmap(BitmapFactory.decodeStream(new URL(imageBaseDirectory+imageName).openConnection().getInputStream()));

正如Android documentation中所建议的。

票数 3
EN

Stack Overflow用户

发布于 2011-06-23 20:16:07

您应该在这里发布Logcat输出,以便我们可以了解可能存在的问题。

但是,您可能仍会忘记在AndroidManifest.xml中添加互联网权限:

代码语言:javascript
运行
复制
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6453726

复制
相关文章

相似问题

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