Je suis en difficulté pour trouver un bon exemple sur la façon de lire et d'écrire des données dans mon application Android à l'aide de GSON. Quelqu'un pourrait-il s'il vous plaît me montrer ou me signaler à un bon exemple? J'utilise cela pour la persistance des données entre les activités.
Mon professeur a donné cet exemple à l'écriture: p> Comment puis-je accéder à un dossier? p> p>
5 Réponses :
EXEMPLE SIMPLE GSON:
File myFile = new File("/sdcard/myjsonstuff.txt");
FileInputStream fIn = new FileInputStream(myFile);
BufferedReader myReader = new BufferedReader(new InputStreamReader(fIn));
String aDataRow = "";
String aBuffer = ""; //Holds the text
while ((aDataRow = myReader.readLine()) != null)
{
aBuffer += aDataRow ;
}
myReader.close();
Merci pour l'exemple. Comment voudrais-je écrire ces json au fichier?
Comment enregistrer votre JSON dans un fichier sur le stockage interne: Comment le lire: p>
OpenFileIngut n'accepte qu'un seul paramètre qui doit être une chaîne.
Et quel est le contexte?
Enregistrez votre classe dans SharedPrefrences en utilisant
public class SharedPref {
public static String read(String valueKey, String valueDefault) {
SharedPreferences prefs = PreferenceManager
.getDefaultSharedPreferences(App.context);
return prefs.getString(valueKey, valueDefault);
}
public static void save(String valueKey, String value) {
SharedPreferences prefs = PreferenceManager
.getDefaultSharedPreferences(App.context);
SharedPreferences.Editor edit = prefs.edit();
edit.putString(valueKey, value);
edit.commit();
}
}
Peut-être dans une version plus récente, mais Tojson accepte l'écrivain qui écrit directement au fichier.
ex.: p>
Vous pouvez également faire cela entièrement avec des flux et éviter un objet intermédiaire:
Vector v;
// This should be reused, so private static final
Gson gson = new GsonBuilder().create();
// Read from file:
try (InputStream fileIn = context.openFileInput("myfile.txt", Context.MODE_PRIVATE);
BufferedInputStream bufferedIn = new BufferedInputStream(fileIn, 65536);
Reader reader = new InputStreamReader(bufferedIn, StandardCharsets.UTF_8)) {
gson.fromJson(reader, Vector.class);
}
v = new Vector(10.0f, 20.0f);
// Write to file
try (OutputStream fileOut = context.openFileOutput(filename, Context.MODE_PRIVATE);
OutputStream bufferedOut = new BufferedOutputStream(fileOut, 65536);
Writer writer = new OutputStreamWriter(bufferedOut)) {
gson.toJson(v, writer);
}
Cela ne semble pas être un problème avec GSON, semble que vous recherchez des informations sur la création d'un fichier sur un appareil Android ...
@Raystojonic je n'ai jamais dit que c'était un problème. Je ne trouve aucune bonne information sur la façon de l'utiliser.
Peut-être que cela peut vous aider: développeur.android.com/training/basics/ stockage de données / fichiers.htm l
@trapo Il n'y a aucune mention de
gson code> dans ce documentOui, mais une fois que vous avez votre chaîne de "S ', il suffit de l'enregistrer car vous sauveriez la chaîne" Hello World "présente dans l'exemple.