Mi aplicación utiliza el patrón SyncAdapter
, que contiene credenciales de usuario con AccountManager
y ContentProvider
para almacenar datos en una base de datos.Eliminación de la base de datos cuando se elimina una cuenta
Cuando se elimina el account
puedo eliminar el db utilizando el método explicado en this question. El db se elimina al hacer:
boolean deleted = mContext.deleteDatabase(DatabaseHelper.DATABASE_NAME);
Esto funciona bien, pero cuando lo hago de nuevo, todo sigue allí. Parece que el ContentProvider
no sabe que el db ha sido eliminado.
En this answer, inazaruk dice:
usted necesita para asegurarse de que ha matado al proceso que aloja ContentProvider que utiliza ese archivo de base de datos específica. Y solo después de elimínelo.
Eliminar el proceso para borrar un db no parece correcto.
¿Hay algo mejor que hacer?
¿Por qué eliminar el archivo de base de datos? ¿No es suficiente eliminar los datos de la base de datos? – zapl
@zapl: Sí. Podría hacer algo como 'eliminar de la tabla;' – Macarse