Android sqlite: No se pudo cambiar la configuración regional de db en 'zh_CN'

Hay un problema similar,

Android.database.sqlite.SQLiteException: Error al cambiar la configuración regional para db Causado por: android.database.sqlite.SQLiteDatabaseCorruptException: la imagen del disco de la base de datos está mal formada (código 11)

Error al cambiar la configuración regional de db '/data/data/my.easymedi.controller/databases/EasyMediInfo.db' a 'en_US'

Pero mi base de datos es creada por android a través de SQLiteOpenHelper. Y aparece en algunos dispositivos. Quiero saber qué puede causar este problema, ya que ni siquiera puedo reproducirlo. ¿Como puedó resolver esté problema? ¡Muchas gracias!

android.database.sqlite.SQLiteException: Failed to change locale for db '/data/data/com.android.settings/databases/myDB.db' to 'zh_CN'. at android.database.sqlite.SQLiteConnection.setLocaleFromConfiguration(SQLiteConnection.java:386) at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:218) 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.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:833) at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:221) at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:224) at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:164) at com.example.optimizecenter.packages.e.mO(PackagesManager.java:150) at com.example.optimizecenter.packages.PackageSyncService.onHandleIntent(PackageSyncService.java:24) at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.os.HandlerThread.run(HandlerThread.java:60) Caused by: android.database.sqlite.SQLiteDatabaseCorruptException: database disk image is malformed (code 11) at android.database.sqlite.SQLiteConnection.nativeExecuteForString(Native Method) at android.database.sqlite.SQLiteConnection.executeForString(SQLiteConnection.java:634) at android.database.sqlite.SQLiteConnection.setLocaleFromConfiguration(SQLiteConnection.java:367) ... 18 more 

Aquí está mi clase de ayuda.

 public class PackageDataBaseHelper extends SQLiteOpenHelper { public PackageDataBaseHelper(Context context) { super(context, PackageColumns.DB_NAME, null, PackageColumns.DB_VERSION); } @Override public void onCreate(SQLiteDatabase db) { StringBuilder sb = new StringBuilder(); sb.append("create table "); sb.append(PackageColumns.TABLE_PACKAGE); sb.append(" ("); sb.append(PackageColumns._ID + " integer primary key autoincrement, "); sb.append(PackageColumns.COLUMN_APPLICATION_LABEL + " TEXT ,"); sb.append(PackageColumns.COLUMN_PACKAGE_NAME + " TEXT ,"); sb.append(PackageColumns.COLUMN_VERSION_NAME + " TEXT ,"); sb.append(PackageColumns.COLUMN_VERSION_CODE + " INTEGER ,"); sb.append(PackageColumns.COLUMN_IC_LAUNCHER + " BOLD"); sb.append(");"); db.execSQL(sb.toString()); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // ignore } } 

 SQLiteDatabase db=SQLiteDatabase.openDatabase("/data/data/com.android.settings/databases/myDB.db", null,SQLiteDatabase.NO_LOCALIZED_COLLATORS|SQLiteDatabase.CREATE_IF_NECESSARY); 

Intente este ejemplo de código a su código ..

Si tiene el navegador sqlite, abra su base de datos .. En su base de datos, la configuración regional de la tabla android_metadata no parece estar en_US

  • Cómo solucionar el error "HeapWorker is wedged" en Android?
  • Parámetros de Android SQLite rawquery
  • Sqlite Database - ¿Cómo guardar la imagen tomada de la intención de la cámara, así como hashmap a sqlite para recuperar más tarde?
  • Android concurrencia sqlite sin excepciones
  • Crear tabla adicional en SQLITE existente (sin pérdida de datos)
  • Cómo superar el límite de 65535 bytes para el código de método
  • Eliminación automática de objetos anidados en ORMLite
  • cómo crear base de datos una sola vez, a continuación, leer y escribir varias veces desde él, SQLite, OpenHelper, Android
  • Obteniendo la última fila de la base de datos sqlite
  • declaración no válida en fillwindow () en Android
  • Java - java.lang.IllegalStateException: No se pudo leer la fila 0, col -1 de CursorWindow
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.