Мне просто интересно - где JSONObject
или JSONArray
, полученные с веб-сервера, должны анализироваться в приложении Android - в основном пользовательском интерфейсе или должны быть доставлены другому?
Например, я использую библиотеку Volley:
private void fetchResults(){
RequestQueue queue = Volley.newRequestQueue(mContext);
String url = AuthenticationRequester.URL_GET_ALL_ORDERS;
JsonArrayRequest jsonDepartureObj = new JsonArrayRequest(url, new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray jsonArray) {
iVolleyCallback.onJSONArraySuccess(jsonArray);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.d(TAG, "Error: " + error.getMessage());
// hide the progress dialog
}
});
queue.add(jsonDepartureObj);
}
Так что я должен помещать iVolleyCallback.onJSONArraySuccess(jsonArray);
в другое выполнение потока или поддерживать основной поток пользовательского интерфейса?
Предположим, что входящий JSON большой и нужно некоторое время для продолжения?
Тот же вопрос касается AsyncTask и других возможных способов работы с веб-сервисами на Android.