tinydb - gson android example
Almacenamiento de objetos de lista de matrices en SharedPreferences (3)
Este método agrega un nuevo objeto en ArrayList
//get text from textview
time = date.getText().toString();
entry_d = entry.getText().toString();
dayName = day.getText().toString();
arrayList.add( new ArrayObject( dayName, entry_d ,time));
Estoy tratando de agregar estas 3 cadenas en SharedPrefrences
. Aquí está mi código:
private void savePreferences(String key, String value) {
SharedPreferences sharedPreferences = PreferenceManager
.getDefaultSharedPreferences(this);
Editor editor = sharedPreferences.edit();
editor.putBoolean(key, value);
editor.commit();
}
Este método solo agrega una cadena a la vez en la que quiero agregar 3 cadenas de una vez. ¿Hay algún método que pueda implementar?
Almacenar Arraylist Usando Preferencias Compartidas
SharedPreferences prefs=this.getSharedPreferences("yourPrefsKey",Context.MODE_PRIVATE);
Editor edit=prefs.edit();
Set<String> set = new HashSet<String>();
set.addAll(your Arraylist Name);
edit.putStringSet("yourKey", set);
edit.commit();
Recuperar Arraylist de preferencias compartidas
Set<String> set = prefs.getStringSet("yourKey", null);
List<String> sample=new ArrayList<String>(set);
Convierta su matriz u objeto a Json con la biblioteca de Gson y almacene sus datos como cadena en formato json.
Salvar;
SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
Editor editor = sharedPrefs.edit();
Gson gson = new Gson();
String json = gson.toJson(arrayList);
editor.putString(TAG, json);
editor.commit();
Leer;
SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
Gson gson = new Gson();
String json = sharedPrefs.getString(TAG, "");
Type type = new TypeToken<List<ArrayObject>>() {}.getType();
List<ArrayObject> arrayList = gson.fromJson(json, type);
No uses Hashset
para esto. Cambiará el orden de Arraylist
. Utilice Gson
lugar. Si desea utilizar Hashset
, tendrá que serializar y deserializar, lo que Hashset
recursos.