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 } } 

One Solution collect form web for “Android sqlite: No se pudo cambiar la configuración regional de db en 'zh_CN'”

 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

  • Ordenar una lista en orden ascendente por fecha desde sqlite
  • Los datos se rellenan de la fecha de una tabla en particular en lugar de toda la tabla en sqlite
  • ¿Es esencial cerrar la base de datos?
  • Cursor finalizado sin advertencia previa de cierre (). ¿Qué significa eso?
  • ¿Importa si escribo "INTEGER" o "int" en el comando sql dentro de java?
  • SelectionArgs en SQLiteQueryBuilder no funciona con valores enteros en columnas
  • androide sqlite cómo ordenar por el tiempo
  • GreenDAO no genera restricción FOREIGN KEY (...) en la tabla
  • Eliminación de fila en SQLite en Android
  • SQLiteDatabase close () función que causa NullPointerException cuando varios subprocesos
  • La mejor manera de agrupar fotos con app: archivos o en la base de datos sqlite?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.