数据库更改时更新Android UI

时间:2016-08-08 14:22:00

标签: android firebase android-volley pubnub firebase-cloud-messaging

我的Android应用程序目前使用Volley与我使用django rest框架构建的Web服务进行HTTP通信。我的后端包含一个MySQL数据库和python。

该应用将由多个用户更新同一页面组成。我希望这个页面能够接近实时更新。当数据库有更新(通过Web服务)时,我想将这些更新推送到所有连接的客户端。我更愿意将数据推送到客户端而不是轮询服务器。

将数据库同步到Android用户界面的推荐方法是什么?

以下是我遇到的一些选项:

Android Sync Adapter

Firebase Cloud Messaging (如果我走这条路线,我需要迁移我的数据库吗?)

PubNub

有没有办法用Volley来实现这个目标?

1 个答案:

答案 0 :(得分:1)

我建议您使用实时数据管理的 PubNub ,然后使用广播接收器,EventBus Otto 来触发您的事件在当地听。让我来解释一下。

在数据库中,当CRUD操作成功时,您可以将其发布到 PubNub 服务器。这将反过来作为订阅者的客户。然后在您的应用程序中,您可以拥有一个正在运行的Android服务,然后它将侦听并处理正在接收的pub nub事件。此时,您可以使用EventBus或Otto在应用程序中触发本地事件,并让您的视图对这些事件做出反应。现在我建议分离事件管理的原因是,如果你改变实时数据提供者,它将需要你的应用程序中很少的代码更改,因为它封装在Android服务中,而不是整个应用程序。