2011-04-11 6 views
7

Je veux stocker des données sous forme de structure, c'est-à-dire toutes les informations sur de nombreux appels (comme les journaux d'appels). Que devrais-je préférer? et je ne veux pas partager mes données avec d'autres applications.Meilleure façon de stocker des données dans Android

  1. SQLiteDatabase
  2. ContentProvider
  3. SharedPreference
  4. ou stockage de fichiers
  5. ou tout autre moyen pour ma condition que je ne sais pas.

Répondre

0

Vous pouvez également conserver les données dans le fichier XML créé par votre application. Dans de nombreuses applications, je l'ai fait. Et en utilisant n'importe quel analyseur SAX ou DOM vous pouvez récupérer des données en douceur. Aucune autre application ne peut accéder à ce code XML.

Hope this helps

17

SharedPreferences est apparemment mis en œuvre en interne comme un fichier XML qui est sérialisé et désérialisé dans son intégralité sur la mise à jour. Et c'est un magasin de valeur-clé sans index. Utilisez-le donc uniquement pour les données simples associées à votre application. Pas plus de 50 touches et vous l'avez probablement surfait.

ContentProvider est destiné à partager des données entre applications. Vous avez explicitement dit que vous ne voulez pas faire cela.

SQLiteDatabase est destiné à des applications individuelles pour stocker des données, et offre une grande flexibilité pour stocker et indexer les données de différentes manières. Je l'utilise personnellement pour stocker des journaux dans l'une de mes applications. Je recommanderais cette route.

Une autre option consiste à se connecter aux fichiers texte ordinaires stockés dans le stockage de fichiers.

+1

+1 m'a également aidé – Joset

1

J'ai récemment découvert db4o [http://www.db4o.com/android/]. Ce n'est pas le meilleur choix pour stocker les logs mais si vous voulez stocker les données dans votre objet c'est certainement une excellente alternative à SQLite.

Questions connexes