私はImageLoaderを使用してインターネットから画像を読み込みます。しかし、私はエラーメッセージが表示されました "E ImageLoaderは:タイムアウトして接続する"、トレースは次のとおりです。ImageLoader:connect timed out
5月29日16:39:02.994 9988 10417 E ImageLoaderは:39:05から29 16をタイムアウトして接続02.994 9988 10417 E ImageLoader: java.net.SocketTimeoutException:connect timed out 05-29 16:39:02.994 9988 10417 E ImageLoader: java.net.PlainSocketImpl.socketConnect(ネイティブメソッド)05-29 16:39:02.994 9988 10417 E ImageLoader: java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:334) 05-29 16:39:02.994 9988 10417 E ImageLoader: java.net.AbstractPlainSocketImpl.connectToAddress(Abstrac (AbstractPlainSocketImpl.java:178) 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: java.net.SocksSocketImpl.connect(SocksSocketImpl.java:356)05-29 16:39:02.994 9988 10417 E ImageLoader: java.net.Socket.connect(Socket.java:605)05-29 16 :39:02.994 9988 10417 E ImageLoader: com.android.okhttp.internal.Platform.connectSocket(Platform.java:113) 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: com.android.okhttp.Connection.connect(Connection.java:172)05-29 16:39:02.994 9988 10417 E ImageLoader: com.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: com。 android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:330) 05-29 16:39:02.994 9988 10417 E ImageLoader: com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine。 java:247) 05-29 16:39:02.994 9988 10417 E ImageLoader: com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnect ionImpl.java:480) 05-29 16:39:02.994 9988 10417 E ImageLoader: com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:428) 05-29 16:39: 02.994 9988 10417 E ImageLoader:39:02.994 9988 10417 E ImageLoader: com.android.okhttpでcom.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:544) 5月29日16時。 internal.huc.DelegatingHttpsURLConnection.getResponseCode(DelegatingHttpsURLConnection.java:105) 5月29日16:39:02.994 9988 10417 E ImageLoader: com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java) 05で-29 16:39:02.994 9988 10417 E ImageLoader: com.no stra13.universalimageloader.core.download.BaseImageDownloader.getStreamFromNetwork(BaseImageDownloader.java:117) 5月29日16:39:02.994 9988 10417 E ImageLoader: com.nostra13.universalimageloader.core.download.BaseImageDownloader.getStream(BaseImageDownloaderました。 java:88) 05-29 16:39:02.994 9988 10417 E ImageLoader: com.nostra13.universalimageloader.core.decode.BaseImageDecoder.getImageStream(BaseImageDecoder.java:98) 05-29 16:39:02.994 9988 10417 E ImageLoader: com.nostra13.universalimageloader.core.decode.BaseImageDecoder.decode(BaseImageDecoder.java:74) 05-29 16:39:02。994 9988 10417 E ImageLoaderと com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.decodeImage(LoadAndDisplayImageTask.java:265) 5月29日16:39:02.994 9988 10417 E ImageLoaderと com.nostra13.universalimageloader.core。 LoadAndDisplayImageTask.tryLoadBitmap(LoadAndDisplayImageTask.java:238) 5月29日16:39:02.994 9988 10417 E ImageLoaderと com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.run(LoadAndDisplayImageTask.java:136) 5月29日16: 39:02.994 9988 10417 E ImageLoaderと java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 5月29日16:39:02.994 9988 10417 E ImageLoaderと $ java.util.concurrent.ThreadPoolExecutor Worker.run(ThreadPoolExecutor.java:607) 5月29日16:39:02.994 9988 10417 E ImageLoaderと java.lang.Thread.run(Thread.java:761)5月29日16:39:02.995 9988 9988 D TweetAdapter:onLoadingFailedタイプ 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) {
}
});
私は、このような「https://lh6.googleusercontent.com/-55osAWw3x0Q/URquUtcFr5I/AAAAAAAAAbs/rWlj1RUKrYI/s1024/A%252520Photographer.jpg」として、別のURLを試してみたが、同じエラーが再び発生します。私を助けることができる
?
は、インターネット接続がテストしているデバイスで動作している場合は、チェックを持っているか、使用している行うことができますか?エミュレータ?あなたがインターネットに接続できるようにAndroidアプリケーションのマニフェストファイルに 必要な権限を追加しましたか? – Deshan
はい、ネットワークが正常に動作しますが、私は実際のデバイスを使用していた、と別のビットマップが正常にAsyncTaskを使ってダウンロードされています。私はマニフェストでINTERNET権限を追加しました。 <使用許可アンドロイド:名= "android.permission.INTERNETあなた" /> <使用許可アンドロイド:名=「android.permission: は<名前= "android.permission.INTERNETあなた" /アンドロイド許可使用>を。 READ_EXTERNAL_STORAGE "/> <用途許可アンドロイド:名=" android.permission.MOUNT_UNMOUNT_FILESYSTEMS「/> – Leon
私は理由を見つけました。私の携帯電話は、国際的なインターネットの許可を必要とするこれらの2つのURLにアクセスすることはできませんが、私のコンピュータが行うことができます。聞いて喜ん – Leon