¿Qué es la base de datos "-journal" SQLite en Android?

En el directorio de base de datos de mi aplicación andoid (/data/data/com.me.myApp/databases), para cada base de datos sqlite que creo hay una base de datos correspondiente con el mismo nombre con "-journal" añadido a su nombre.

Por ejemplo: myDatabase, myDatabase-journal, myOtherDatabase.db, myOtherDatabase.db-journal

¿Que es esto?

y,

Si estoy proporcionando bases de datos pre-llenadas para mi aplicación (como por: http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/ ) necesito incluir Estos también?

Tales archivos de -journal no necesitan (y no deben) ser distribuidos.

Esto se debe a que los distintos archivos de diario representan datos temporales (por ejemplo, el uso de archivos de disco temporales de SQLite) utilizados por SQLite. En particular un archivo -journal es un diario de reversión .

Un diario de reversión es un archivo temporal utilizado para implementar capacidades de confirmación atómica y retrotracción en SQLite. (Para una discusión detallada de cómo funciona esto, vea el documento separado titulado Atomic Commit In SQLite). El diario de reversión siempre se encuentra en el mismo directorio que el archivo de base de datos y tiene el mismo nombre que el archivo de base de datos excepto con los 8 caracteres " -journal "añadido.

El diario de reversión se crea generalmente cuando se inicia una transacción y normalmente se elimina cuando una transacción se confirma o se vuelve a realizar. El archivo de diario de reversión es esencial para implementar las capacidades de confirmación atómica y retrotracción de SQLite. Sin un diario de reversión, SQLite sería incapaz de revertir una transacción incompleta, y si un accidente o pérdida de energía se produjo en medio de una transacción de toda la base de datos probablemente se corrompería sin un diario de reversión.

En general, estos archivos -journal sólo deben existir cuando hay una base de datos SQLite abierta -o mejor dicho, una transacción en ejecución- pero se puede controlar a través de PRAGMA journal_mode . Con la configuración predeterminada del pragma, se -journal archivos -journal .

El modo DELETE de registro en diario es el comportamiento normal. En el modo DELETE, el diario de retrotracción se elimina al final de cada transacción. De hecho, la operación de eliminación es la acción que hace que la transacción se cometan.

Asegúrese de copiar solamente los archivos de base de datos reales cuando la base de datos no está abierta y todas las revistas han sido eliminadas (o borradas) por el propio SQLite; Esto implica que todas las transacciones se han completado y la base de datos está en un estado consistente.

  • Abrir y editar archivos PDF en la aplicación de Android con API
  • Error de SQLiteOpenHelper
  • Usar swagger con una base de datos de android
  • Cómo agregar más de una columna cuando se utiliza el método setCursor del constructor de alertdialog para mostrar una lista de elementos de una base de datos?
  • Cómo importar la biblioteca Persistence Room a un proyecto de Android
  • Almacenamiento y recuperación de datos no ingleses en la base de datos sqlite en android
  • GUID de Android: clave principal
  • Consulta de base de datos de Android ContentProvider varias tablas
  • Tablas de muestra Android sqlite
  • Android SQLite issue - table ... no tiene una columna llamada
  • Consulta de cursor no sensible a mayúsculas y minúsculas con operador LIKE (que funciona para todos los entornos locales)
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.