QA@IT

Volleyを使用したネットワークエラー時にURLを取得したい。

5671 PV

AndroidでVolleyを使用して通信を行おうとしています。
エラーが発生したとき、URLをデバッグログとして出力したいと考えています。
以下のようなソースコードを書いています。

        // 通信開始
        mQueue = Volley.newRequestQueue(this, sampleHurlStack);
        mQueue.add(new JsonObjectRequest(Method.GET, url, null,
               new Listener<JSONObject>()
                {
                    @Override
                    public void onResponse(JSONObject response)
                    {
                        //成功時の処理

                    }
                },
                new Response.ErrorListener()
                {
                    @Override
                    public void onErrorResponse(VolleyError error)
                    {
                        //エラー時の処理
                    }

                }

この、onErrorResponseで、アクセスしようとしたURLを取得するにはどうしたら良いのでしょうか?
引数のerrorオブジェクトにはURLのような情報が入っていないように思えます。
どなたか良い方法がありましたら教えて下さい。

回答

Volleyのクラスの仕様を知らないのはっきりとはわかりませんが、もしログに出したいURLが変数urlに入っているものでよいなら、変数urlをfinalとすればonErrorResponseで直接参照できると思います。

   final String url = ...; // <--- このfinal変数を
   mQueue.add(new JsonObjectRequest(Method.GET, url, null,
                ...
                new Response.ErrorListener() {
                  @Override
                  public void onErrorResponse(VolleyError error) {
                    log("error url = " + url); // <--- ここで参照できる
                  }
                });

勘違いだったらごめんなさい。

編集 履歴 (0)
ウォッチ

この質問への回答やコメントをメールでお知らせします。