2016-03-22 13 views
0

データベースからアンドロイドでデータをフェッチしていますが、POSTMANを使用してJSON形式のデータをフェッチすることができますが、値。私が使用していくつかのチュートリアルとコードを以下の午前データベースからフェッチした後に値が表示されないJSONオブジェクト

{ 
    "result": [ 
    { 
     "Date": "18-3-2016", 
     "Events": "Local Holiday" 
    }, 
    { 
     "Date": "23-3-2016", 
     "Events": "Monthly Fees" 
    }, 
    { 
     "Date": "15-4-2016", 
     "Events": "Monthly Fees" 
    }, 
    { 
     "Date": "23-4-2016", 
     "Events": "Annual Day" 
    }, 
    { 
     "Date": "30-4-2016", 
     "Events": "session end" 
    }, 
    { 
     "Date": "9-4-2016", 
     "Events": "Parent Teacher Meeting" 
    } 
    ] 
} 

:POSTMANから 値

private void getData() { 


     loading = ProgressDialog.show(this,"Please wait...","Fetching...",false,false); 

     String url = config_events.DATA_URL; 

     StringRequest stringRequest = new StringRequest(url, new Response.Listener<String>() { 
      @Override 
      public void onResponse(String response) { 
       loading.dismiss(); 
       showJSON(response); 
      } 
     }, 
       new Response.ErrorListener() { 
        @Override 
        public void onErrorResponse(VolleyError error) { 
         Toast.makeText(events.this,error.getMessage().toString(),Toast.LENGTH_LONG).show(); 
        } 
       }); 

     RequestQueue requestQueue = Volley.newRequestQueue(this); 
     requestQueue.add(stringRequest); 
    } 

    private void showJSON(String response) { 

     String date = ""; 
     String comment=""; 
     //String vc = ""; 
     try { 
      JSONObject jsonObject = new JSONObject(response); 
      JSONArray result = jsonObject.getJSONArray(config_events.JSON_ARRAY); 
      JSONObject collegeData = result.getJSONObject(0); 
      date = collegeData.getString(config_events.KEY_NAME); 
      comment = collegeData.getString(config_events.KEY_ADDRESS); 
      //vc = collegeData.getString(config_events.KEY_VC); 
     } catch (JSONException e) { 
      e.printStackTrace(); 
     } 
textViewResult.setText("Date:"+date + "Comment:"+ comment); 
+0

しようとするログ状態メントを追加しますキャッチ();あなたのtryブロックで何かが失敗して日付が止まるように思えます。コメントの値は割り当てられます。 – reidisaki

+0

エラーは何ですか? –

答えて

0

をあなたがそれをデバッグしようとしたと仮定すると、これはAndroidのマニフェストでユーザー権限の問題である可能性があります。マニフェストファイルに次の権限があることを確認してください。

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> 
+0

すべての権限が与えられています – user2592029

0

あなたが本当にAPIて応答を取得する場合は、このJSON解析コードを確認したいかもしれませんが、問題の応答を想定している間、私が書いたものです

private void showJSON(String response){ 
    try{ 
     Log.d(TAG, "showJSON: \n"+response);// print here to check you are getting the right response 
     JSONObject response_JsonObject = new JSONObject(response); 
     JSONArray result_JsonArray = response_JsonObject.getJSONArray("result"); 

     ArrayList<Event> events = new ArrayList<>(); 
     for (int i = 0; i < result_JsonArray.length(); i++) { 
      Event single_Event = new Event(); 
      single_Event.setDate(result_JsonArray.getJSONObject(i).getString("Date")); 
      single_Event.setEvent(result_JsonArray.getJSONObject(i).getString("Events")); 
      events.add(single_Event); 
     } 
     Log.d(TAG, "showJSON: Event list size: "+events.size()); // check number of elements 
    }catch (Exception e){ 
     e.printStackTrace(); 
    } 
} 

private class Event{ 

    private String date; 
    private String event; 

    public String getDate() { 
     return date; 
    } 

    public void setDate(String date) { 
     this.date = date; 
    } 

    public String getEvent() { 
     return event; 
    } 

    public void setEvent(String event) { 
     this.event = event; 
    } 
} 
関連する問題