Universal Image Loader无法正常工作

时间:2013-08-27 09:39:42

标签: android universal-image-loader

我正在尝试使用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 请帮我找出原因。

4 个答案:

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