private void createDynamicJson(){
try {
JSONObject rootObject = new JSONObject();
rootObject.put(Constants.PARENT_ID,
JSONObject rootObject = new JSONObject();
rootObject.put(Constants.PARENT_ID,
AppSharedPreference.getString (MainActivity.this,
AppSharedPreference.PREF_KEY.USER_ID));
rootObject.put(Constants.USER_ID, userId);
JSONArray jsonArray = new JSONArray();
for (int i = 0; i < historyList.size(); i++) {
JSONObject object = new JSONObject();
HistoryModel model = historyList.get(i);
object.put(Constants.QUESTION_ID, model.getQuestionId());
object.put(Constants.QUESTION_TYPE, model.getQuestionType());
object.put(Constants.ANSWER, model.getAnswerText());
jsonArray.put(object);
}
rootObject.put(Constants.QUESTION_INFO, jsonArray);
saveHistory(rootObject);
} catch (JSONException e) {
e.printStackTrace();
}
rootObject.put(Constants.USER_ID, userId);
JSONArray jsonArray = new JSONArray();
for (int i = 0; i < historyList.size(); i++) {
JSONObject object = new JSONObject();
HistoryModel model = historyList.get(i);
object.put(Constants.QUESTION_ID, model.getQuestionId());
object.put(Constants.QUESTION_TYPE, model.getQuestionType());
object.put(Constants.ANSWER, model.getAnswerText());
jsonArray.put(object);
}
rootObject.put(Constants.QUESTION_INFO, jsonArray);
saveHistory(rootObject);
} catch (JSONException e) {
e.printStackTrace();
}
}
private void saveHistory(JSONObject jsonObject) {
if (AppUtils.getInstance().isNetworkAvailable(this)) {
AppUtils.getInstance().showProgressDialog(this);
JsonObjectRequest jsonObjRequest = newJsonObjectRequest(
Request.Method.POST, RestApi.BASE_URL + "UserHistroy.json",
jsonObject, response -> {
if (response != null) {
AppUtils.getInstance().hideProgressDialog(this);
try {
if (response.get("code").equals(Constants.SUCCESS_CODE_S)) {
AppUtils.getInstance().showToast(MainActivity.this,
response.optString("msg"));
openActivity();
}
} catch (Exception e) {
e.getMessage();
}
}
}, error -> {
AppUtils.getInstance().hideProgressDialog(this);
}) {
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
Map<String, String> header = new HashMap<>();
header.put("authtoken", "");
return header;
}
};
Application.getInstance().addToRequestQueue(jsonObjRequest);
} else {
AppUtils.getInstance().showToast(this, getString(R.string.no_internet));
}
}
No comments:
Post a Comment