Это метод, с помощью которого я запрашиваю API, анализирую возвращенные данные JSON и сохраняю их в SQLite. Данные сохраняются в базе данных SQlite, но я не могу показать их адаптеру.
private void insertTosqlite()
{
StringRequest stringRequest = new StringRequest(Request.Method.GET, URL_DATA, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
progress.dismiss();
try {
JSONObject jsonObject = new JSONObject(response);
JSONArray array = jsonObject.getJSONArray("summary");
for(int i =0;i<array.length();i++)
{
JSONObject o = array.getJSONObject(i);
String name = o.getString("name").toString();
String assigned = o.getString("assigned").toString();
String uploaded = o.getString("uploaded").toString();
String received = o.getString("received").toString();
database.insertData(name,assigned,uploaded,received);
}
arrayList=database.fetchData();
adapter = new MerchantListAdapter(arrayList,getApplicationContext());
recyclerView.setAdapter(adapter);
} catch (JSONException e) {
e.printStackTrace();
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
progress.dismiss();
Toast.makeText(getApplicationContext(), "some error" ,Toast.LENGTH_SHORT).show();
}
});
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(stringRequest);
}
Задача ещё не решена.
Других решений пока нет …