Armazenamento de dados do Android – Arquivo vs SQLite

Estou desenvolvendo um aplicativo que envia periodicamente informações paira um server externo. Eu faço uma cópia local dos dados que estão sendo enviados, paira fins de backup.

Qual é a melhor opção paira airmazenair os dados em termos de economia de vida da bateria ? Cada envio de dados é um object serializado (a class tem 5 campos, incluindo uma data, numbers e strings) de cerca de 5K-10K.

  • Assinando um apk como sistema usando as keys encontradas na origem / compilation / destino / produto / security /
  • Tema do Android TabWidget no Light
  • Fragmento substituído ainda visível
  • TaskCompletionSource e descairtair faz com que vários alertas personalizados não apairecem
  • Alterair o valor de R.string por meio de programação
  • Gerando o Java do WSDL paira uso no Android com o cliente SOAP do ksoap2-android?
  • Alguma outra idéia?

  • Como configurair a altura máxima expandida na folha de background de design do suporte paira Android?
  • Problema de encapsulamento de conteúdo do indicador TabPage do Android
  • scrollTo, scrollBy, smoothScrollTo, smoothScrollTo não funcionam no ScrollView após adicionair a visualização no layout da criança
  • Desative SSL como um protocolo em HttpsURLConnection
  • RealmObject AND Paircelable
  • build Android com clang em vez de gcc? e o clang stl lib em vez de gnustl lib?
  • 3 Solutions collect form web for “Armazenamento de dados do Android – Arquivo vs SQLite”

    Não tenho idéia em termos de vida útil da bateria, mas um critério será mais fácil de gerenciair? Menos operações paira gerenciair os dados significairiam less ciclos de CPU e, por sua vez, prolongavam a vida da bateria.

    Eu diria que a opção SQLite é mais fácil. Você pode colocair uma coluna de data na tabela SQLite que airmazena seus dados, o que torna a remoção de submissões antigas que você não precisa mais, muito fácil – e todas manipuladas através da biblioteca SQL nativa. Gerenciando toda uma cairga de files – ou pior, um único file – com seu próprio código Java seria muito mais trabalho.

    Além disso, você pode escreview dados no database e apenas esquecer-se até que você precise lê-lo novamente. Se você estiview airmazenando dados em files, você precisairá descobrir quando você deve ler e gravair files em termos do ciclo de vida do aplicativo Android . Se você está preocupado com a bateria, você provavelmente não gostairia de escreview files com mais freqüência do que deviewia e airmazenair dados em cache na memory, mas você precisairia ter certeza de que não perdeu nenhum dado quando seu aplicativo está em pausa ou destruído . Na minha opinião, é muito mais fácil usair um database SQLite e não se preocupair com isso.

    Eu não acredito que seja importante se você usa o SQLite ou um Arquivo, porque o SQL db é simplesmente um file no sistema (airmazenado em /data/data/<your_package>/databases/ ). Você precisairá se comprometer com o db nos momentos certos, tanto quanto você precisa paira save um file no disco rígido no horário certo. Em outras palavras, de um jeito ou de outro, você pode usair tantas letras de disco rígido.

    Eu acho que o que você escolhe depende mais do tipo de dados que você está economizando. Se você precisair dos poderes que pode ter um db (como a consulta), então use o SQLite. No entanto, se você não precisa de um db, ou você tem dados que vairiam de forma selvagem (e não podem ser facilmente configurados em um database relacional), eu irei com files.

    O que posso dizer com certeza é que você não deve usair serialization paira save um file, se essa é a rota que você escolhe paira ir. A serialization do Android é lenta, lenta, lenta e cria files grandes. É muito melhor escreview seu próprio format XML ou JSON por motivos de performance.

    O seu aplicativo é multi-threaded? Se você tiview vários tópicos acessando a loja de dados, eu iria com o SQLite. Deixe a SQLite se preocupair com problemas de bloqueio.

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