我正在编写一个简单的代码来尝试查看数据库文件是如何在 data/data/getPackageName()/databases 文件夹中创建的。代码如下:
package com.package.test;
import android.os.Bundle;
import android.app.Activity;
import android.database.sqlite.SQLiteDatabase;
import android.view.Menu;
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
SQLiteDatabase db = openOrCreateDatabase("MYDB",MODE_PRIVATE,null);
db .execSQL("CREATE TABLE IF NOT EXISTS MyTable (LastName VARCHAR, FirstName VARCHAR, AGE INT(3));");
db.execSQL("INSERT INTO MyTables VALUES ('Brimelow', 'lee', 37);");
db.close();
}
}
问题是,当我尝试运行上述代码时,出现以下错误:
12-18 10:35:21.568: I/Database(2090): sqlite returned: error code = 1, msg = no such table: MyTables
12-18 10:35:21.568: E/Database(2090): Failure 1 (no such table: MyTables) on 0x125ef0 when preparing 'INSERT INTO MyTables VALUES ('Brimelow', 'lee', 37);'.
12-18 10:35:21.568: W/dalvikvm(2090): threadid=1: thread exiting with uncaught exception (group=0x4001d890)
12-18 10:35:21.583: E/AndroidRuntime(2090): FATAL EXCEPTION: main
12-18 10:35:21.583: E/AndroidRuntime(2090): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.package.test/com.package.test.MainActivity}: android.database.sqlite.SQLiteException: no such table: MyTables: INSERT INTO MyTables VALUES ('Brimelow', 'lee', 37);
同样在 Eclipse 中,当我在 DDMS 视图的文件资源管理器中搜索时,我似乎在我的“数据”文件夹中找不到任何东西。我知道数据库表无法创建,但我看不出问题出在哪里。有人可以帮忙吗?
谢谢。