android.database.sqlite.SQLiteCantOpenDatabaseException: unknown error (code 14): Could not open dat
2016-05-25 10:54
1716 查看
今天从晚上下了一份Demo源码,导入到Android Studio运行,报出了如下的错误:
在Stack Overflow中查询了相关的问题,有很多同学提出了如下的解决方法:
1. 添加读写权限
![](http://img.blog.csdn.net/20160525103002627)
2. 修改代码
![](http://img.blog.csdn.net/20160525103141167)
解决方法有很多,在这里不一一列举,链接如下:
http://stackoverflow.com/questions/17034511/android-database-sqlite-sqlitecantopendatabaseexception-unknown-error-code-14
如上的方法尝试过,都没有解决上述的错误,然后在读Demo里面代码的时候发现了如下问题:
![](http://img.blog.csdn.net/20160525104823595)
数据库路径与自己工程的报名不一致
在将路径修改为包名后,程序成功运行了!
虽然这是一个小问题,但是反应了程序调试中每个细节都是至关重要的。作为开发者,往往一个小小的忽视会造成大好几个数量级的错误,编写程序需要用心、用细心!
Caused by: 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:806) at android.database.sqlite.SQLiteDatabase.open(SQLiteDatabase.java:791) 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 com.dm.selectcity.DBHelper.createDataBase(DBHelper.java:101) at com.dm.selectcity.MainActivity.getCityList(MainActivity.java:256) at com.dm.selectcity.MainActivity.cityInit(MainActivity.java:208) at com.dm.selectcity.MainActivity.onCreate(MainActivity.java:154) at android.app.Activity.performCreate(Activity.java:5990) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387) at android.app.ActivityThread.access$800(ActivityThread.java:151) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5254) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
在Stack Overflow中查询了相关的问题,有很多同学提出了如下的解决方法:
1. 添加读写权限
2. 修改代码
解决方法有很多,在这里不一一列举,链接如下:
http://stackoverflow.com/questions/17034511/android-database-sqlite-sqlitecantopendatabaseexception-unknown-error-code-14
如上的方法尝试过,都没有解决上述的错误,然后在读Demo里面代码的时候发现了如下问题:
数据库路径与自己工程的报名不一致
在将路径修改为包名后,程序成功运行了!
虽然这是一个小问题,但是反应了程序调试中每个细节都是至关重要的。作为开发者,往往一个小小的忽视会造成大好几个数量级的错误,编写程序需要用心、用细心!
相关文章推荐
- Android小记-SQLiteOpenHelper正确使用避免leak
- android 保存Json数据到本地
- android view坐标系统
- 利用gradle构建android版本号、包名
- UWP-消息提示(仿Android)
- android处理拍照旋转问题及带来的对内存占用的思考
- android处理拍照旋转问题及带来的对内存占用的思考
- Android中的Volley通信框架
- PullToRefresh开源demo
- Android屏幕适配(三)适配文件的自动生成和系统适配
- android 事件分发机制,最简单详解
- intellij idea (Android studio )外部程序 打开某扩展名(格式)
- 这是我第一篇文章,不谈技术层,只谈Android发展
- Android Tombstone/Crash的log分析和定位
- Android的jni下c与java数据互传测试代码
- 生产者-消费者模型在Android开发中的应用
- Android Studio 2.1中的instant run功能 介绍
- Android Studio Gradle 对应的下载目录
- Android端手机测试体系
- 根据时间戳判断是星期几