Android DataBase está bloqueado por otro hilo
Estoy trabajando en la base de datos sqlite android en la que no soy capaz de insertar registro en DataBase.
En el código de abrir la base de datos sólo una vez en el momento de la aplicación de lanzamiento, y he establecido allí referencia a mi variable de clase de aplicación para que pueda acceder a la base de datos de cualquier parte del código y esto funciona bien.
El problema es: puedo acceder a la base de datos, pero no puedo iniciar Transacción. No me da ninguna excepción, pero sqLiteDatabaseWrite.isDbLockedByOtherThreads()
devuelve TRUE
. Además, en logcat hay un mensaje de advertencia:
- Error al descifrar en java
- Aplicación de Android con base de datos constantemente "inicio / espera de un bloqueo gc alloc"
- Mejor alternativa de la librería Android de SQLite?
- Android SQLite Eliminar problema de fila
- Android Guardar imágenes en una tarjeta de memoria o en una tarjeta SD
WARN / SQLiteDatabase (19006): bloqueo de base de datos no ha estado disponible durante 30 seg. El propietario actual de la cerradura es 1. Continuando a esperar en el hilo: 14
¿Alguna solución?
- Android Master-Detalle de ejemplo de base de datos
- BeginTransaction (), endTransaction () y setTransactionSuccessful (). ¿Qué hacen exactamente?
- SQLite Android asignación de la ventana de cursor de 2048 kb falló
- Obtener el ID del elemento ListView seleccionado (datos rellenos con DB de SQLite)
- Prácticas recomendadas para sincronizar una base de datos SQL con un servidor remoto REST en Android
- Android SQL Lite no crece
- Usando COLLATE en Android SQLite - Locales se ignora en la instrucción LIKE
- Cómo y dónde agregar el archivo sqlite (.db) en un proyecto de android
Gracias por estar conmigo. En realidad resolví mi problema. Comencé una operación de la base de datos de SQLite usando sqLiteDatabase.beginTransaction()
y olvidé terminar esta transacción. Resolví el problema al finalizar la transacción. Para terminar la transacción utilicé el código siguiente:
sqLiteDatabase.setTransactionSuccessful(); sqLiteDatabase.endTransaction();
Gracias.
- Cómo agregar detalles de contacto a través de código en la lista de contactos de Android Phone ..?
- Selector de contactos, recuperación de apellido, nombre, número de teléfono