我有一个数据库文件的正常打开,当打开一个只有元数据表的空白数据库文件时它工作得很好,但是一旦我创建另一个表,它就会导致应用程序崩溃。也许是不同版本的数据库文件?如果您需要更多代码,请发表评论
private static String DB_PATH = "/data/data/com.example.andrew.ubair4/databases/";
private static String DB_NAME = "coordinates";
String myPath = DB_PATH + DB_NAME;
private SQLiteDatabase db;
public DataBaseHelper(Context context){
super(context, DB_NAME, null, 1);
this.myContext = context;
Log.d("TAGG","enter constructor");
db = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY); //<---- crashes right here IF I have a second table in the database
Log.d("TAGG","2");
我的元数据表:
CREATE TABLE "android_metadata" ("locale" TEXT DEFAULT 'en_US')
INSERT INTO "android_metadata" VALUES ('en_US')
再添加 1 个表:
CREATE TABLE something (
column1,
column2,
column3,
PRIMARY KEY (column1)
);
编辑:好的,我有新信息。如果我愿意获取 db 文件,请将其通过电子邮件发送给自己,然后将其替换回原始目录。它会崩溃。是的,你听到了。我什至不更改文件,我只是将文件通过电子邮件发送给自己,删除原始文件,然后用完全相同的文件替换它。然后它崩溃了。我正要把头发扯掉。