Java 如何在android应用程序上从http服务器获取实时事件?未经投票

Java 如何在android应用程序上从http服务器获取实时事件?未经投票,java,android,http,networking,Java,Android,Http,Networking,我认为轮询更新不是最有效的方法,而且延迟会很高。 那么,有没有更好的方法来实现这一点? 有用于此的http库吗?如何 您可以处理消息并更新数据(当您的应用程序位于前台或后台时)。除非您使用长轮询或websockets,否则http服务器不会将信息推送到客户端。顺便说一句,我正在使用lambda for amazon aws。看起来lambda并不真正支持长时间轮询,因为长时间运行函数的成本很高。我最终使用了mqtt库,该库可以通过lambda函数到达amazon IoT,以实现订阅/发布行为。我

我认为轮询更新不是最有效的方法,而且延迟会很高。 那么,有没有更好的方法来实现这一点? 有用于此的http库吗?

如何
您可以处理消息并更新数据(当您的应用程序位于前台或后台时)。

除非您使用长轮询或websockets,否则http服务器不会将信息推送到客户端。顺便说一句,我正在使用lambda for amazon aws。看起来lambda并不真正支持长时间轮询,因为长时间运行函数的成本很高。我最终使用了mqtt库,该库可以通过lambda函数到达amazon IoT,以实现订阅/发布行为。我知道可能会以每个用户为基础交付这些云消息,但它是为此而设计的吗?我认为GCM不是为您的情况而设计的,只是一种变通方法。如果您想使用GCM,解决方案可能是:-对数据进行版本控制(使用时间戳)-处理包含更新的时间戳的GCM消息-然后决定何时在应用程序内提取更新的数据。另一种方法是Firebase,一种实时数据库。我不太了解Firebase,我猜它在引擎盖下做了一些拉拽和版本控制。