以下是代码创建应用程序数据库的内容。我们发现它似乎没有创建表格,因此我们在尝试插入和读取表格数据时程序崩溃。我们已经尝试了所有可能的方法,添加System.out.println的语句以查看程序执行到哪一步了。我们可以看到程序已经执行到了tophere这里,但是没有执行下面的downhere,所以我们猜测原因可能出在这里。我们使用DDMS检查数据库是否在正确的文件夹中,因此应该存在数据库,但是某些原因导致它无法找到它(见日志中的第2行和第3行)。
有什么想法吗?
以下是错误日志:
有什么想法吗?
以下是错误日志:
04-27 10:45:46.768: I/System.out(6441): tophere 04-27 10:45:46.772: I/SqliteDatabaseCpp(6441): sqlite返回:错误代码=1,消息=未知数据库NOPO,db=/data/data/dmri.nopo/databases/NOPO 04-27 10:45:46.772: W/System.err(6441): android.database.sqlite.SQLiteException: 未知数据库NOPO: ,在编译时:创建表if not exists NOPO.log (time INTEGER primary key, text TEXT not null); 04-27 10:45:46.792: W/System.err(6441): at android.database.sqlite.SQLiteCompiledSql.native_compile(Native Method) 04-27 10:45:46.792: W/System.err(6441): at android.database.sqlite.SQLiteCompiledSql.(SQLiteCompiledSql.java:68) 04-27 10:45:46.811: W/System.err(6441): at android.database.sqlite.SQLiteProgram.compileSql(SQLiteProgram.java:134) 04-27 10:45:46.811: W/System.err(6441): at android.database.sqlite.SQLiteProgram.compileAndbindAllArgs(SQLiteProgram.java:361) 04-27 10:45:46.811: W/System.err(6441): at android.database.sqlite.SQLiteStatement.acquireAndLock(SQLiteStatement.java:260) 04-27 10:45:46.811: W/System.err(6441): at android.database.sqlite.SQLiteStatement.executeUpdateDelete(SQLiteStatement.java:84) 04-27 10:45:46.811: W/System.err(6441): at android.database.sqlite.SQLiteDatabase.executeSql(SQLiteDatabase.java:1899) 04-27 10:45:46.823: W/System.err(6441): at android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1839) 04-27 10:45:46.823: W/System.err(6441): at dmri.nopo.DBAdapter$DatabaseHelper.onOpen(DBAdapter.java:67) 04-27 10:45:46.823: W/System.err(6441): at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:180) 04-27 10:45:46.902: W/System.err(6441): at dmri.nopo.DBAdapter.open(DBAdapter.java:86) 04-27 10:45:46.912: W/System.err(6441): at dmri.nopo.LogManager.readLogFile(LogManager.java:32) 04-27 10:45:46.912: W/System.err(6441): at dmri.nopo.LogActivity.onCreate(LogActivity.java:25) 04-27 10:45:46.921: W/System.err(6441): at android.app.Activity.performCreate(Activity.java:4465) 04-27 10:45:46.921: W/System.err(6441): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049) 04-27 10:45:46.931: W/System.err(6441): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920) 04-27 10:45:46.931: W/System.err(6441): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981) 04-27 10:45:46.941: W/System.err(6441): at android.app.ActivityThread.access$600(ActivityThread.java:123) 04-27 10:45:46.941: W/System.err(6441): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147) 04-27 10:45:46.953: W/System.err(6441): at android.os.Handler.dispatchMessage(Handler.java:99) 04-27 10:45:46.953: W/System.err(6441): at android.os.Looper.loop(Looper.java:137) 04-27 10:45:46.972: W/System.err(6441): at android.app.ActivityThread.main(ActivityThread.java:4424) 04-27 10:45:46.972: W/System.err(6441): at java.lang.reflect.Method.invokeNative(Native Method) 04-27 10:45:46.972: W/System.err(6441): at java.lang.reflect.Method.invoke(Method.java:511) 04-27 10:45:46.982: W/System.err(6441): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java: