0
public class ImageDownloader extends AsyncTask<String, Void, Drawable> {
Context context;
ImageView image;
public ImageDownloader(ImageView image) {
this.image = image;
}
protected void onPreExecute() {
}
protected Drawable doInBackground(String... urls) {
InputStream is;
Drawable d = null ;
try {
is = (InputStream)new URL(urls[0]).getContent();
d = Drawable.createFromStream(is, "Image");
return d;
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return d;
}
protected void onPostExecute(Drawable d) {
if(d != null){
d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight());
image.setBackgroundDrawable(d);
}else{
image.setBackgroundDrawable(context.getResources().getDrawable(R.drawable.noimage));
Toast.makeText(context, "No image", Toast.LENGTH_LONG).show();
}
}
,因为它的工作在开始的时候,但是当我下载了很多的图像会崩溃。我看着我的LogCat,这是因为没有更多的分配。 我想做一个像Pulse News这样的应用程序,它可以显示图像,但不会每次都崩溃。我在冰淇淋三明治,以防万一。
http://stackoverflow.com/questions/2471935/how-to-load-an-imageview-by-url-in-android – 2012-02-25 12:28:55
但我不想下载图像只显示它们。 – Tsunaze 2012-02-25 12:34:46
如何在不首先下载图片的情况下显示图片?当你在网上查看一些图像时,隐含的事情是你必须先下载图像。这不仅是图像,而且是网络上的另一个内容。 – hqt 2012-02-25 12:40:11