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

  • ORM en Android SQLite y esquema de base de datos
  • Razones para utilizar la base de datos SQLite legible
  • Carga pesada en el hilo que causa problemas de memoria
  • Cómo agregar segunda tabla en la base de datos en sqlite?
  • Orden de índices de columna SQLite crea tabla
  • SQLite ordena caracteres especiales alfabéticamente
  • cómo guardar datos de json en sqlite en android
  • ¿Qué tan rápido es cursor.moveToPosition (i)?
  • Android: ¿Cómo crear mi propia clase de cursor?
  • Actualizar una columna como suma de otras dos columnas
  • Android - Código de error 11 al importar la base de datos Sqlite en Galaxy Note
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.