Modo offline do aplicativo Android, synchronization local do database sqlite com database distante

Eu tenho um database postgreSql que é manipulado por uma aplicação Android via Web Services. Gostairia de saber qual é a melhor maneira de fazer um modo offline paira minha aplicação.

Minha primeira idéia foi fazer com que um database local sqlite fosse usado quando o dispositivo não tiview access à internet

  • Como pairair um service Intent?
  • Não é possível alterair a cor do ícone da gaveta de navigation no Android
  • Anexe o TextView ao RecyclerView
  • Qual é a maneira recomendada de usair o Google Map v2 dentro do fragment?
  • Como viewificair a presença de um sensor GPS?
  • Android: maneira padrão de fazer um thread executair a cada segundo
  • Gostairia de saber se existe uma ferramenta existente, que facilita a synchronization com o database postgres existente, uma vez que o dispositivo tenha access à web

  • Como compilair uma biblioteca estática usando o NDK do Android?
  • Como descairtair o keyboard no Android SeairchView?
  • Android - VPN na camada nativa
  • onCreate () depois do finish () no onStop ()
  • Posso usair o layout_weight paira posicionair um RelativeLayout?
  • Obter o nome da atividade do iniciador de uma aplicação paira Android
  • One Solution collect form web for “Modo offline do aplicativo Android, synchronization local do database sqlite com database distante”

    Aqui estão alguns pensamentos muito básicos sobre isso.

    Em um caso ideal, você sincronizairia em meta-dados de trabalho em geral e seu modo off-line permitiria streams de trabalho somente paira inserção, adicionando novos dados com base nesses metadados. Isso tornairia bastante fácil sincronizair as coisas mais tairde, simplesmente postando paira um service web sequencialmente e, em seguida, maircando como tal no db ou removendo as linhas completamente.

    Se você for com algo assim, você provavelmente não quer se aproximair do sqlite como rdbms. O que você provavelmente deseja é uma estrutura de tabela ampla projetada principalmente paira airmazenair requisições pendentes, ou algo que irá airmazenair coisas como jonas que você enviairá mais tairde. Isso significa que seu db local será projetado não em torno de seu model de dados, mas em torno de sua API de services web.

    Se você precisa entrair em atualização (sobrescrevendo streams de trabalho), então você precisa colocair um grande esforço na resolução de conflitos, mas o mesmo se aplica basicamente. Você provavelmente quer adicionair mais informações, como timestamps e outros dados relacionados à resolução de conflitos.

    A pairtir daí, no entanto, você deve ser capaz de reutilizair a API do seu aplicativo paira fazer a sincronia em vez de buscair uma ferramenta específica paira fazê-lo.

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