2017-04-09 9 views
0

を使用してデータを取得中:.NullPointerException私はボレーでデータを取得しようとしていますが、私はこのエラーを取得しておくボレー

を。これは、このリンクにアクセスされた私のJSONファイル「ですhttp:/192.168.1.4/pim/ 192.168.1.4は私のローカルIPアドレス

{ 
"Bus": [ 
    { 
     "id_bus": "3", 
     "name_bus": "51A", 
     "terminusDepart": "Ennasr1", 
     "terminus_arrivee": "TGM" 
    }, 
    { 
     "id_bus": "4", 
     "name_bus": "51A", 
     "terminusDepart": "Ennasr2", 
     "terminus_arrivee": "tunis" 
    } 
], 
"success": 1 
} 

私は取得していますエラーですget_all_bus.phpは」私が使用しています。この

04-09 14:40:00.589 5256-5256/info.androidhive.volleyexamples E/AndroidRuntime: FATAL EXCEPTION: main 
                      Process: info.androidhive.volleyexamples, PID: 5256 
                      java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.hashCode()' on a null object reference 
                       at com.android.volley.Request.<init>(Request.java:136) 
                       at com.android.volley.toolbox.JsonRequest.<init>(JsonRequest.java:58) 
                       at com.android.volley.toolbox.JsonArrayRequest.<init>(JsonArrayRequest.java:42) 
                       at info.androidhive.volleyexamples.JsonRequestActivity.makeJsonArryReq(JsonRequestActivity.java:111) 
                       at info.androidhive.volleyexamples.JsonRequestActivity.onClick(JsonRequestActivity.java:146) 
                       at android.view.View.performClick(View.java:5697) 
                       at android.widget.TextView.performClick(TextView.java:10826) 
                       at android.view.View$PerformClick.run(View.java:22526) 
                       at android.os.Handler.handleCallback(Handler.java:739) 
                       at android.os.Handler.dispatchMessage(Handler.java:95) 
                       at android.os.Looper.loop(Looper.java:158) 
                       at android.app.ActivityThread.main(ActivityThread.java:7224) 
                       at java.lang.reflect.Method.invoke(Native Method) 
                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) 
                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120) 

機能はこの1つである:

private void makeJsonArryReq() { 
    showProgressDialog(); 
    JsonArrayRequest req = new JsonArrayRequest("http:/192.168.1.4/pim/get_all_bus.php", 
      new Response.Listener<JSONArray>() { 
       @Override 
       public void onResponse(JSONArray response) { 
        Log.d(TAG, response.toString()); 

         msgResponse.setText(response.toString()); 


        //msgResponse.setText(response.toString()); 
        hideProgressDialog(); 
       } 
      }, new Response.ErrorListener() { 
       @Override 
       public void onErrorResponse(VolleyError error) { 
        VolleyLog.d(TAG, "Error: " + error.getMessage()); 
        hideProgressDialog(); 
       } 
      }); 

    // Adding request to request queue 
    AppController.getInstance().addToRequestQueue(req, 
      tag_json_arry); 

    // Cancelling request 
    // ApplicationController.getInstance().getRequestQueue().cancelAll(tag_json_arry); 
} 

答えて

0

ここで、JsonObjectRequestを最初に呼び出す必要があります。あなたの与えられたリンクは、jsonオブジェクトを返します。 jsonオブジェクトを取得した後、データを解析する必要があります。

0

クイックヒント。 JSON形式の中括弧 "{}"はオブジェクトを定義し、三角括弧 "[]"は配列を定義します。

あなたのPHPスクリプトからの応答を見てください。中括弧で始まります。つまり、あなたの応答はJSONオブジェクトです。したがって、JSONArrayRequestではなく、volleyからJSONObjectRequestを呼び出す必要があります。

関連する問題