Je suis nouveau sur ce forum et je fais une application Android en utilisant libgdx et je veux enregistrer le score du joueur sur un fichier json. Je peux lire le fichier json pour récupérer le score, mais si le joueur fait un meilleur score, je ne sais pas comment écrire le nouveau meilleur score sur le fichier json. Je cherchai sur de nombreux sites et je ne trouve pas quelque chose de bon ...Écrire sur le fichier json avec libgdx
Mon fichier JSON est comme ça:
{ "scores":[
{
"level":1,
"bestScore":100
},
{
"level":2,
"bestScore":100
},
{
"level":3,
"bestScore":100
},
{
"level":4,
"bestScore":100
},
{
"level":5,
"bestScore":100
},
{
"level":6,
"bestScore":100
},
{
"level":7,
"bestScore":100
},
{
"level":8,
"bestScore":100
},
{
"level":9,
"bestScore":100
},
{
"level":10,
"bestScore":100
},
{
"level":11,
"bestScore":100
},
{
"level":12,
"bestScore":100
},
{
"level":13,
"bestScore":100
},
{
"level":14,
"bestScore":100
},
{
"level":15,
"bestScore":100
},
{
"level":16,
"bestScore":100
},
{
"level":17,
"bestScore":100
},
{
"level":18,
"bestScore":100
},
{
"level":19,
"bestScore":100
},
{
"level":20,
"bestScore":100
}
]
}
Et par exemple, si le joueur de faire un score de 30 au niveau 1, je veux remplacer le "100" du niveau 1 par "30".
J'espère que quelqu'un pourra m'aider! Merci, j'attends vos réponses!
Merci pour votre réponse rapide! Mais je fais cela et ça ne marche pas, j'ai "un fichier de lecture d'erreur, Causé par des scores pas trouvés". Avez-vous une idée pourquoi? Est-ce correct, pour le départ: Json json = new Json(); \t \t FileHandle handle = Gdx.files.internal ("scores.json"); \t JsonResult jsonResult = json.fromJson (JsonResult.class, handle); \t ObjectMap scores = JsonResult.getScores() ;? –
Adrien
@Adrien vous devez recréer le fichier de résultats, voir ma réponse mise à jour. Je le fais pendant l'écran de chargement, vérifier que le fichier existe et sinon - en créer un nouveau. Et votre ancien fichier json n'est pas valide pour cette nouvelle structure et devrait donc être supprimé. – Enigo