使用 volley 从 json 文件获取新数据
getting new data from a json file using volley
我有一个 android java 应用程序,我需要 json 文件中的一些数据,所以我使用 volley 从 json 中获取数据
我的问题是,当我更改 json 文件上的数据时,我应该卸载该应用程序并重新安装它,然后获取新数据,否则即使从 ram
中将其杀死,它也会保留旧数据
RequestQueue requestQueue = Volley.newRequestQueue(this);
jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, LINK, null, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try {
JSONArray jsonArrayVariabls = response.getJSONArray("variables");
JSONObject var = jsonArrayVariabls.getJSONObject(0);
Variables.name = var.getString("name");
Variables.adresse=var.getString("adresse");
callBack.onSuccess();
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
jsonObjectRequest.setRetryPolicy(new DefaultRetryPolicy(DefaultRetryPolicy.DEFAULT_TIMEOUT_MS, DefaultRetryPolicy.DEFAULT_MAX_RETRIES, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
requestQueue.add(jsonObjectRequest);
问题出在缓存中,因此您需要在使用此行请求之前清除它
requestQueue.getCache().clear();
我有一个 android java 应用程序,我需要 json 文件中的一些数据,所以我使用 volley 从 json 中获取数据 我的问题是,当我更改 json 文件上的数据时,我应该卸载该应用程序并重新安装它,然后获取新数据,否则即使从 ram
中将其杀死,它也会保留旧数据 RequestQueue requestQueue = Volley.newRequestQueue(this);
jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, LINK, null, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try {
JSONArray jsonArrayVariabls = response.getJSONArray("variables");
JSONObject var = jsonArrayVariabls.getJSONObject(0);
Variables.name = var.getString("name");
Variables.adresse=var.getString("adresse");
callBack.onSuccess();
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
jsonObjectRequest.setRetryPolicy(new DefaultRetryPolicy(DefaultRetryPolicy.DEFAULT_TIMEOUT_MS, DefaultRetryPolicy.DEFAULT_MAX_RETRIES, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
requestQueue.add(jsonObjectRequest);
问题出在缓存中,因此您需要在使用此行请求之前清除它
requestQueue.getCache().clear();