2016-03-22 69 views
0

我从Android数据库中获取数据,我可以看到数据从JSON格式使用POSTMAN从数据库中获取数据,但是当我尝试在我的Android应用程序中显示它时,值。从邮差 值:从数据库中获取后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" 
    } 
    ] 
} 

我下面一些教程和代码中使用:

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

尝试添加日志状态彪catch();似乎在你的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; 
    } 
}