Mình đang làm về lấy chuỗi Json từ trang web để load danh sách lên nhưng khi để StringRequest thay cho JsonArrayRequest thì phương thức getJSONObject(i) lại ko hiểu. Mọi người có cách nào giải quyết ko ?
Đây là đoạn code load data (dòng comment bị lỗi “Value br of type java.lang.String cannot be converted to JSONArray”):
private void GetData(String url) {
RequestQueue requestQueue = Volley.newRequestQueue(this);
/*JsonArrayRequest jsonArrayRequest = new JsonArrayRequest(Request.Method.GET, url, null,
new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
// Get Json object from php page
studentArrayList.clear();
for (int i = 0; i < response.length(); i++) {
try {
JSONObject jsonObject = response.getJSONObject(i);
studentArrayList.add(new Student(jsonObject.getInt("ID"),
jsonObject.getString("FullName"),
jsonObject.getInt("YearOfBirth"),
jsonObject.getString("Address")));
} catch (JSONException e) {
e.printStackTrace();
}
}
studentAdapter.notifyDataSetChanged();
}
},
new Response.ErrorListener() { // Error link or server
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(MainActivity.this, "Error !", Toast.LENGTH_SHORT).show();
Log.d("AAA", error.toString());
}
});
requestQueue.add(jsonArrayRequest);*/
StringRequest stringRequest = new StringRequest(Request.Method.GET, url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
studentArrayList.clear();
for (int i = 0; i < response.length(); i++) {
try {
JSONObject jsonObject = response.getJSONObject(i);
studentArrayList.add(new Student(jsonObject.getInt("ID"),
jsonObject.getString("FullName"),
jsonObject.getInt("YearOfBirth"),
jsonObject.getString("Address")));
} catch (JSONException e) {
e.printStackTrace();
}
}
studentAdapter.notifyDataSetChanged();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(MainActivity.this, "Error !", Toast.LENGTH_SHORT).show();
Log.d("AAA", error.toString());
}
});
requestQueue.add(stringRequest);
}
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?