android.database.sqlite.SQLiteCantOpenDatabaseException: unknown error (code 14): Could not open dat

今天从晚上下了一份Demo源码,导入到Android Studio运行,报出了如下的错误:

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里面代码的时候发现了如下问题:


数据库路径与自己工程的报名不一致


在将路径修改为包名后,程序成功运行了!

虽然这是一个小问题,但是反应了程序调试中每个细节都是至关重要的。作为开发者,往往一个小小的忽视会造成大好几个数量级的错误,编写程序需要用心、用细心!

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值