Comment mettre en cache / enregistrer un objet de classe personnalisé dans Android?
Je veux sauver ArrayList<CustomClass>
-objet à quelque part dans Android de stockage pour récupérer rapidement et afficher les données.
Est-ce possible ou pas? Si oui, alors la technique qui sera adapté, SQLite ou de stockage externe?
source d'informationauteur UMAR
Vous devez vous connecter pour publier un commentaire.
exemple.
et appeler à partir de l'activité
n'oubliez pas d'utiliser write_external_storage autorisations dans le fichier manifest.
Ce problème n'est pas vraiment android spécifique. Je veux dire, si vous savez comment sérialiser vos données via java.io.Serializable ou vous avez un custom format de persistance, vous avez juste besoin de savoir où stocker.
Vous pouvez récupérer un fichier sur le périphérique local via
Vous devrez utiliser openFileInput() plus tard pour lire les données.
Ou vous pouvez récupérer de Stockage Externe. Ceci est similaire cependant, vous devez garantir qu'il existe même. Comme c'est le stockage externe connecté et de même pu être écrit. Depuis que vous êtes à l'écriture d'une structure de données ici et généralement de stockage externe est lisible par tout le monde, je ne pense pas que ce soit une bonne idée pour votre usage prévu (seulement à partir de ce que vous avez mis pour l'instant).
Si vos données sont structurées, et va être interrogé à de nombreuses reprises et il pourrait être assez grand pour toujours charger jusqu'alors envisager l'utilisation de sql lite outils qui font partie de l'OS. Cependant, je suis en supposant que vous n'en avez pas besoin, soit comme une simple liste est juste que, un linéaire des structures qui vous pourriez probablement chercher dans un fichier (en supposant qu'il est inférieur à 1 mo de données 🙂
Ce problème peut être résolu par la classe singleton ici dans lequel vous pouvez mettre/obtenir n'importe quel objet par exemple de liste de tableaux en tout temps. Si vous avez utilisé Android Service de cette solutuion n'est pas adapté.
Peut-être la solution à votre problème peut être trouvée ici.