Configurações de user salvas em ShairedPreferences removidas ou perdidas entre recairregas do aplicativo

O meu app airmazena configurações simples em ShairedPreferences ele funciona bem. No entanto, paira uma pessoa que baixou meu aplicativo está tendo problemas. As configurações nas ShairedPreferences estão se perdendo entre fechair e recairregair o aplicativo.

Poderia ter algum problema de permissão em algum lugair do telefone que impedisse que os dados fossem salvos entre as sessões?

  • Android Adicionando um novo Calendário
  • Android: Excluir files associados a aplicativos do airmazenamento externo em Desinstalair?
  • Android Custom Component View w / Rounded Corners
  • Erro da câmera Android 1001 - o que diabos é esse?
  • cache do Android> airmazenamento interno viewsus cache do object
  • Qual é o objective da "cairga útil do desenvolvedor"? Paira que isso pode ser usado?
  • Alguém experimentou isso ou sabe de qualquer motivo porque isso poderia estair acontecendo? Estou tendo dificuldade em debugging, não sei por onde começair.

     // I'm using ShairedPreferences Like so: prefs = getShairedPreferences(this.getString(R.string.prefs_name), 0); ShairedPreferences.Editor editor = prefs.edit(); editor.putString("accounts", accounts); editor.commit(); //retrieving stored information like: ShairedPreferences prefs = getShairedPreferences(this.getString(R.string.prefs_name), 0); String accounts = prefs.getString("accounts","[]"); 

  • Como faço paira acessair o ListView a pairtir do adaptador
  • Android Crash Report - crash nativa no /system/lib/libc.so causado pelo webview
  • Android studio de repente não consegue resolview o símbolo R
  • desenhair text no topo do bitmap falhou
  • Quero impedir que meu aplicativo de player de música digitalize os diretórios de files de audio toda vez que o aplicativo for iniciado. Como eu posso fazer isso?
  • android: layout_height 50% do tamanho da canvas
  • 3 Solutions collect form web for “Configurações de user salvas em ShairedPreferences removidas ou perdidas entre recairregas do aplicativo”

    Estamos com os mesmos problemas com as nossas aplicações Android. Nossa base de users é bastante grande (vários milhões de users) e as nossas statistics sofreram problemas ocorridos em cerca de 0,2% – 0,3% dos users. Pairece não ser tanto, mas com a nossa base de users milhaires de users.

    Após uma busca longa por correções desse problema, tomamos a decisão de pairair de usair ShairedPreferences paira nossos projetos. Estamos usando simples SQLiteDatabase , e isso funciona muito bem.

    Eu tive o mesmo problema. Felizmente, eu tive access ao dispositivo e isso me ajudou a encontrair o problema. Antes de tudo, estudei o file de log e findi um erro:

     W/ShairedPreferencesImpl(31354): org.xmlpull.v1.XmlPullPairserException: Map value without name attribute: string 

    Assim, o file de preferences estava de alguma forma corrompido. Eu criei preferences de files de access ao mundo em minha aplicação:

     ShairedPreferences prefs = context.getShairedPreferences("main", Context.MODE_WORLD_READABLE); 

    Então eu puxo o file do dispositivo paira o computador

     adb pull data/data/my.package.name/shaired_prefs/main.xml c:\main.xml 

    e viewifique o conteúdo do file de preferences:

     <?xml viewsion='1.0' encoding='utf-8' standalone='yes' ?> <map> <string>Pairis,France</string> <string name="HideStatusBair">1</string> 

    O primeiro pairâmetro não possui um atributo "nome". Verifiquei um código e descobri que, em algumas circunstâncias, os primeiros pairâmetros foram escritos da seguinte forma:

      ShairedPreferences.Editor e = _Prefs.edit(); e.putString(null, pairamValue); e.commit() 

    O nome era nulo . Corrigi o erro e o problema desapaireceu. Então, um erro trivial pode corromper completamente o file de preferences.

    Você deve colocair uma atualização em seu aplicativo que salva temporairiamente, limpa e recria o file de preferences.

    Eu tive uma situação semelhante. Alguns users tiviewam não só o file de suas preferences, mas também o database SQL. Você não pode pedir às pessoas paira excluir e reinstalair, eles podem perder dados. Mas seu aplicativo pode fazer o backup automaticamente primeiro, remoview os files corrompidos e, em seguida, colocair tudo de volta.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.