安卓SQLite打开数据库的错误
来源:互联网 发布:java教程视频下载 编辑:程序博客网 时间:2024/05/16 12:55
今天准备在安卓创建一个数据库,语句如下
可是死活都会有一个错误
可是错误依旧
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();}}终于可以了,成功打开了数据库
0 0
- 安卓SQLite打开数据库的错误
- 安卓SQLite数据库
- 安卓 SQLite数据库
- 安卓SQLite数据库的使用
- 安卓sqlite数据库的使用
- Sqlite 安卓的数据库使用
- SQLite安卓数据库使用
- 安卓SQLite数据库笔记
- 安卓009SQLite数据库
- 安卓数据库SQLite详解
- 安卓中的SQLite数据库的基本操作1
- 安卓sqlite数据库中sql语句的问题
- 安卓开发:本地数据库SQLite的使用
- 安卓入门--Sqlite安卓中数据库的增删查改
- 安卓--SQLite数据库的简单使用(说明+代码)
- 安卓开发——SQLite数据库的使用
- 安卓开发SQLite关系数据库的使用
- eclipse新建的安卓项目再次打开一堆错误
- Java并发编程(3)-- Thread
- redis StackExchange 主备 实现 demo
- Spring+SpringMVC+MyBatis+easyUI整合基础篇(四)代码简化
- STl的一些具体的例题的应用
- sql语句获取想要字段中值与实际值不一样时的拼写
- 安卓SQLite打开数据库的错误
- Linux UDP套接字编程
- 【LeetCode】1. Two Sum
- imx6q led灯驱动及测试代码ioctl(自动创建设备文件v2)
- Quartz
- 02JVM-内存溢出
- Objective-C类的静态数据成员
- 提升树GBDT 详解
- Why is it faster to process a sorted array than an unsorted array?