【问题标题】:Set Image to a ImageView from URL [duplicate]从 URL 将图像设置为 ImageView [重复]
【发布时间】:2014-03-27 08:30:53
【问题描述】:

我有 Imageview 和 Internet 上图片的链接。我像这样将这张图片设置为ImageView,

public ImageView iv;
iv = (ImageView) findViewById(R.id.imageView);
String img = "https://www.google.com/images/srpr/logo11w.png";
iv.setImageDrawable(Drawable.createFromPath(img));

我想要做的是从互联网上下载一张图片到我的 android 应用程序并将其应用到 ImageView。我想让它尽可能简单。

帮了我

String img_url= //url of the image
    URL url=new URL(img_url);
    Bitmap bmp; 
    bmp=BitmapFactory.decodeStream(url.openConnection().getInputStream());
    ImageView iv=(ImageView)findviewById(R.id.imageview);
    iv.setImageBitmap(bmp);

【问题讨论】:

标签: android imageview


【解决方案1】:

有很多库可以做到这一点,我最喜欢的是Picasso

这里是一个用法示例:

Picasso.with(context).load("http://i.imgur.com/DvpvklR.png").into(imageView);

试一试:)

【讨论】:

    【解决方案2】:

    This method 从文件路径名创建一个 Drawable。 Check这个答案。

    【讨论】:

    • 你应该添加一些 sn-ps 以防 url 不再可用。
    【解决方案3】:

    有很多可用的库,我建议使用一个库,因为它们有很多额外的选项可用。

    拍下Universal Image Loader

    特点

    • 多线程图像加载
    • 可以广泛调整 ImageLoader 的配置(线程执行器、下载器、解码器、内存和磁盘缓存、显示图像选项等)
    • 可以在内存和/或设备的文件系统(或 SD 卡)中缓存图像
    • “监听”加载过程的可能性
    • 可以使用单独的选项自定义每个显示图像调用 小部件支持
    • 可以在加载、错误等时显示自定义图像。

    您必须使用一次设置选项:

    DisplayImageOptions defaultOptions = new DisplayImageOptions.Builder()
                .cacheInMemory(true)
                .cacheOnDisc(true)
                .build();
    ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(getApplicationContext())
                .defaultDisplayImageOptions(defaultOptions)
                .build();
    ImageLoader.getInstance().init(config);
    

    然后,稍后您可以在代码中的任何位置使用它:

    ImageView iv = (ImageView) findViewById(R.id.imageView);
    String str = "http://google.com/img.jpg";
    
    ImageLoader.getInstance().displayImage(str, iv);
    

    当然,您还可以使用许多其他库,例如 picassoSmart Image ViewUrl Image View 等等。

    【讨论】:

    • 对代码进行了少量修改,这对我很有帮助。谢谢
    猜你喜欢
    • 2013-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-19
    • 1970-01-01
    • 2016-02-03
    • 2017-10-13
    相关资源
    最近更新 更多