Comment puis-je créer une base de données SQLite sous Android par l'importation à partir d'un fichier SQL?
J'ai un gros fichier texte contenant SQL CREATE TABLE
et INSERT
consolidés. Comment puis-je importer ce fichier dans le SQLiteOpenHelper
onCreate
méthode?
Ou, est-il un moyen de l'utilisation de la base de données binaire fichier directement?
J'ai besoin de cela pour être compatible avec Android 1.6.
OriginalL'auteur rid | 2011-06-21
Vous devez vous connecter pour publier un commentaire.
Dans le SQLiteOpenHelper onCreate() méthode, vous pouvez simplement utiliser
db.execSQL(...)
mais cela dépend de la façon dont votre "fichier texte" est structuré (et comment elle est grande).Alternativement, vous pouvez 'navire' SQLite db avec votre app - voir ce lien pour vous donner quelques idées...
À l'aide de votre propre base de données SQLite dans les applications Android
/data/data/YOUR_PACKAGE/databases/
chemin, sans avoir à coder en dur?Essayez de developer.android.com/reference/android/content/... pour
getDatabasePath(...)
OriginalL'auteur Squonk
J'ai eu à résoudre le même problème. Ne pouvais pas trouver un moyen de le faire, alors j'ai mis le fichier dans le res/raw répertoire et utilisé
openRawResource
pour obtenir un InputStream. J'ai ensuite lu les lignes jusqu'à ce que l'une s'est terminée avec un;
. J'ai alors adopté la déclaration de la base de données sqlite.J'espère que quelqu'un d'autre vient avec une meilleure façon, mais j'ai pensé que je voudrais simplement ajouter le chemin que j'ai fini par le faire.
OriginalL'auteur Steve Prentice
Suivantes Steve Prentice réponse. C'est ma mise en œuvre:
mydb.fichier sql dans res/raw
MyClass.java
OriginalL'auteur Androiderson
Le problème avec l'importation de votre propre fichier de base de données sqlite est que vous devez assurez-vous que le moteur de la version que vous avez créé le fichier correspond à la version du moteur sur l'appareil Android la base de données est en cours d'installation. en exécutant le fichier de script SQL, assurez-vous que la base de données est créée en utilisant le moteur installé sur l'appareil Android.
OriginalL'auteur Quasaur