В настоящее время я работаю над проектом Running, там у меня проблема, проблема в том, что данные JSON не загружаются в нижней версии Android. сейчас я тестирую на двух устройствах, код работает на Android 10, но он вызывает метод onFailure в Android Lollipop.
Я проверил эту документацию https://loopj.com/android-async-http/ здесь они сказалиAsyncHttpClient совместим с Android API 23 и выше. Теперь
Как я могу это решить? Я проверил версию Android и написать другой код?
AsyncHttpClient client = new AsyncHttpClient();
client.get(Constant_Api.home, null, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
Log.d("Response", new String(responseBody));
String res = new String(responseBody);
try {
JSONObject jsonObject = new JSONObject(res);
JSONObject jsonObjectBook = jsonObject.getJSONObject("EBOOK_APP");
JSONArray jsonArray = jsonObjectBook.getJSONArray("featured_books");
Log.e("TAG", "onSuccess: "+jsonArray.length() );
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject object = jsonArray.getJSONObject(i);
String id = object.getString("id");
String cat_id = object.getString("cat_id");
String book_title = object.getString("book_title");
sliderList.add(new SubCategoryList(id, cat_id, book_title));
}
JSONArray jsonArrayLatestCat = jsonObjectBook.getJSONArray("category_list");
for (int i = 0; i < jsonArrayLatestCat.length(); i++) {
JSONObject object = jsonArrayLatestCat.getJSONObject(i);
String cid = object.getString("cid");
String category_name = object.getString("category_name");
String total_books = object.getString("total_books");
String cat_image=object.getString("category_image");
categoryLists.add(new CategoryList(cid, category_name, total_books,cat_image));
}
JSONArray jsonArrayLatest = jsonObjectBook.getJSONArray("latest_books");
for (int i = 0; i < jsonArrayLatest.length(); i++) {
JSONObject object = jsonArrayLatest.getJSONObject(i);
String id = object.getString("id");
String cat_id = object.getString("cat_id");
String book_title = object.getString("book_title");
latestList.add(new SubCategoryList(id, cat_id, book_title));
}
JSONArray jsonArrayPopular = jsonObjectBook.getJSONArray("popular_books");
for (int i = 0; i < jsonArrayPopular.length(); i++) {
JSONObject object = jsonArrayPopular.getJSONObject(i);
String id = object.getString("id");
String cat_id = object.getString("cat_id");
String book_title = object.getString("book_title");
mostPopularList.add(new SubCategoryList(id, cat_id, book_title));
}
latestAdapterGVLatest = new LatestHomeAdapterGV(getActivity(), latestList, "home_latest");
recyclerViewLatest.setAdapter(latestAdapterGVLatest);
latestAdapterGVPopular = new LatestHomeAdapterGV(getActivity(), mostPopularList, "home_most");
recyclerViewPopular.setAdapter(latestAdapterGVPopular);
categoryAdapter = new CategoryHomeAdapter(getActivity(), categoryLists);
recyclerViewCategory.setAdapter(categoryAdapter);
mAdapter = new CustomViewPagerAdapter();
mViewPager.setAdapter(mAdapter);
autoPlay(mViewPager);
progressBar.setVisibility(View.GONE);
} catch (JSONException e) {
Log.e("TAG", "onSuccess: "+e);
Toast.makeText(getActivity(), ""+e, Toast.LENGTH_SHORT).show();
}
}
@Override
public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {
Toast.makeText(getActivity(), "Failed Json", Toast.LENGTH_SHORT).show();
}
});