使用 URI 从网络获取图像

igd*_*de_ 3 android

这段代码有什么问题。它没有给出错误,但看不到图像

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)); 
Run Code Online (Sandbox Code Playgroud)

ina*_*ruk 5

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

Uri uri = Uri.parse("http://www.dha.com.tr/newpics/news/230620111356175716857.jpg");
Run Code Online (Sandbox Code Playgroud)

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

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
Run Code Online (Sandbox Code Playgroud)

您应该自己下载图像,然后为setImageURI.