我试图检索服务器上的图片。所以我试图用以下方法检索它:
static Bitmap downloadBitmap(String url) {
final AndroidHttpClient client = AndroidHttpClient.newInstance("Android");
final HttpGet getRequest = new HttpGet(url);
try {
HttpResponse response = client.execute(getRequest);
final int statusCode = response.getStatusLine().getStatusCode();
if (statusCode != HttpStatus.SC_OK) {
Log.w("ImageDownloader", "Error " + statusCode + " while retrieving bitmap from " + url);
return null;
}
final HttpEntity entity = response.getEntity();
if (entity != null) {
InputStream inputStream = null;
try {
inputStream = entity.getContent();
final Bitmap bitmap = BitmapFactory.decodeStream(inputStream);
return bitmap;
} finally {
if (inputStream != null) {
inputStream.close();
}
entity.consumeContent();
}
}
} catch (Exception e) {
// Could provide a more explicit error message for IOException or IllegalStateException
getRequest.abort();
} finally {
if (client != null) {
client.close();
}
}
return null;
}
然后在另一种方法中我有以下两行:
ImageView e = (ImageView) findViewById(R.id.img);
e.setImageBitmap(downloadBitmap(img_url(param1.img)));
和xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<!-- Name Label -->
<ImageView
android:id="@+id/img"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/picture">
</ImageView>
然而,图片没有显示,我没有收到任何错误。 谁能告诉我我做错了什么?
答案 0 :(得分:0)
我建议使用库'Universal Image Loader'来显示图像。
答案 1 :(得分:0)
我首先要在这个catch语句中添加一个日志语句:
} catch (Exception e) {
// Could provide a more explicit error message for IOException or IllegalStateException
getRequest.abort();
}
它可能会在那里抛出你不知道的另一个异常。