2

我正在尝试使用 Universal Image Loader,但我遇到了一个奇怪的问题。我的应用程序无法加载图像。它记录了一个错误,即“无法解析主机“baodientu.chinhphu.vn”:没有与主机名关联的地址”即使我尝试添加另一个示例代码(我从https://github.com/nostra13/Android-Universal签出-Image-Loader),它仍然没有显示。但我在浏览器中尝试了这个 url。它被显示。我的网址是http://baodientu.chinhphu.vn/uploaded_vgp/dangdinhnam/20130626/nguoi%20lao%20dong.jpg 请帮我找出原因。

4

4 回答 4

1

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" />
于 2013-08-27T10:11:17.447 回答
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/

于 2013-08-27T10:02:54.043 回答
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);
于 2014-01-17T09:24:44.123 回答
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);
        }
于 2013-08-27T09:57:42.923 回答