【问题标题】:Universal Image Loader not working通用图像加载器不工作
【发布时间】:2013-08-27 09:39:41
【问题描述】:
【问题讨论】:
标签:
android
universal-image-loader
【解决方案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" />
【解决方案2】:
如果您的许可是正确的。请检查您设备中的网络是否正常工作,这取决于您使用的连接 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);
}
【解决方案3】:
在你的清单文件中添加这两个权限
<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/
【解决方案4】:
添加到 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);