我正在使用ImageLoader从互联网上加载图像。但是我收到了错误消息"E ImageLoader: connect“,跟踪如下:
05-29 16:39:02.994 9988 10417 E ImageLoader:连接超时05-29 16:39:02.994 9988 10417 E ImageLoader: java.net.SocketTimeoutException: connect超时05-29 16:39:02.994 9988 10417 E ImageLoader: at java.net.PlainSocketImpl.socketConnect(原生方法) 05-29 16:39:02.994 9988 10417 E ImageLoader: at java.net.PlainSocketImpl.socketConnect 05-29 16:39:02.994 9988 10417E java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:196) 05-29 16:39:02.994 9988 10417 E ImageLoader: at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:178) 05-29 16:39:02.994 9988 10417 E ImageLoader: at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:356) 05-29 16:39:02.994 9988 10417 E ImageLoader: at java.net.Socket.connect(Socket.java:605) 05-29 16:39:02.994 9988 10417 E com.android.okhttp.internal.Platform.connectSocket(Platform.java:113):at com.android.okhttp.Connection.connect(Connection.java:172) 05-29 16:39:02.994 9988 10417 E ImageLoader: at com.android.okhttp.Connection.connectSocket(Connection.java:196) 05-29 16:39:02.994 9988 10417 E ImageLoader: at com.android.okhttp.Connection.connect(Connection.java:172) 05-29 16:39:02.994 9988 10417 Ecom.android.okhttp.Connection.connectAndSetOwner(Connection.java:367) 05-29 16:39:02.994 9988 10417 E ImageLoader: com.android.okhttp.OkHttpClient$1.connectAndSetOwner(OkHttpClient.java:130) 05-29 16:39:02.994 9988 10417 E ImageLoader: at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:330) 05-29 16:39:02.994 9988 10417 E ImageLoader: at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:247) 05-29 16:39:02.994 9988 10417 E ImageLoader: at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:480) 05-29 16:39:02.994 9988 10417 E ImageLoader: at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:428) 05-29 16:39:02.994 9988 10417 E ImageLoader: at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:544) 05-29 16:39:02.994 9988 10417 E ImageLoader: at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getResponseCode(DelegatingHttpsURLConnection.java:105) 05-29 16:39:02.994 9988 10417 E ImageLoader: at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java) 05-29 16:39:02.994 9988 10417 E ImageLoader: at com.nostra13.universalimageloader.core.download.BaseImageDownloader.getStreamFromNetwork(10417 E com.nostra13.universalimageloader.core.download.BaseImageDownloader.getStream(BaseImageDownloader.java:88):at com.nostra13.universalimageloader.core.decode.BaseImageDecoder.getImageStream(BaseImageDecoder.java:98) 05-29 16:39:02.994 9988 10417 E ImageLoader: at com.nostra13.universalimageloader.core.decode.BaseImageDecoder.getImageStream(BaseImageDecoder.java:98) 05-29 16:39:02.994 9988 10417 E ImageLoader: at com.nostra13.universalimageloader.core.decode.BaseImageDecoder.decode(BaseImageDecoder.java(74) 05-29 16:39:02.994 9988 10417 E com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.decodeImage(LoadAndDisplayImageTask.java:265):at com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.run(LoadAndDisplayImageTask.java:136) 05-29 16:39:02.994 9988 10417 E ImageLoader: at com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.tryLoadBitmap(LoadAndDisplayImageTask.java:238) 05-29 16:39:02.994 9988 10417 E ImageLoader: at com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.run(LoadAndDisplayImageTask.java:136) 05-29 16:10417 E java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133):at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 05-29 16:39:02.994 9988 10417 E ImageLoader: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 05-29 16:39:02.994 9988 10417 E ImageLoader: at java.lang.Thread.run(Thread.java:761) 05-29 16:39:02.995 9988 9988 D TweetAdapter: onLoadingFailed,uri是https://lh6.googleusercontent.com/-55osAWw3x0Q/URquUtcFr5I/AAAAAAAAAbs/rWlj1RUKrYI/s1024/A%252520Photographer.jpg,failReason IO_ERROR
这是我的代码:
private DisplayImageOptions mOptions;
mOptions = new DisplayImageOptions.Builder()
.showImageForEmptyUri(R.mipmap.ic_launcher)
.showImageOnFail(R.mipmap.ic_launcher)
.cacheInMemory(true)
.cacheOnDisk(true)
.build();
mConfig = new ImageLoaderConfiguration.Builder(context)
.defaultDisplayImageOptions(mOptions)
.discCacheSize(50 * 1024 * 1024)
.discCacheFileCount(100)
.writeDebugLogs().build();
ImageLoader.getInstance().init(mConfig);ViewHolder的定义是:
private static class ViewHolder {
ImageView imageButtonSender;
TextView textViewSenderUserName;
TextView textViewSenderContent;
FrameLayout frameLayoutImages;
LinearLayout linearLayoutCommentContent;
}在我的适配器的函数"getView“中,我调用这个函数:
ImageLoader.getInstance().loadImage("https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcQW0S4wK02z4QilNvGE9YFtoJDJtbTsoZavc3INxbD9ZvdRgfxy",
new ImageLoadingListener() {
@Override
public void onLoadingStarted(String imageUri, View view) {
}
@Override
public void onLoadingFailed(String imageUri, View view, FailReason failReason) {
Log.d(TAG, "onLoadingFailed, uri is " + imageUri + ", failReason " + failReason.getType());
}
@Override
public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
Log.d(TAG, "onLoadingComplete imageUri " + imageUri);
holder.imageButtonSender.setImageBitmap(loadedImage);
}
@Override
public void onLoadingCancelled(String imageUri, View view) {
}
});我尝试了另一个URL,例如"https://lh6.googleusercontent.com/-55osAWw3x0Q/URquUtcFr5I/AAAAAAAAAbs/rWlj1RUKrYI/s1024/A%252520Photographer.jpg",但是同样的错误再次发生。
谁能帮我?
发布于 2017-11-17 01:23:51
解决方案:我的手机不能访问这两个需要国际互联网许可的网址,但我的电脑可以访问。
https://stackoverflow.com/questions/47310495
复制相似问题