API服务中的数据未更新,仅在取消缓存后才更新

问题描述 投票:1回答:1

这是我从API服务获取数据的代码。但是,当我从服务器更新数据时,应用程序中的数据没有更新。但是如果我去设置应用程序,然后进行清除缓存并打开我的应用程序,则数据将更新。我该怎么办?

private void callDataPekerjaan() {
    listPekerjaan.clear();

    JsonArrayRequest jArr = new JsonArrayRequest(url1,
            new Response.Listener<JSONArray>() {
                @Override
                public void onResponse(JSONArray response) {
                    Log.e(TAG, response.toString());

                    for (int i = 0; i < response.length(); i++) {
                        try {
                            JSONObject obj = response.getJSONObject(i);

                            DataPekerjaan item = new DataPekerjaan();

                            item.setId(obj.getString(TAG_ID_PEKERJAAN));
                            item.setNama(obj.getString(TAG_PEKERJAAN));

                            listPekerjaan.add(item);
                        } catch (JSONException e) {
                            e.printStackTrace();
                        }
                    }

                    adapterpekerjaan.notifyDataSetChanged();

                    hideDialog();
                }
            }, new Response.ErrorListener() {

        @Override
        public void onErrorResponse(VolleyError error) {
            VolleyLog.e(TAG, "Error: " + error.getMessage());
            Toast.makeText(DataMasyarakat1Activity.this, error.getMessage(), Toast.LENGTH_LONG).show();
            hideDialog();
        }
    });

    AppController.getInstance().addToRequestQueue(jArr);
}
java android api service
1个回答
0
投票

可能与Volley缓存有关,请尝试将这段代码置于volley中

 @Override
            public void onRequestFinished(Request<Object> request) {
                requestQueue.getCache().clear();
            }
© www.soinside.com 2019 - 2024. All rights reserved.