こんにちは私はBigQueryを統合したAndroidアプリに取り組んでいます。BigQueryテーブルにレコードを挿入しているときに、多くの例外が発生することがあります。これに関する専門知識はありませんが、学び始めました。この新しいテクノロジー。皆さんがこれについて私を助けてくれるといいですね。
Java.net.UnknownHostException: Unable to resolve Host "accounts.google.com": No address associated with hostname
at Java.net.InetAddress.lookupHostByName(InetAddress.Java:424)
at Java.net.InetAddress.getAllByNameImpl(InetAddress.Java:236)
at Java.net.InetAddress.getAllByName(InetAddress.Java:214)
at com.Android.okhttp.internal.Dns$1.getAllByName(Dns.Java:28)
at com.Android.okhttp.internal.http.RouteSelector.resetNextInetSocketAddress(RouteSelector.Java:216)
at com.Android.okhttp.internal.http.RouteSelector.next(RouteSelector.Java:122)
at com.Android.okhttp.internal.http.HttpEngine.connect(HttpEngine.Java:292)
at com.Android.okhttp.internal.http.HttpEngine.sendSocketRequest(HttpEngine.Java:255)
at com.Android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.Java:206)
at com.Android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.Java:345)
at com.Android.okhttp.internal.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.Java:89)
at com.Android.okhttp.internal.http.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.Java:197)
at com.Android.okhttp.internal.http.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.Java:254)
at com.google.a.a.c.a.c.a(NetHttpRequest.Java:77)
at com.google.a.a.c.r.p(HttpRequest.Java:972)
at com.google.a.a.a.a.h.a(TokenRequest.Java:307)
at com.google.a.a.b.a.a.b.f(GoogleCredential.Java:384)
at com.google.a.a.a.a.c.h(Credential.Java:489)
at com.google.a.a.a.a.c.a(Credential.Java:217)
at com.google.a.a.c.r.p(HttpRequest.Java:859)
at com.google.a.a.b.d.c.c(AbstractGoogleClientRequest.Java:469)
at com.test.utils.c.c(CommonUtility.Java:2730)
at com.test.services.AppInstallIntentService.onHandleIntent(AppInstallIntentService.Java:71)
at Android.app.IntentService$ServiceHandler.handleMessage(IntentService.Java:65)
at Android.os.Handler.dispatchMessage(Handler.Java:102)
at Android.os.Looper.loop(Looper.Java:136)
at Android.os.HandlerThread.run(HandlerThread.Java:61)
Caused by: libcore.io.GaiException: getaddrinfo failed: EAI_NODATA (No address associated with hostname)
at libcore.io.Posix.getaddrinfo(Posix.Java)
at libcore.io.ForwardingOs.getaddrinfo(ForwardingOs.Java:61)
at Java.net.InetAddress.lookupHostByName(InetAddress.Java:405)
at Java.net.InetAddress.getAllByNameImpl(InetAddress.Java:236)
at Java.net.InetAddress.getAllByName(InetAddress.Java:214)
at com.Android.okhttp.internal.Dns$1.getAllByName(Dns.Java:28)
at com.Android.okhttp.internal.http.RouteSelector.resetNextInetSocketAddress(RouteSelector.Java:216)
at com.Android.okhttp.internal.http.RouteSelector.next(RouteSelector.Java:122)
at com.Android.okhttp.internal.http.HttpEngine.connect(HttpEngine.Java:292)
at com.Android.okhttp.internal.http.HttpEngine.sendSocketRequest(HttpEngine.Java:255)
at com.Android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.Java:206)
at com.Android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.Java:345)
at com.Android.okhttp.internal.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.Java:89)
at com.Android.okhttp.internal.http.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.Java:197)
at com.Android.okhttp.internal.http.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.Java:254)
at com.google.a.a.c.a.c.a(NetHttpRequest.Java:77)
at com.google.a.a.c.r.p(HttpRequest.Java:972)
at com.google.a.a.a.a.h.a(TokenRequest.Java:307)
at com.google.a.a.b.a.a.b.f(GoogleCredential.Java:384)
at com.google.a.a.a.a.c.h(Credential.Java:489)
at com.google.a.a.a.a.c.a(Credential.Java:217)
at com.google.a.a.c.r.p(HttpRequest.Java:859)
at com.google.a.a.b.d.c.c(AbstractGoogleClientRequest.Java:469)
at com.test.utils.c.c(CommonUtility.Java:2730)
at com.test.services.AppInstallIntentService.onHandleIntent(AppInstallIntentService.Java:71)
at Android.app.IntentService$ServiceHandler.handleMessage(IntentService.Java:65)
at Android.os.Handler.dispatchMessage(Handler.Java:102)
at Android.os.Looper.loop(Looper.Java:136)
at Android.os.HandlerThread.run(HandlerThread.Java:61)
この例外は、ホストのIPアドレスを特定できなかったことを示すためにスローされます。
この例外は、有効なWi-Fiに接続しているが、ルーターがインターネットを受信しない場合にも発生します。これを再現するのは非常に簡単です。
有効なwifiに接続するルーターが接続されている間に、ルーターからケーブルを取り外します
このエラーが発生します!!
これを実際に解決することはできません。ユーザーに通知できるのは適切な方法だけです。 (-「接続できません」のようなもの)
また、AndroidManifest.xml
に権限を追加したことを確認してください。
<uses-permission Android:name="Android.permission.INTERNET" />
[〜#〜] internet [〜#〜] 権限をマニフェストファイルに追加しましたか。
そうでない場合は、AndroidManifest.xml
のアプリケーションタグの外側に以下の行を追加します。
<uses-permission Android:name="Android.permission.INTERNET" />