国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

安卓SQLite打開數據庫的錯誤

2019-11-06 09:48:15
字體:
來源:轉載
供稿:網友
今天準備在安卓創建一個數據庫,語句如下

SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(databaseFile, null);可是死活都會有一個錯誤

02-27 22:28:37.149 11221-11221/io.wicp.namespacewjx.salarycalculator E/SQLiteLog: (14) cannot open file at line 30191 of [00bb9c9ce4]02-27 22:28:37.149 11221-11221/io.wicp.namespacewjx.salarycalculator E/SQLiteLog: (14) os_unix.c:30191: (21) open(/data/data/io.wicp.namespacewjx.salarycalculator/databases/salary database.db3) - 02-27 22:28:37.159 11221-11221/io.wicp.namespacewjx.salarycalculator E/SQLiteDatabase: Failed to open database '/data/data/io.wicp.namespacewjx.salarycalculator/databases/salary database.db3'.                                                                                       android.database.sqlite.SQLiteCantOpenDatabaseException: unknown error (code 14): Could not open database                                                                                           at android.database.sqlite.SQLiteConnection.nativeOpen(Native Method)                                                                                           at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:209)                                                                                           at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:193)                                                                                           at android.database.sqlite.SQLiteConnectionPool.openConnectionLocked(SQLiteConnectionPool.java:463)                                                                                           at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:185)                                                                                           at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:177)                                                                                           at android.database.sqlite.SQLiteDatabase.openInner(SQLiteDatabase.java:804)                                                                                           at android.database.sqlite.SQLiteDatabase.open(SQLiteDatabase.java:789)                                                                                           at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:694)                                                                                           at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:709)                                                                                           at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:702)                                                                                           at io.wicp.namespacewjx.salarycalculator.model.db.DatabaseManager.initDB(DatabaseManager.java:35)                                                                                           at io.wicp.namespacewjx.salarycalculator.model.db.DatabaseManager.<init>(DatabaseManager.java:21)                                                                                           at io.wicp.namespacewjx.salarycalculator.activity.SalaryMainActivity.testWorkerDatabase(SalaryMainActivity.java:30)                                                                                           at io.wicp.namespacewjx.salarycalculator.activity.SalaryMainActivity.onCreate(SalaryMainActivity.java:21)                                                                                           at android.app.Activity.performCreate(Activity.java:5231)                                                                                           at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1104)                                                                                           at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2163)                                                                                           at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2269)                                                                                           at android.app.ActivityThread.access$800(ActivityThread.java:135)                                                                                           at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)                                                                                           at android.os.Handler.dispatchMessage(Handler.java:102)                                                                                           at android.os.Looper.loop(Looper.java:136)                                                                                           at android.app.ActivityThread.main(ActivityThread.java:5045)                                                                                           at java.lang.reflect.Method.invokeNative(Native Method)                                                                                           at java.lang.reflect.Method.invoke(Method.java:515)                                                                                           at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)                                                                                           at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)                                                                                           at dalvik.system.NativeStart.main(Native Method)

我嘗試給這個程序讀寫的權限

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>可是錯誤依舊

后來,網上搜索許多的文章(原文章忘記在哪里了,不過感謝那個文章作者),才知道原來,OpenOrCreateDatabase并不會幫我們創建一個文件,這個文件必須由自己創建。于是,添加如下的代碼

		if (!databaseFile.exists()) {			databaseFile.getParentFile().mkdirs();			try {				databaseFile.createNewFile();			} catch (IOException e) {				e.PRintStackTrace();			}		}終于可以了,成功打開了數據庫


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 彰化县| 广德县| 扶风县| 南郑县| 保山市| 睢宁县| 汉阴县| 滦平县| 泸西县| 新津县| 太仆寺旗| 东丽区| 临清市| 阿拉善盟| 凉城县| 平邑县| 沙坪坝区| 巍山| 江孜县| 墨脱县| 南城县| 枞阳县| 巴楚县| 澄迈县| 军事| 千阳县| 大同县| 泰安市| 焉耆| 宝鸡市| 新巴尔虎右旗| 海门市| 威信县| 城固县| 喜德县| 乐昌市| 义乌市| 沙湾县| 饶阳县| 湖北省| 麻江县|