2012-02-19 13 views
5

Por favor, perdóneme si esta pregunta ha sido respondida - He buscado y no pude encontrarlo.Estrategia para actualizar la aplicación de Android (con base de datos)

Tengo una aplicación para Android que deseo actualizar y usa una base de datos SQLite. Quiero actualizar parte de la lógica de la aplicación en la aplicación, pero no habrá actualizaciones para el esquema o contenido de la base de datos. Básicamente, necesito mantener la base de datos exactamente como está para el usuario.

¿Debo hacer algo en onUpgrade para asegurarme de que la base de datos se mantiene o puedo dejar las cosas de la base de datos solo para esta actualización?

Respuesta

4

Este related article puede ayudarlo con su pregunta.

La forma en que lo entiendo es que debe poner su código de cambio de base de datos en onUpdate() si DESEA actualizar entre versiones. Pero dado que no tiene la intención, y probablemente mantenga la versión de la base de datos igual, entonces lo más probable es que no tenga ningún problema.

+1

no es una cuestión de probabilidad. sqlite retendrá su estructura y datos entre versiones. entre versiones SOLAMENTE. la misma aplicación con una clave de firma diferente no accede a su sandbox previamente ocupado, independientemente de si dicho sandbox aún existe o no. ACTUALIZADO :) –

5

El método onUpgrade() se utiliza en los casos de cambio de versión. Lo que significa que la base de datos almacenada en el teléfono debe ser alterada, eliminada o eliminada y se debe crear una nueva base de datos. Como su aplicación no tiene ninguno de estos requisitos, puede dejar las cosas de DB para esta actualización.

+0

un poco confuso, m8. Entiendo (y estoy de acuerdo) con lo que quiere decir, pero tal como está escrito, puede parecer que SQLite se volverá a crear entre versiones, lo que NO es el caso. –

1

La actualización NO interfiere con SQLite. Los cambios en la estructura db no se implementarán a menos que lo haga mediante programación (en el método onUpgrade) o desinstale y reinstale su aplicación.

Siempre y cuando se actualice la MISMA aplicación, su db no se verá afectada y sus datos tampoco se verán afectados. Si cambias la clave de firma utilizada en la creación de tu apk, se volverá a crear tu base de datos.

Por el contrario, si cambia la estructura de la base de datos en cualquier punto dado, su método onUpgrade entrará en juego. Tendrá que hacer una copia de seguridad, descartar, volver a crear y volver a llenar las tablas que se han cambiado entre versiones (otras tablas permanecen intactas tanto en estructura como en datos).

NOTA: En la depuración, simplemente desinstalo y vuelvo a instalar la aplicación cada vez que realizo cambios de DB, pero en la producción no desea hacer eso.

Cuestiones relacionadas