显示图像(从Url)在ImageView中
问题描述:
我正在使用此代码显示来自URL的图像。我的代码运行,它不会给出错误,但图像不显示。 有什么帮助吗?显示图像(从Url)在ImageView中
下面是代码:
public class MainActivity extends Activity {
ImageView i;
String imageUrl = "http://64.250.238.26:1111/clips/sunsetsofmauisplash.jpg";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
try {
i = (ImageView) findViewById(R.id.image);
Bitmap bitmap = BitmapFactory.decodeStream((InputStream) new URL(imageUrl).getContent());
i.setImageBitmap(bitmap);
} catch (MalformedURLException e) {
} catch (IOException e) {
}
}
}
答
尝试这种做法,日志代码会告诉你,如果有被抛出
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
try {
URL url = new URL(imageUrl);
HttpGet httpRequest = null;
httpRequest = new HttpGet(url.toURI());
HttpClient httpclient = new DefaultHttpClient();
HttpResponse response = (HttpResponse) httpclient.execute(httpRequest);
HttpEntity entity = response.getEntity();
BufferedHttpEntity b_entity = new BufferedHttpEntity(entity);
InputStream input = b_entity.getContent();
Bitmap bitmap = BitmapFactory.decodeStream(input);
ImageView i = (ImageView) findViewById(R.id.image);
i.setImageBitmap(bitmap);
} catch (MalformedURLException e) {
Log.e("log", "bad url", t);
} catch (IOException e) {
Log.e("log", "io error", t);
}
}
更新任何异常:
挖我发现后这Fix到正在被记录的解码器错误
感谢您的repl y – XXXXXX 2010-10-23 04:48:29
使用此代码我运行的应用程序,但图像不显示.. – XXXXXX 2010-10-23 04:49:13
我看到日志,它显示“请求时间失败java.net.SocketException:地址家庭不支持的协议” – XXXXXX 2010-10-23 04:51:52