Volley
を使用して2番目のネットワークリクエストを行った後、常にこのエラーが発生します。私が入力したURLが何であるかは問題ではないようです。 Volley
は常に不正な形式であると主張しています。
_08-04 20:16:26.885 14453-14470/com.thredup.Android E/Volley﹕ [994] NetworkDispatcher.run: Unhandled exception Java.lang.RuntimeException: Bad URL
Java.lang.RuntimeException: Bad URL
at com.Android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.Java:127)
at com.Android.volley.NetworkDispatcher.run(NetworkDispatcher.Java:110)
Caused by: Java.net.MalformedURLException: Protocol not found:
at Java.net.URL.<init>(URL.Java:176)
at Java.net.URL.<init>(URL.Java:125)
at com.Android.volley.toolbox.HurlStack.performRequest(HurlStack.Java:101)
at com.Android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.Java:93)
_
さらに調査して、HurlStackにいくつかのログを記録しました。に
_public HttpResponse performRequest(Request<?> request, Map<String, String> additionalHeaders),
_
失敗したリクエストは_REQUEST [ ] 0x0 LOW 26.
_です
したがって、HurlStackの101行目:URL parsedUrl = new URL(url);
空のURLで失敗します(request.getUrl()
は空です)。
私はOkHttpStack
(HurlStackの拡張)を使用しています。これを引き起こしている可能性があるものについてのアイデアはありますか?
実際には、ボレーではなくURLに問題があります。 URLはURIではありません。その中にプロトコルコンポーネントはありません。が必要だ http://
またはその他のプロトコル。 URLにhttpがある場合は、正しく形成されているかどうかを確認してください。
たとえば、URLの構成は次のようになります
public String URL = "http://www.w3schools.com/webservices/tempconvert.asmx";
RL仕様 を必ずお読みになり、提供するURLが有効であることを確認してください。
JsonObjectRequestまたはStringRequestの2番目のパラメーターとしてURLを渡したことを確認してください。私はあなたが直面したものと同じエラーを生成する同じ間違いをしました。
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Method.POST, URL, null, ResponseListener, ErrorListener);
Http:// OR https://を使用します
uRLの例のプレフィックス:example.com/information.json次のように記述 http://example.com/information.json