Android 侦听远程数据库更改

Android 侦听远程数据库更改,android,Android,我如何让我的服务器通知客户端一些事情?例如数据库中的更改?我已经知道FCM了。但是如果我不想用呢?我自己如何编写这种网络逻辑 我现在不需要它。但我很好奇推送系统是如何工作的以防您想将数据从服务器推送到Android客户端而不想使用FCM: 您可以始终使用web套接字,在Android和服务器上手动实现web套接字可能会很麻烦。为此,应用程序应该位于前台,或者您可以使用服务。我们从Android的这个库开始: 现在,我们在项目中使用Pubnub,它构建在web套接字之上,为您提供了一种更简单的方法

我如何让我的服务器通知客户端一些事情?例如数据库中的更改?我已经知道FCM了。但是如果我不想用呢?我自己如何编写这种网络逻辑


我现在不需要它。但我很好奇推送系统是如何工作的

以防您想将数据从服务器推送到Android客户端而不想使用FCM:

您可以始终使用web套接字,在Android和服务器上手动实现web套接字可能会很麻烦。为此,应用程序应该位于前台,或者您可以使用服务。我们从Android的这个库开始:

现在,我们在项目中使用Pubnub,它构建在web套接字之上,为您提供了一种更简单的方法来处理这些问题。您仍然需要将接收部分放在前台或服务中。但它也让您可以使用FCM(或苹果推送服务)作为备用,这是在后台接收推送数据的最简单方法。 它一开始是免费的,但当你的使用量增加时,它将花费你。您可以在此处查看:

PubNub以获取实时消息 你应该读这篇文章

有关详细信息,请参阅

但总而言之,您只需让您的客户端订阅一个或多个频道,而您的服务器将消息发布到这些频道。您可以决定频道名称、在频道上发布哪些数据以及何时发布数据

PubNub负责在不到1/4秒内将这些消息传递给这些频道的订户

您可以从任何平台订阅:


这只是70多个平台中的三个,你可以从中选择。免费帐户允许每天使用最多100台活动设备(永久),这样,如果您决定将应用程序扩展到大众,您就可以在付费之前玩游戏。

您是在询问网络数据库连接处理还是通知系统?对于前者,您可以使用Reformation+GSON,例如,对于后者,为什么不使用自定义通知处理的FCM来更新您的本地数据?我认为最好的选项是@gonczor中提到的选项,因为其他选项更昂贵,需要编写的代码也更多,例如,打开服务器和应用程序之间的套接字(不建议用于此目的),请针对您的用例进行尝试。有关详细信息,请参见下面的答案。