Como excluo os dados de SharedPreferences do meu aplicativo?
Estou criando um aplicativo que usa muitos serviços da web para sincronizar dados. Para fins de teste, preciso eliminar alguns valores de SharedPreferences quando reiniciar o aplicativo.
android
sharedpreferences
Andrew
fonte
fonte
Minha solução:
fonte
"text"
.Removendo todas as preferências:
Removendo a preferência única:
fonte
KeyName
?Se não for necessário remover sempre, você pode removê-lo manualmente de:
Versões mais recentes do Android:
fonte
Excluindo as preferências compartilhadas do Android em uma linha :-)
Ou
apply
para operação assíncrona sem bloqueio:fonte
Parece que toda solução não está completamente funcionando ou morta
limpar todas as Preferências Compartilhadas em uma Atividade
Chame isso da Atividade principal após onCreate
note * eu usei em
.apply()
vez de.commit()
, você é livre para escolher commit ();fonte
Você pode usar o shell adb para fazer isso mesmo sem um telefone root. O único problema é que o aplicativo deve ser depurável.
Por exemplo:
Como alternativa, você pode fazer o acima, mas sem o comando que o direcionará para a raiz do pacote de aplicativos e permitirá que você execute mais comandos no contexto do aplicativo.
fonte
run-as
. Você pensaria que eu teria encontrado isso depois de 3 anos ...fonte
A partir da API 24 (Nougat), você pode:
No entanto, não há compatibilidade com versões anteriores; portanto, se você estiver suportando algo menor que 24, fique com:
fonte
Limpe todos eles:
fonte
Você também pode desinstalar manualmente seu aplicativo usando seu dispositivo. Então, quando você reinstalar o aplicativo, as preferências compartilhadas foram redefinidas.
fonte
Nas definições de classe:
Dentro da turma:
fonte
Tente este código:
fonte
Se é para o seu teste. Você pode usar comandos adb.
fonte
Isso excluirá as preferências compartilhadas salvas com o nome "someTag".
fonte
SharedPreferences.Editor remove (chave String) seguido por um commit () ou um apply ()
Para remover todos os valores,
SharedPreferences.Editor clear () seguido por um commit () ou um apply ()
fonte
Para remover os pares de valores-chave da preferência, você pode facilmente fazer o seguinte
Também desenvolvi uma biblioteca para facilitar a manipulação de preferências compartilhadas. Você pode encontrar o seguinte link
https://github.com/farruhha/SimplePrefs
fonte
Para limpar todas as SharedPreferences centralmente de qualquer classe:
E então de qualquer classe: (commit retorna um Booleano onde você pode verificar se suas Preferências foram limpas ou não)
Ou você pode usar aplicar; retorna nulo
fonte
Eu posso excluir o arquivo em preferências compartilhadas com ele
fonte
Nenhuma das respostas funciona para mim, pois tenho muitas chaves de preferências compartilhadas.
Digamos que você esteja executando um Teste do Android em vez de um teste de unidade.
Está funcionando para mim fazer loop e excluir através de todos os arquivos shared_prefs .
fonte
A maneira Kotlin ktx de limpar todas as preferências:
Clique aqui para todas as operações de preferências compartilhadas com exemplos
fonte
Você pode usar
preferences.edit().remove("key").commit()
para excluir valores salvos das preferências compartilhadas.fonte
Só fiz isso esta manhã. Em um prompt de comando:
OBSERVAÇÃO : isso requer um dispositivo raiz, como os dispositivos virtuais Android padrão, um dispositivo Genymotion ou um aparelho / tablet com raiz real etc.
fonte
/data/data
diretamente!su
depoisadb shell
para abrir um shell privilegiado.