从Url获​​取图像时出现问题

时间:2012-08-21 13:18:30

标签: android

我正在尝试将Url中的图像转换为ImageView。我整天都在搜索它,我尝试了很多不同的解决方案,但它们都不适用于我......图像没有加载。这是我的代码:

  String imageUrl = "http://www.photo-flash-maker.com/img/file_formats/jpg_file.jpg";

   iv.setImageDrawable(getImage(imageUrl));

 //...

  public static Drawable getImage(String url) {
    try {
        InputStream is = (InputStream) new URL(url).getContent();
        Drawable d = Drawable.createFromStream(is, "src");
        return d;
    } catch (Exception e) {
        return null;
    }
}

我在这里找到了它:How to display image from URL on Android因为这似乎是最简单的解决方案,但图像根本没有加载。任何解决方案?

5 个答案:

答案 0 :(得分:1)

您可以使用BitmapFactory

Bitmap bitmap;
try {
    bitmap = BitmapFactory.decodeStream(new URL(imageUrl).openConnection().getInputStream());
    Log.i("image", "retrieved");
} catch (Exception ex) {
    ex.printStackTrace();
}

答案 1 :(得分:1)

您是否已在manifest.xml文件中设置权限以允许您的应用程序从Internet加载图像?

<manifest xlmns:android...>  
    ...  
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
</manifest> 

另请尝试以下链接:http://android-er.blogspot.co.uk/2010/06/load-imageview-with-bitmap-from.html

包含imageview所需的所有xml更改

答案 2 :(得分:0)

我认为你会得到你所需要的here

答案 3 :(得分:0)

我认为最好的解决方案是zapi在评论中提出的建议:

  

不要在UI线程上下载。你的应用程序将是ANR。使用/写一些像github.com/nostra13/Android-Universal-Image-Loader

然而,A.A和RossC的其他解决方案也可能有效。

答案 4 :(得分:0)

您是否尝试过添加权限写入外部存储空间  机器人:名称= “android.permission.WRITE_EXTERNAL_STORAGE”

试试这两个我不确定它是否会有所帮助