Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Android 6.0更新导致在init期间DB sqlite崩溃大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我在应用程序类文件中创建@L_801_1@的代码在处理成千上万的设备,但最近我遇到崩溃,很多次,都来自 android 6.0,所以它可能与新的 Android版本有关.此次崩溃只发生在下面给出的3台设备上.请告知如何解决这个问题..

设备:
画布A1(AQ4501_sprout),Dream Uno(Mi-498_sprout),Sparkle V(Sparkle_V_sprout)

崩溃日志:

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:207)
    at android.database.sqlite.sqliteConnection.open(sqliteConnection.java:191)
    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.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:571)
    at android.content.Contextwrapper.openOrCreateDatabase(Contextwrapper.java:269)
    at android.database.sqlite.sqliteOpenHelper.getDatabaseLocked(sqliteOpenHelper.java:223)
    at android.database.sqlite.sqliteOpenHelper.getWritableDatabase(sqliteOpenHelper.java:163)

代码(崩溃发生在db.getWritableDatabase()):

//Application class
public class MyApp extends Application {

 @Override
 public void onCreate() {
    super.onCreate();
    dataBaseInit();
 }

 private void dataBaseInit() {
    db = new MyDatabase(getApplicationContext());

    // This will open an reference to database
    dataBaseRef = db.getWritableDatabase();
 }
}

//Database class
public class MyDatabase extends sqliteOpenHelper {

  // All Static variables
  // Database Version
  private static final int DATABASE_VERSION = 1;

  // Database Name
  private static final String DATABASE_NAME = "myDatabase";

  public MyDatabase(Context context) {
     super(context,DATABASE_NAME,null,DATABASE_VERSION);
  }

}

崩溃发生在db.getWritableDatabase().

请告知如何解决这个问题.

解决方法

我在清单中添加“android.permission.WRITE_EXTERNAL_STORAGE”权限后仍然遇到问题,但仍然像上面那样崩溃了.

大佬总结

以上是大佬教程为你收集整理的Android 6.0更新导致在init期间DB sqlite崩溃全部内容,希望文章能够帮你解决Android 6.0更新导致在init期间DB sqlite崩溃所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。