La meilleure façon de mettre en cache json
Mon application devrait fonctionner non seulement en ligne mais aussi en mode hors ligne. Pour cette raison, j'envisage de trouver le meilleur moyen d'encaissement des données. J'aime pas utiliser SharedPreference pour stocker des données, mais dans android documentation rédigé taille Maximum de caractères autorisés pour les préférences de valeur est de 8192. Je ne sais pas c'est ok ou pas? J'ai essayé de sortir de cette idée d'essayer d'utiliser FileCashing sqLite ou d'encaissement.
Donc ce que vous en pensez les gars, quel est le meilleur SharedPreference vs FileCashing ou vs SqLiteCaching?
source d'informationauteur fish40
Vous devez vous connecter pour publier un commentaire.
Personnellement, j'aime à le faire de la façon suivante. Créer une base de données SQLite qui peut contenir votre contenu. Ensuite, lier l'interface utilisateur directement à la base de données à l'aide de Cartes & des Fournisseurs de Contenu que d'envoyer une notification à chaque fois que les données sont modifiées de sorte que l'INTERFACE utilisateur peut mettre à jour lui-même. Le dernier morceau de l'équation est une certaine forme de service de synchronisation qui télécharge le contenu et l'enregistre dans la base de données de manière asynchrone. De cette façon, vous pouvez gérer vos données très facilement car il est tous dans le même endroit. La seule partie que vous aurez à comprendre pour votre application est la façon dont vous décidez du moment de la mise à jour ou supprimer les données de la base de données.
Adaptateurs
ContentProvider
La synchronisation
Enregistrer le json dans le répertoire de cache de fichiers....
Enregistrer:
Récupérer:
En fonction de vos besoins, je recommanderais de base de données SQLite.
Depuis partagés préférence est adapté pour le stockage de la configuration - souvent de petites données/cordes.
Fichier cache est dur à gérer, donc je vous recommande de SQLite - facile à gérer et la capacité de stocker des données en masse.
Compte tenu de la performance, si le nombre d'index n'est pas énorme, base de données SQLite devrait avoir des performances acceptables. E. g. seulement plusieurs ms plus lent qu'un fichier de cache.
Vous pourriez être en mesure de combiner ces deux approches ensemble. Utiliser fichier à accès aléatoire avec index offset stockées dans SQLite.
J'ai utilisé de Stockage Interne qui fichier de la banque dans package d'Application répertoire qui ne peut être accessible par n'dispositif enracinée.
Ici, la classe qui permet de créer, lire et supprimer le fichier
Vous pouvez créer, lire et supprimer le fichier en appelant ReadWriteJsonFileUtils les méthodes de la classe comme suit:
Pour la création de fichier:
Pour la lecture de fichier:
Pour la suppression de fichier unique
Pour la suppression de tous les fichiers