2013-04-06 2 views
0

J'ai une liste de mots (112 000 dans l'ordre alphabétique) avec un mot définitions. Les définitions sont parfois plus d'un et sont au format:Comment stocker un grand nombre de mots (accessible par une application Android)?

mot: définition1 | definition2 | ...

Le nombre maximum de définitions pour un mot est 8.

je besoin d'une méthode pour stocker dans un fichier (ou plus est correct) afin qu'ils puissent être accessibles par une application Android. Un seul mot sera accessible à la fois. Cette liste ne changera jamais. Considérant SQLite, comment j'insérerais les grandes données dans une base de données?

Considérant RandomAccessFile, comment créer un index pour ces mots?

Existe-t-il un autre moyen? Merci.

Répondre

3

Je vous suggère d'aller avec SQLite car il serait facile d'extraire des données au fur et à mesure des besoins et il serait simplement facile d'obtenir/date/mettre à jour des données à partir d'une position particulière aussi.

Un autre avantage est que vous pouvez préparer la base de données SQLite en utilisant trop outil graphique.

Suivez ensuite procédure ci-dessous pour utiliser base de données existante SQLite, signifie que vous aurez base de données prêt avec les données de mots:

  1. Préparer la base de données SQLite même que nous faisons dans .NET, ici vous pouvez préparer en utilisant l'un des meilleurs outils SQLite Manager que vous pouvez télécharger comme un outil/add-on dans Mozilla Firefox.

  2. Une fois que vous avez terminé avec la base de données, collez-le simplement dans le dossier assets.

  3. Maintenant, écrivez un code pour copier la base de données du dossier assets dans notre application. Il y a beaucoup d'exemples disponibles sur le web pour la même chose.

+1

C'est fantastique. Je ne suis pas familier avec .NET. Pourriez-vous expliquer comment remplir la base de données avec des données provenant d'un fichier texte? Brièvement et je vais le Google. –

+1

Utilisé script vb dans Excel et importé les données, puis à SQLite. Merci! –

+0

@ArjunU Si cela vous a vraiment aidé alors vous devriez le voter. –

-1

Utilisez une base de données sqlite DB, stocker 112 000 ou plus ne devrait pas poser de problème du tout pour sqlite. Votre peut utiliser votre schéma db quelque chose comme ce qui suit:

enter image description here

Et il peut y avoir plusieurs entrées de wordId -> meaningId, pour chaque mot.

pour les données pré-stockage, vous pouvez utiliser un tutoriel fourni par moi dans mon blog: Using Pre-populated sqlite database in android

+0

Oui mais ma question était de savoir comment pré-remplir la base de données avec 112K mots. –

+0

Sa question concerne le stockage des mots. Tu ne l'as pas lu? –

+0

Juste édité ma réponse, s'il vous plaît écrire quelque chose dans votre question comme: comment puis-je pré-remplir ma base de données. –

Questions connexes