2012-11-20 6 views
2

Je suis très nouveau sur Android et je travaille actuellement sur l'application Android qui va analyser JSON à partir d'une API Restful et afficher certaines des données dans une vue de liste. J'ai examiné en utilisant GSON pour l'analyse car le JSON était assez complexe. Maintenant, mon principal problème est de savoir comment stocker les données quelque part afin que l'application n'a pas besoin de se recharger à chaque fois que l'activité est cliquée. J'ai regardé quelques questions ici, mais ils semblent tous pointer vers JSON seulement pas GSON. Quelqu'un pourrait-il recommander un moyen efficace de le faire?Stocker Json analysé dans Android utilisant GSON

Merci

Répondre

0

si vous voulez stocker les données permanentes, il est la meilleure façon d'insérer vos objets désérialisés dans une base de données SQLite ou de les stocker locale sur le disque sous forme de fichier. Si vous avez l'intention de charger les données pour chaque démarrage, c'est plus facile. il suffit de mettre votre objet dans un objet public statique. donc vous pouvez vérifier si l'objet n'est pas nul ou pas. si c'est nul, vous devez charger les données. une autre opportunité utilise les SharedPreferences.

+0

Je pense que la deuxième option que vous avez décrite ci-dessus a beaucoup de sens. Cependant, j'ai oublié de mentionner que les données de l'API changent tous les jours et que c'est un grand nombre d'objets avec lesquels je travaille. L'application doit donc à nouveau faire des demandes à l'API si le jour a changé. La deuxième option que vous avez conseillée serait-elle toujours applicable dans ce cas? – AndroidEnthusiast

+0

Oui, vous pouvez l'utiliser. :) Mais ce serait beaucoup mieux si vous pouviez vérifier explicitement si les données locales sont différentes de la version du serveur. Peut-être que l'API vous donne un dernier timestamp modifié ou un numéro de version. Vous pouvez enregistrer la valeur locale et décider de cette valeur si vous avez besoin de la mettre à jour ou non. – qd0r

+0

@qdor Je viens de vérifier les données JSON et il vient avec un champ d'horodatage. Merci beaucoup :) – AndroidEnthusiast