Gostaria de excluir o arquivo de banco de dados do Android file system
programaticamente? Posso iniciar um script de shell adb
que, por sua vez, executa um script de shell no espaço Android para fazer a exclusão do banco de dados? Posso fazer isso dentro de um JUnit
caso de teste (com uma system()
chamada)?
Como faço para excluir um banco de dados inteiro no Android? Preciso fazer a coisa toda desaparecer para que eu possa testar a criação do banco de dados. Eu posso largar mesas, mas isso não é suficiente. Isso está no emulador, não no telefone.
É fácil digitar no seu shell:
fonte
root@generic_x86:/data/data/com.dslomer64.servyhelperton/databases #
. Outros do que a remoção, cópia e outras coisas, não há umadir
oulist files
ouwhat the heck is in this directory/folder
de comando?O método estático SQLiteDatabase.deleteDatabase (arquivo File) foi adicionado na API 16. Se você deseja gravar aplicativos compatíveis com dispositivos mais antigos, como fazer isso?
Eu tentei: file.delete ();
mas atrapalha o SQLiteOpenHelper.
Obrigado.
DEIXA PRA LÁ! Mais tarde, percebi que você estava usando Context .deleteDatabase (). O contexto funciona muito bem e exclui o diário também. Funciona para mim.
Além disso, descobri que precisava ligar para SQLiteOpenHelp.close () antes de excluir, para poder usar o LoaderManager para recriá-lo.
fonte
Experimentar:
ou
fonte
Também no Eclipse, você pode usar o DDMS, o que facilita muito.
Apenas verifique se o emulador está em execução e, em seguida, mude para a perspectiva DDMS no Eclipse. Você terá acesso total ao File Explorer, o que permitirá que você entre e exclua facilmente todo o banco de dados.
fonte
Isso pode ajudar alguém. Você deve mencionar a extensão, caso contrário, ela não funcionará.
fonte
context.deleteDatabase (DATABASE_NAME); excluirá o banco de dados somente se todas as conexões estiverem fechadas. Se você estiver mantendo uma instância singleton para manipular o auxiliar do banco de dados - é fácil fechar a conexão aberta.
Caso o auxiliar de banco de dados seja usado em vários locais, instanciando diretamente, o deleteDatabase + killProcess fará o trabalho, mesmo que algumas conexões estejam abertas. Isso pode ser usado se o cenário do aplicativo não apresentar problemas ao reiniciar o aplicativo.
fonte
Exclua o banco de dados antigo ao desinstalar o aplicativo.
Definir android: allowBackup = "false" na tag do aplicativo no AndroidManifest.xml resolveu o problema. Parece que, por algum motivo estranho, o sistema operacional Android estava restaurando a partir de um backup toda vez que eu implantava o aplicativo.
fonte
você pode criar um objeto de arquivo do caminho atual do banco de dados e excluí-lo quando excluirmos o arquivo da pasta
fonte
Usei o método de exclusão de banco de dados do Android e o banco de dados foi removido com sucesso
fonte
Eu usei o seguinte para "formatar" o banco de dados no dispositivo depois de alterar a estrutura do banco de dados em ativos. Simplesmente descomente a linha no MainActivity quando quis que o banco de dados fosse lido novamente dos ativos. Isso redefinirá os valores e a estrutura do banco de dados do dispositivo para mach com o banco de dados preocupado na pasta assets.
Em seguida, implementarei um botão que executará o deleteDatabase para que o usuário possa redefinir seu progresso no jogo.
fonte
No Application Manager, você pode excluir o aplicativo inteiro com dados. Ou apenas dados por si próprio. Isso inclui banco de dados.
Navegue para Configurações. Você pode acessar o menu de configurações no menu de aplicativos ou, na maioria dos telefones, puxando a gaveta de notificações e tocando em um botão.
Selecione o submenu Aplicativos. Em alguns telefones, esse menu terá um nome um pouco diferente, como Application Manager.
Deslize para a direita na lista Todos os aplicativos. Ignore as listas de aplicativos em execução e baixados. Você deseja a lista Todos os aplicativos.
Selecione o aplicativo que você deseja desativar. Uma tela de propriedades é exibida com um botão para Forçar parada no canto superior esquerdo e outro para Desativar ou Desinstalar atualizações no canto superior direito.
Excluir dados.
fonte