我正在尝试使用Universal Image Loader,但我遇到了一个奇怪的问题。 我的应用程序无法加载图像。它记录了一个错误,即“无法解析主机”baodientu.chinhphu.vn“:没有与主机名关联的地址” 即使我尝试添加另一个示例代码(我从https://github.com/nostra13/Android-Universal-Image-Loader查看),它仍然没有显示。 但我在浏览器中尝试这个网址。它显示。 我的网址是http://baodientu.chinhphu.vn/uploaded_vgp/dangdinhnam/20130626/nguoi%20lao%20dong.jpg 请帮我找出原因。
答案 0 :(得分:0)
如果您的许可是正确的。检查您的设备中的网络是否正常工作取决于您使用的连接api(URLConnection || HttpURLConnection)。尝试使用以下代码
InputStream stream = null;
try {
URLConnection conn = new URL(url).openConnection();
if (conn instanceof HttpURLConnection){
try {
HttpURLConnection httpConn = (HttpURLConnection) conn;
httpConn.setAllowUserInteraction(false);
httpConn.setInstanceFollowRedirects(true);
httpConn.setRequestMethod("GET");
httpConn.connect();
response = httpConn.getResponseCode();
if (response == HttpURLConnection.HTTP_OK) {
stream = httpConn.getInputStream();
}
} catch (Exception ex) {
throw new IOException("Unable to create InputStream for image Url:");
}
}else{
conn.setDoInput(true);
conn.setDoOutput(true);
conn.connect();
stream = conn.getInputStream();
}
if (stream == null) {
Log.e(getClass().getName(), "Unable to create InputStream for image Url:" + url);
}
答案 1 :(得分:0)
在清单文件中添加这两个权限
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
您可以使用此代码加载图片
URL url = new URL("http://image10.bizrate-images.com/resize?sq=60&uid=2216744464");
Bitmap bmp = BitmapFactory.decodeStream(url.openConnection().getInputStream());
imageView.setImageBitmap(bmp);
您也可以参考此链接
www.androidhive.info/2012/07/android-loading-image-from-url-http /
答案 2 :(得分:0)
ImageLoader没有问题。它的服务器端出现问题。
服务器关闭或主机名可能有误,或者您无权授予Internet访问权限。
因此,请尝试向清单文件添加权限:
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
答案 3 :(得分:0)
添加到AndroidManifest.xml
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
添加到您的代码中。
ImageLoader imgLoader = ImageLoader.getInstance();
imgLoader.init(ImageLoaderConfiguration.createDefault(getApplicationContext()));
imgLoader.displayImage(YourImageURL.toString(), YourImageView);