Android sqllite idioma turco
Estoy trabajando en una aplicación de Android que admite inglés y idioma turco . La aplicación contiene una base de datos SQLite que contiene una columna Tabla y Autoincremento _id .
Cuando esta aplicación se ejecuta en dispositivo Inglés funciona bien, pero al ejecutarlo en el dispositivo turco de la base de datos deja de generar IDs automáticamente.
- Cómo agregar la cláusula de límite a manageQuery en android
- Android: ¿necesitamos cerrar Db después de cerrar el cursor
- Cómo contar el número de registros en sqlite en Android
- Insertar datos JSON en la base de datos SQLite en android
- ¿Cuál es el método más rápido para realizar más de 64 combinaciones de tablas en SQlite?
He intentado extraer el archivo de la base de datos y abrirlo en el hojeador de la base de datos de SQLite, él está ahorrando todos los valores de las columnas correctamente, solamente el valor de la columna del _id todavía vacía en localización turca
Ideas para resolver este problema?
Editar:
Creación de la base de datos:
public class DatabaseHandler extends SQLiteOpenHelper { private final static String TAG = "DatabaseHandler"; private final static int DATABASE_VERSION = 3; private final static String DATABASE_NAME = "app_main_database"; public DatabaseHandler(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); } @Override public void onCreate(SQLiteDatabase db) { String query = "CREATE TABLE tbl_item (_id INTEGER PRIMARY KEY NULL, _serverId TEXT NULL, _itemName TEXT NULL, _lastEditDate DATETIME NOT NULL)"; db.execSQL(query); }
Insertar fila en la tabla:
@Override public void insert() { ContentValues reVal = new ContentValues(); reVal.put(COL_ITEM_SERVER_ID, getItemServerId()); reVal.put(COL_ITEM_NAME, getItemName()); reVal.put(COL_LAST_EDIT_DATE, getLastEditDate()); SQLiteDatabase sqLite = new DatabaseHandler(this).getWritableDatabase(); sqLite.insert(tableName, null, obj.getContentValues()); }
- Consulta SQLite: Seleccione la consulta con la cláusula BETWEEN
- SQLiteStatement ejecuta un SELECT / INSERT / DELETE / UPDATE
- ¿Tengo que usar _ID como una clave primaria de SQlite? Y tiene que ser un INT? (Android Dev)
- INSERTAR O IGNORAR tabla con la clave AUTOINCREMENT en Android
- ¿Cómo puedo poner datos estáticos en una base de datos SQLite en Android?
- Actualizar la base de datos SQLite de una versión a otra?
- Es posible copia de seguridad y restaurar un archivo de base de datos en android? Dispositivos no root
- Android SQLite Dónde y cuándo inicializar SQLiteOpenHelper
Usted podría intentar abrir su base de datos y fijar el locale (usando setLocale
) al inglés. De forma predeterminada, utilizará la configuración regional del sistema.
Utilizando openDatabase
también puede establecer el indicador NO_LOCALIZED_COLLATORS
(lo cual deshabilita cada setLocale y podría solucionar su problema (pero nunca lo probó sólo una investigación en este momento))
public static final int NO_LOCALIZED_COLLATORS Added in API level 1 Open flag: Flag for openDatabase(String, SQLiteDatabase.CursorFactory, int) to open the database without support for localized collators. This causes the collator LOCALIZED not to be created. You must be consistent when using this flag to use the setting the database was created with. If this is set, setLocale(Locale) will do nothing. Constant Value: 16 (0x00000010)
Como primer intento, probaría el setLocale
en objeto de la datatabase
.
- Xamarin: BroadcastReceiver no recibe cuando la aplicación no se está ejecutando
- Aplicación Android Mobile / Wear onMessageReceived llamada varias veces para un mensaje