2016-03-22 27 views
0

Veritabanındaki verileri veritabanından alıyorum ve POSTMAN kullanarak JSON biçimindeki veritabanından veri almayı ancak Android uygulamasında görüntülemeye çalıştığımda göremiyorum. değer. Postacı Değerler:JSON nesnesi, veritabanından getirildikten sonra değerleri görüntülemiyor

{ 
    "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" 
    } 
    ] 
} 

Bazı dersler takip ediyorum ve Kod kullanarak:

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

deneyin için bir günlük devlet ment ekleyerek yakalayış(); try bloğunuzda tarihin durduğu, yorum değerlerinin atanmasını engelleyen bir şey gibi görünüyor. – reidisaki

+0

hata nedir –

cevap

0

bunu hata ayıklamak için çalıştık varsayarsak, bu Android manifest'te kullanıcı izinleri sorun olabilir. Bildirim dosyanızda aşağıdaki izinlere sahip olduğunuzdan emin olun.

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

Tüm izinler verildi – user2592029

0

gerçekten API aracılığıyla yanıt alma eğer bu JSON ayrıştırma kodunu kontrol etmek isteyebilirsiniz söz konusu yanıtı varsayarak ederken yazdığım bir şeydir

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; 
    } 
}