Cómo eliminar la base de datos SQLite de Android mediante progtwigción

Me gustaría eliminar el archivo de la base de datos del Android file system programáticamente. ¿Puedo tener un adb lanzamiento de script de shell que a su vez ejecute un script de shell en el espacio de Android para hacer la eliminación de la base de datos? ¿Puedo hacer esto desde un caso de prueba JUnit (con una llamada al system() )?

¿Cómo elimino una base de datos completa en Android? Necesito hacer que todo desaparezca para poder probar la creación de la base de datos. Puedo dejar caer tablas, pero eso no es suficiente. Esto está en el emulador, no en un teléfono.

Una vez que tenga su contexto y sepa el nombre de la base de datos, use:

 context.deleteDatabase(DATABASE_NAME); 

Cuando se ejecuta esta línea, la base de datos debe ser eliminada.

Es fácil simplemente escriba desde su caparazón:

 adb shell cd /data/data cd  cd databases su rm .db 

El método estático SQLiteDatabase.deleteDatabase (archivo de archivo) se agregó en la API 16. Si desea escribir aplicaciones que admitan dispositivos más antiguos, ¿cómo lo hace?

Intenté: file.delete ();

pero estropea SQLiteOpenHelper.

Gracias.

¡NO IMPORTA! Más tarde me di cuenta de que estás usando Context .deleteDatabase (). El contexto funciona muy bien y también elimina el diario. Funciona para mi.

Además, descubrí que necesitaba llamar a SQLiteOpenHelp.close () antes de hacer la eliminación, para poder usar LoaderManager para volver a crearlo.

Tratar:

 this.deleteDatabase(path); 

o

 context.deleteDatabase(path); 

También desde Eclipse puedes usar DDMS, lo que lo hace realmente fácil.

Solo asegúrate de que tu emulador se esté ejecutando, y luego cambia a la perspectiva DDMS en Eclipse. Tendrás acceso completo al Explorador de Archivos que te permitirá ingresar y borrar fácilmente toda la base de datos.

context.deleteDatabase (DATABASE_NAME); eliminará la base de datos solo si todas las conexiones están cerradas. Si está manteniendo una instancia única para manejar su ayudante de base de datos, es fácil cerrar la conexión abierta.

En caso de que el servidor de base de datos se utilice en múltiples lugares instanciando directamente, deleteDatabase + killProcess hará el trabajo incluso si algunas conexiones están abiertas. Esto se puede usar si el escenario de la aplicación no tiene problemas para reiniciar la aplicación.

 context.deleteDatabase("database_name.db"); 

Esto podría ayudar a alguien. Tienes que mencionar la extensión de lo contrario, no funcionará.

Desde el Administrador de aplicaciones, puede eliminar toda la aplicación con datos. O solo datos por sí mismo. Esto incluye base de datos.

  1. Ve a Configuración. Puede acceder al menú de configuración en el menú de aplicaciones o, en la mayoría de los teléfonos, tirando del cajón de notificaciones y tocando un botón allí.

  2. Seleccione el submenú Aplicaciones. En algunos teléfonos, este menú tendrá un nombre ligeramente diferente, como el Administrador de aplicaciones.

  3. Desliza el dedo hacia la lista de Todas las aplicaciones. Ignore las listas de aplicaciones en ejecución y descargadas. Desea la lista Todas las aplicaciones.

  4. Seleccione la aplicación que desea deshabilitar. Aparece una pantalla de propiedades con un botón para Forzar detención en la esquina superior izquierda y otra para Deshabilitar o Desinstalar actualizaciones en la esquina superior derecha.

  5. Borrar datos.