【问题标题】:Syncing offine data with server?与服务器同步离线数据?
【发布时间】:2016-02-09 14:56:38
【问题描述】:

这可能是重复的问题,但我仍然怀疑我是 android 应用程序的初学者我有几个疑问,我的主要疑问是:

  1. 我已经制作了一个应用程序,它会在网络可用时与服务器通信,它将按原样工作。当网络不可用时,数据将保存在 sqlite 中,稍后当网络可用时需要将该数据同步到服务器我该如何实现这一点。

  2. 每当有新的更新与服务器需要得到通知我该怎么做呢

  3. 对于这个,这将是最好的方法同步适配器或服务器或带有广播接收器的意图服务,这将是上述要求的优化解决方案

这些都是我的疑问,如果有人帮助我,我会很高兴!

【问题讨论】:

    标签: android sqlite


    【解决方案1】:

    如果您希望在您控制的服务器上发生某些事情时通知 Android 应用程序(无需应用程序不断轮询服务器以请求更改),通常的解决方案是使用 Google Cloud Messaging 允许服务器向应用发送通知,告知其刷新数据。

    实现起来有点复杂,但它是做你想做的事的最佳方式,也是移动应用程序的标准做法。

    【讨论】:

    • 那么哪一个是最好的方法同步适配器或意图服务与广播
    • 这不是从您的选项列表中选择的问题。请查看在您的应用中实施 GCM 需要什么。它比您想象的要复杂得多,但要有用得多。
    • 使用广播可以通过意图服务推送通知吗?这是正确的标准方式
    • 请查阅 GCM 文档以了解从服务器接收通知的正确方法。太复杂了,无法在这里完整介绍。如果您在集成 GCM 时遇到问题,请使用相关标签发布新问题。
    【解决方案2】:

    如果您需要知道网络何时可用,以访问您的服务器进行同步,请实施连接更改侦听器,如this question 中所述。

    这不允许从服务器轻松发送消息,但如果服务器消息不是很紧急,也许您可​​以简单地定期检查它们。

    这将允许使用更少的 Google 特定基础架构并更轻松地更改云提供商。

    【讨论】:

    • 那么哪个会被优化方法syncadapter或intentservice
    猜你喜欢
    • 1970-01-01
    • 2013-02-28
    • 1970-01-01
    • 2012-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多