如何在Android中经过URL加载ImageView? [关闭]

如何在ImageView使用URL引用的ImageViewjava


#1楼

一种简单而干净的方法是使用开源库Primeandroid


#2楼

若是您是经过单击按钮加载图像的,则上面接受的答案很好,可是,若是您在新活动中进行图像加载,则会冻结UI一两秒钟。 环顾四周,我发现一个简单的asynctask消除了这个问题。 git

要使用asynctask,请在活动结束时添加此类: github

private class DownloadImageTask extends AsyncTask<String, Void, Bitmap> {
    ImageView bmImage;

    public DownloadImageTask(ImageView bmImage) {
        this.bmImage = bmImage;
    }

    protected Bitmap doInBackground(String... urls) {
        String urldisplay = urls[0];
        Bitmap mIcon11 = null;
        try {
            InputStream in = new java.net.URL(urldisplay).openStream();
            mIcon11 = BitmapFactory.decodeStream(in);
        } catch (Exception e) {
            Log.e("Error", e.getMessage());
            e.printStackTrace();
        }
        return mIcon11;
    }

    protected void onPostExecute(Bitmap result) {
        bmImage.setImageBitmap(result);
    }    
}

并使用如下方法从onCreate()方法进行调用: 网络

new DownloadImageTask((ImageView) findViewById(R.id.imageView1))
        .execute(MY_URL_STRING);

结果是快速加载的活动和一个图像视图,该图像视图稍后根据用户的网络速度显示一秒钟。 async


#3楼

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);

#4楼

此代码已通过测试,能够彻底正常工做。 oop

URL req = new URL(
"http://java.sogeti.nl/JavaBlog/wp-content/uploads/2009/04/android_icon_256.png"
);
Bitmap mIcon_val = BitmapFactory.decodeStream(req.openConnection()
                  .getInputStream());

#5楼

这里有不少很好的信息...我最近发现了一个名为SmartImageView的类,到目前为止彷佛工做得很是好。 很是容易合并和使用。 测试

http://loopj.com/android-smart-image-view/ this

https://github.com/loopj/android-smart-image-view url

更新 :我最终写了一篇有关此博客文章 ,所以请查看它以获取有关使用SmartImageView的帮助。

第二次更新 :我如今老是为此使用Picasso(请参见上文),并强烈推荐它。 :)

相关文章
相关标签/搜索