當我將此代碼添加到我的Android 2.1的Java應用程序,它失敗:SQLite數據庫創建失敗,文件不清
db=SQLiteDatabase.openOrCreateDatabase("Locations", null);
我是否需要特殊的權限創建一個數據庫,或任何人可以提供建議如何找出哪裏出了問題?
這裏是logcat的輸出:
04-04 15:04:28.702: DEBUG/ddm-heap(703): Got feature list request
04-04 15:04:29.642: ERROR/Database(703): sqlite3_open_v2("Locations", &handle, 6, NULL) failed
04-04 15:04:29.652: DEBUG/AndroidRuntime(703): Shutting down VM
04-04 15:04:29.662: WARN/dalvikvm(703): threadid=3: thread exiting with uncaught exception (group=0x4001b188)
04-04 15:04:29.662: ERROR/AndroidRuntime(703): Uncaught handler: thread main exiting due to uncaught exception
04-04 15:04:29.702: ERROR/AndroidRuntime(703): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.gormtech.zyx.RejseplanQuick/com.xxx.zyx.xxx.HelloAndroid}: android.database.sqlite.SQLiteException: unable to open database file
您能否更具體地說「發生故障」,比如發佈Java堆棧跟蹤?您可以通過'adb logcat',DDMS或Eclipse中的DDMS透視圖訪問該堆棧跟蹤。 FWIW,我真的推薦你使用'SQLiteOpenHelper',而不是像你手動打開數據庫那樣,這樣你可以獲得更新模式的幫助。 – CommonsWare 2010-04-04 12:21:58
在開始使用諸如SQLiteOpenHelper之類的不明方法之前,理解事情的工作方式對我來說非常重要。否則,我可能很容易結束一個不穩定或緩慢的應用程序,而不知道爲什麼。 – 2010-04-04 13:02:13
我添加了logcat輸出。錯誤消息是它無法打開數據庫文件,並且GUI行爲是強制關閉。 – 2010-04-04 13:09:02