SQLite Android . impossible d'ouvrir le fichier de base de données
J'ai trouvé beaucoup de question à propos de ce problème, mais je ne peux pas le fixer.
J'ai une db sqlite dans le dossier des actifs:
assets/data/data/{package_name}/databases/mydb.db
Je peux ouvrir la base de données et de lire les données avant de modifier une structure de table. J'ai essayer de désinstaller l'application et de la réinstaller à nouveau, mais j'obtiens la même exception.
Que puis-je faire maintenant?
Merci d'avance
MODIFIER
// The Android's default system path of your application database.
private static String DB_PATH = "/data/data/{mypagackename}/databases/";
private static String DB_NAME = "mydb.db";
Base de données ouverte (Avant le changement de structure de table, l'ajout de certains champs, il ne fonctionne pas)
public void openDataBase() throws SQLException {
// Open the database
String myPath = DB_PATH + DB_NAME;
myDataBase = SQLiteDatabase.openDatabase(myPath, null,
SQLiteDatabase.OPEN_READONLY);
}
Ce que l'exception? Ce code vous tentent?
Vous êtes en train de modifier la structure de la table à l'intérieur du programme ou de l'avant et de sauvegarder la nouvelle configuration dans le dossier actifs?
Je suis la modification de structure de la table avec sourceforge.net/projects/sqlitebrowser/files/latest/download j'ai enregistrer le fichier et de le remplacer dans le dossier des actifs. ce que je fais mal?
Veuillez prendre en considération
Non, il ne va pas travailler de cette façon, db devrait être dans la mémoire interne du téléphone. de données/data/votre.package.nom/votre.db pas dans les actifs.
Vous êtes en train de modifier la structure de la table à l'intérieur du programme ou de l'avant et de sauvegarder la nouvelle configuration dans le dossier actifs?
Je suis la modification de structure de la table avec sourceforge.net/projects/sqlitebrowser/files/latest/download j'ai enregistrer le fichier et de le remplacer dans le dossier des actifs. ce que je fais mal?
Veuillez prendre en considération
SQLiteAssetHelper
comme une solution de débogage pour l'emballage d'une base de données avec votre application et le déballage lors de la première utilisation: github.com/jgilfelt/android-sqlite-asset-helperNon, il ne va pas travailler de cette façon, db devrait être dans la mémoire interne du téléphone. de données/data/votre.package.nom/votre.db pas dans les actifs.
OriginalL'auteur jzafrilla | 2012-07-26
Vous devez vous connecter pour publier un commentaire.
Regarder ce tutoriel
Il Explique comment travailler avec préchargé base de données. Fondamentalement, vous ne pouvez pas utiliser la base de données de droit de l'actif, vous devez la copier en interne de stockage de données de la première et de l'ouvrir à partir de
OriginalL'auteur Maxim
Au lieu de codé en dur
DB_PATH
(pas plus de travail dans JB), je vous recommande de toujours aller avec Android intégré de la méthode de l'API,OriginalL'auteur RootCode