Can we analyze JSON Data As Group BY Day data in Android. I cannot generate logic how to parse JSON data like per day.
JSON data
[
{
"ID": 2012,
"ClassRoom_ID": 1,
"DayOfTheWeek": "6",
"StartTime": "2017-03-20T12:37:00",
"EndTime": "2017-03-20T10:37:00",
"EmpID": 8,
"classNO": 8,
"CourseID": 1012,
"teachers": {
"EmpID": 8,
"NAME": "Hunter Fuentes",
"PHONE_NO": "04 37 33 81 11",
"MOBILE_NO": "16890727-0931",
"EMAIL": "id.ante.dictum@egetnisi.ca",
"DESIGNATION": "Abdul Norris",
"PERMANENT_ADDRESS": "492-3934 Nunc Road",
"TEMP_ADDRESS": "P.O. Box 108, 1841 Sodales Rd.",
"DOB": "1867-09-19T00:00:00",
"TEACHER_OR_NONTEACHER": "T",
"NATIONAL_ID_NO": "5",
"MARITAL_STATUS": "M",
"GENDER": "M",
"QUALIFICATION": "SLC",
"DEPTID": 5,
"JoiningDate": "2017-10-17T00:00:00",
"departments": null,
"Photo": null,
"base64": null
},
"courses": {
"CourseID": 1012,
"CourseName": "Math",
"CourseLevel": 0,
"CourseInstructor1": "Kennedy Joseph",
"CourseInstructor2": "Haviva Nielsen",
"CourseInstructor3": "Bruno Fry",
"ClassNo": 8,
"UT_PM": 20,
"UT_FM": 50,
"Terminal_PM": 40,
"Terminal_FM": 100
}
},
{
"ID": 2013,
"ClassRoom_ID": 5,
"DayOfTheWeek": "2",
"StartTime": "2017-03-20T10:37:00",
"EndTime": "2017-03-20T11:37:00",
"EmpID": 5,
"classNO": 8,
"CourseID": 2013,
"teachers": {
"EmpID": 5,
"NAME": "Kennedy Joseph",
"PHONE_NO": "05 49 81 27 99",
"MOBILE_NO": "16330902-1552",
"EMAIL": "Cras@metusfacilisislorem.co.uk",
"DESIGNATION": "Mason Nielsen",
"PERMANENT_ADDRESS": "Ap #468-4208 Etiam Rd.",
"TEMP_ADDRESS": "Ap #383-2738 Dui Road",
"DOB": "1956-01-21T00:00:00",
"TEACHER_OR_NONTEACHER": "T",
"NATIONAL_ID_NO": "8",
"MARITAL_STATUS": "S",
"GENDER": "M",
"QUALIFICATION": "Others",
"DEPTID": 5,
"JoiningDate": "2016-10-03T00:00:00",
"departments": null,
"Photo": "/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAEsASwDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD5/ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA//2Q==",
"base64": null
},
"courses": {
"CourseID": 2013,
"CourseName": "English",
"CourseLevel": 0,
"CourseInstructor1": "Gabriel Boone",
"CourseInstructor2": "Georgia Reeves",
"CourseInstructor3": "Doris Marquez",
"ClassNo": 8,
"UT_PM": 15,
"UT_FM": 100,
"Terminal_PM": 40,
"Terminal_FM": 100
}
}
]
FragmentClassTest
public class FragmentClassTest extends Fragment {
LinearLayout sunday, sundaySchedule, monday, mondayClass, tuesday, tuesdayClass, wednesday, wednesdayClass, thrusday, thrusdayClass, friday, fridayClass;
public static final String Navigation_URL = "http://192.168.100.5:84/api/employeeApi/timeTableByClass";
String master_id;
TextView WeekofDay, mondaysubject;
String day;
ListView listViewStudentClass;
List<ClassScheduleStudent> classschedulestudent = new ArrayList<ClassScheduleStudent>();
String access_token;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.class_schedule_listitem_student, container, false);
setHasOptionsMenu(true);
sunday = (LinearLayout) view.findViewById(R.id.sunday);
monday = (LinearLayout) view.findViewById(R.id.monday);
tuesday = (LinearLayout) view.findViewById(R.id.tuesday);
wednesday = (LinearLayout) view.findViewById(R.id.wednesday);
thrusday = (LinearLayout) view.findViewById(R.id.thrusday);
friday = (LinearLayout) view.findViewById(R.id.friday);
sundaySchedule = (LinearLayout) view.findViewById(R.id.sunday_class);
mondayClass = (LinearLayout) view.findViewById(R.id.monday_class);
tuesdayClass = (LinearLayout) view.findViewById(R.id.tuesday_class);
wednesdayClass = (LinearLayout) view.findViewById(R.id.wednesday_class);
thrusdayClass = (LinearLayout) view.findViewById(R.id.thrusday_class);
fridayClass = (LinearLayout) view.findViewById(R.id.friday_class);
WeekofDay = (TextView) view.findViewById(R.id.DayofWeek);
listViewStudentClass = (ListView) view.findViewById(R.id.list_class_schedule);
SessionManagement session = new SessionManagement(getContext());
session.checkLogin();
master_id = session.getMasterId();
access_token = session.getAccesstToken();
makeJsonObjectRequest();
return view;
}
ClassScheduleStudent classScheduleStudent;
private void makeJsonObjectRequest() {
RequestQueue requestQueue = Volley.newRequestQueue(getContext());
String URL = Navigation_URL + "?Sid=" + master_id;
System.out.println(URL);
StringRequest stringRequest = new StringRequest(Request.Method.GET, URL,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
ArrayList<ClassScheduleStudent> student_list_student_fee = new ArrayList<>();
List<JSONObject> dayone=new ArrayList<>();
List<JSONObject> daytwo=new ArrayList<>();
List<JSONObject> daythree=new ArrayList<>();
JSONArray jArray = new JSONArray(response);
for (int i = 0; i < jArray.length(); i++) {
JSONObject jsonObject = jArray.getJSONObject(i);
day = jsonObject.getString("DayOfTheWeek");
switch (day) {
case "1":
String classId=jsonObject.getString( "ClassRoom_ID");
dayone.add(jsonObject);
break;
case "2":
break;
case "3":
break;
case "4":
break;
case "5":
break;
case "6":
break;
case "7":
break;
}
student_list_student_fee.add(new ClassScheduleStudent(day));
}
for(JSONObject jobj: dayone){
String classId=jobj.getString("ClassRoom_ID");
}
ClassScheduleStudentAdapter customFeeListStudentAdapter = new ClassScheduleStudentAdapter(getActivity(), student_list_student_fee);
listViewStudentClass.setAdapter(customFeeListStudentAdapter);
} catch (JSONException e) {
Toast.makeText(getContext(), "Fetch failed!", Toast.LENGTH_SHORT).show();
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getContext(), error.toString(), Toast.LENGTH_LONG).show();
}
}) {
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
Map<String, String> headers = new HashMap<String, String>();
headers.put("Authorization", "Bearer " + access_token);
headers.put("Content-Type", "application/x-www-form-urlencoded");
return headers;
}
};
requestQueue.add(stringRequest);
}
Can this be grouped by date? I am completely confused. How can I do that.