Je voulais enregistrer une arrayliste à SharedPreferences afin que je dois la transformer en chaîne et à l'arrière, c'est ce que je fais:
[item1,item2,item3]
6 Réponses :
Vous avez 2 choix:
Utilisez une bibliothèque JSON comme Google's bibliothèque gson pour stocker et récupérer des objets comme chaînes JSON. C'est une bibliothèque légère, bien considérée et populaire. Ce serait une solution idéale dans votre cas avec un minimum de travail requis. E.g., P>
J'ai changé les éléments de la matrice en chaînes, je suis sûr que cela doit être beaucoup plus facile maintenant.
Peu importe. Avec GSON, vous pouvez convertir n'importe quel objet Java en une chaîne, puis le convertir. Donc, même si vous avez une arrayliste d'objets personnalisés, il n'y a pas de problème.
Est-ce qu'il fonctionne pour arraylist
gson.fromjson (arraystring, arraylist.class) code>?
Essayez ceci Cela fonctionnera si la virgule est utilisée comme séparateur et aucun des éléments ne l'a. P> P>
J'ai fini par utiliser:
ArrayList<String> array = Arrays.asList(arrayString.split(","));
La page http: // mjiayou .com / 2015/07/22 / / exception-gson-peut-interne sans être-cast- contient les éléments suivants:.
Type type = new TypeToken<List<T>>(){}.getType(); List<T> list = gson.fromJson(jsonString, type)
//arraylist convert into String using Gson Gson gson = new Gson(); String data = gson.toJson(myArrayList); Log.e(TAG, "json:" + gson); //String to ArrayList Gson gson = new Gson(); arrayList=gson.fromJson(data, new TypeToken<List<Friends>>() {}.getType());
Mise à jour de la réponse de Dhruv Gairola pour Kotlin Strong> P>
xxx pré> blockQuote>