2013-06-15 8 views
9

Ce titre me permet de me demander ce qui convient le mieux à la sauvegarde de données moyennes à grandes sur une application spécifique. Je sais qu'il y a des questions récentes que j'ai vues sur Stackoverflow concernant la sauvegarde des données avec ces fonctionnalités mais je veux savoir, comme je l'ai dit, ce qui convient le mieux. Avez-vous des suggestions à ce sujet?Sauvegarde des données sur Android: Stockage de fichiers vs base de données SQLite vs Préférences partagées

+0

dépend des données. Est-ce que «moyen à grand» se rapporte au volume total de données ou au nombre d'enregistrements, ou aux deux? – MarsAtomic

+0

@MarsAtomic: ce "moyen à grand de données" que j'ai mentionné était se référer au nombre d'enregistrements de données, ainsi, il varie également à son volume comme il élargit les enregistrements de données. désolé de le rendre vague. :) – stryker

+0

Dans votre cas, je suggère d'aller avec SQLite car il peut être utilisé pour récupérer facilement par rapport au stockage de fichiers. Et Préférences partagées est généralement destiné à enregistrer les préférences et je pense personnellement qu'il ne devrait pas être utilisé dans votre cas. Aussi, si vous utilisez le stockage de fichiers, vous devrez traiter plus de choses manuellement.Je pense donc que SQLite est la meilleure solution parmi vos options. – Milan

Répondre

6

Préférences partagées est mieux pour des choses comme les paramètres ou de petites quantités de données. Les données stockées dans les préférences partagées sont stockées dans des paires clé-valeur. Cela rend la récupération des données plus simple, mais il n'existe pas de moyen vraiment efficace d'interroger/rechercher une donnée spécifique.

La base de données est une implémentation de SQLite. C'est utile quand il y a une grande quantité d'enregistrements à stocker qui ont tous les mêmes champs/similaires. Comme il s'agit de SQLite, vous pouvez écrire des requêtes pour obtenir des enregistrements spécifiques à partir des tables.

Je n'ai pas autant d'expérience dans l'enregistrement du système de fichiers pour le stockage, donc quelqu'un d'autre devra parler à celui-là.

Voici un lien vers une autre discussion stackoverflow qui compare SQLite et les préférences partagées. Pros and Cons of SQLite and Shared Preferences, ainsi que la documentation Android qui va dans plus de détails sur la façon dont chaque méthode fonctionne. http://developer.android.com/guide/topics/data/data-storage.html

+0

La comparaison de la base de données SQLite et des préférences partagées est principalement terminée. Cependant, je veux savoir aussi sur la partie du système de fichiers sur la façon de faire traiter ses données, en considérant sur l'épargne, sa vitesse et son efficacité. – stryker

+0

@stryker: Puisque vous avez une quantité décente de données l'enregistrer dans le système de fichiers aurait probablement moins de performance que la base de données. Pour accéder à un élément de données, vous devez charger le fichier et l'analyser jusqu'à ce que vous trouviez les données que vous recherchez. Si cela doit être modifié, vous devrez effectuer la modification, puis réenregistrer le fichier. – JFeather

+0

Donc par ce moyen, c'est juste quelque chose pour manipuler le fichier dans et hors, la permission de lire, écrire et/ou exécuter. Cette question particulière aura beaucoup de chemin à faire. :) – stryker

10

Préférences partagées

stocker des données primitives privées de paires clé-valeur.

Stockage interne

Magasin Données privées sur la mémoire de l'appareil.

Stockage externe

de données publiques magasin sur le stockage externe partagé.

SQLite Bases de données

données magasin structuré dans une base de données privée.

Connexion réseau

Stocker des données sur le web avec votre propre serveur de réseau.

selon official Website

Questions connexes