Android sqlite: Не удалось изменить локаль для db в 'zh_CN'

Аналогичная проблема существует,

Android.database.sqlite.SQLiteException: Не удалось изменить локаль для db. Причина: android.database.sqlite.SQLiteDatabaseCorruptException: образ диска базы данных неверен (код 11)

Не удалось изменить локаль для db '/data/data/my.easymedi.controller/databases/EasyMediInfo.db' to 'en_US'

Но моя база данных создается андроидом через SQLiteOpenHelper. И он появляется в нескольких устройствах. Я хочу знать, что может вызвать эту проблему, поскольку я даже не могу воспроизвести ее. Как я могу решить эту проблему? Большое спасибо!

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 

Вот мой вспомогательный класс.

 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); 

    Попробуйте этот образец кода в свой код.

    Если у вас есть браузер с sqlite, откройте свою базу данных .. В вашей базе данных таблица locroid android_metadata выглядит не en_US

    Intereting Posts
    Не удалось разрешить: com.google.android.gms: play-services-measurement: 9.0.2 Как получить эту крест-кнопку / изображение на границе пользовательского диалогового окна? Контекст Android Intent Confusing Android: Как вы можете получить фреймбуфер (скриншот) на корневом устройстве? Android – кнопка радио не показывает свой текст Android – рингтон не перестанет играть LogCat перестает работать Android ListView. Как изменить цвет фона вручную выбранного элемента Как отобразить все данные таблицы базы данных в TextView в андроиде, используя SQLite Хорошие альтернативы для совместного использования сложного дерева объектов между действиями в Android? Установите фоновое изображение для веб-просмотра на Android Android InAppBilling – что делать, когда пользователь нажимает кнопку покупки? Проверка на стороне сервера ответов на лицензирование на Android Market с помощью PHP Не удается передать объект ArrayList <Parcelable> в действие Добавление OnItemSelectedListener в Spinner