157 votes

Comment supprimer une base de données SQLite d'Android de manière programmatique

Je voudrais supprimer le fichier de la base de données de la Android file system de manière programmatique ? Est-ce que je peux avoir un shell script lancé adb qui à son tour exécute un shell script dans l'espace Android pour effectuer la suppression de la base de données ? Puis-je faire cela à partir d'un JUnit de test (avec un system() appel) ?

Comment supprimer une base de données entière dans Android ? J'ai besoin de faire disparaître l'ensemble de la base pour pouvoir tester la création de la base de données. Je peux supprimer des tables, mais ce n'est pas suffisant. Ceci est dans l'émulateur, pas sur un téléphone.

0voto

Jussi Tamminen Points 3

J'ai utilisé la méthode suivante pour "formater" la base de données sur le périphérique après avoir modifié la structure de la base de données dans les actifs. Je décommente simplement la ligne dans MainActivity quand je veux que la base de données soit à nouveau lue depuis les actifs. Ceci réinitialisera les valeurs et la structure de la base de données du dispositif pour qu'elle soit conforme à la base de données pré-occupée dans le dossier assets.

    //database initialization. Uncomment to clear the database
    //deleteDatabase("questions.db");

Ensuite, j'implémenterai un bouton qui exécutera le deleteDatabase afin que l'utilisateur puisse réinitialiser sa progression dans le jeu.

-2voto

f470071 Points 562

Depuis le Gestionnaire d'applications, vous pouvez supprimer toute l'application avec ses données. Ou juste les données elles-mêmes. Cela inclut la base de données.

  1. Naviguez jusqu'à Paramètres. Vous pouvez accéder au menu des paramètres soit dans menu des applications ou, sur la plupart des téléphones, en tirant vers le bas le tiroir des et en appuyant sur un bouton.

  2. Sélectionnez le sous-menu Apps. Sur certains téléphones, ce menu portera un un nom légèrement différent, tel que Gestionnaire d'applications.

  3. Balayez vers la droite pour la liste Toutes les applications. Ignorez les listes des applications en cours d'exécution et des applications téléchargées. Vous voulez la liste All apps.

  4. Sélectionnez l'application que vous souhaitez désactiver. Un écran de propriétés apparaît avec un bouton pour Forcer l'arrêt en haut à gauche et un autre pour soit Désactiver ou Désinstaller les mises à jour dans la partie supérieure droite.

  5. Effacer les données.

8 votes

L'OP a dit par programme . Aller dans les paramètres et appuyer sur un bouton est no de manière programmée.

1 votes

@mmking J'étais au courant de cela. C'est juste que c'est l'option la plus simple pour supprimer la base de données et non les tables et le contenu. Il a dit qu'il en avait besoin pour tester la création de la base de données et cela fait cela. J'ai cherché la même chose et je me suis contenté de cela.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X