Quiero almacenar debajo de JSONARRAY en SharedPreferences. ¿Cómo puedo almacenar JSONARRAY en SharedPreferences y cómo recuperar a JSONARRAY almacenado hacia atrás?

StringRequest stringRequest = new StringRequest(Request.Method.POST, Constants.URL_ATTENDANCE,
                    new Response.Listener<String>() {
                        @Override
                        public void onResponse(String response) {
                            try {
                                jsonArray = new JSONArray(response); (***)
                                

                            } catch (JSONException e) {


                                e.printStackTrace();
                            }
                        }
                    },
                    new Response.ErrorListener() {
                        @Override
                        public void onErrorResponse(VolleyError error) {


                        }
                    })


0
Avinash 29 may. 2021 a las 14:25

1 respuesta

La mejor respuesta

Puede usar gson .

JSONArray jArr = new JSONArray();
editor.putString("YOURKEY", jArr.toString());
editor.commit();

Y este para leer:

JSONArray jArr = (new Gson()).fromJson(preferences.getString("YOURKEY"), JSONArray.class));

Como una alternativa realmente buena, puede usarla Hawk biblioteca. Es un almacenamiento de valor de clave simple y seguro para Android utilizando preferencias compartidas que admiten almacenamiento y cifrado de objetos.

1
MLFR2kx 29 may. 2021 a las 12:42