Ich habe eine Anwendung verwendet sqlite db, bei der ersten Installation überprüfe ich, ob Datenbankordner noch db-Datei existiert Wenn nicht updateDB Funktion aufrufen. aber einige Fälle zum Beispiel auf Galaxie Note 10.1 Es gibt mir einen Fehler.
beim Laden;
%Vor%DBHELPER KLASSE & gt;
%Vor%Fehlerprotokolldatei & gt;
%Vor% Ich hatte das gleiche Problem database disk image is malformed
, als ich versuchte, auf die Datenbank zuzugreifen, als sie sich selbst aktualisierte. Also folgte ich dem unteren Weg.
DataBaseHelper
DBAdapter
Abhan
Erweiterte Anwendungsklasse
Deklarieren Sie in Ihrem AndroidManifest
Abhan
Greifen Sie in Ihrer Activity
auf Ihre Datenbank zu, indem Sie Application
Class
In onCreate
Greifen Sie nun wie folgt auf Ihre Datenbank-Transaktionsmethode zu.
%Vor% Hier gibt abhan.getDBInstatnce()
Ihre Database
Instanz zurück, die eine einzige Instanz in Ihrer gesamten Anwendung ist und getCurrentDay()
ist meine Methode, die in DBAdpater
deklariert ist und mir einen aktuellen Tag zurückgibt.
Ich hoffe, dass dieser Ihr Problem lösen kann. Danke.
Ich hatte ein ähnliches Problem, als ich vorgefüllte db verwendete. Ich habe gerade so gelöst.
Das Problem war in der sqlite-Datenbank, ich denke, es war ein Fehler in sqlite3 alten Versionen, vielleicht vor 3.6. Was ich getan habe, war, ich habe die Datenbank mit sqlite3 v3.7.11 nachgebildet und es funktioniert wie ein Zauber - Und vergiss es nicht Erstellen Sie android_metadata table
Es hat dann für mich funktioniert, ich hoffe, dass dir das weiterhilft.