为Android创建即时消息应用程序



我正在尝试为Android做一个即时消息应用程序,我已经制作了将消息发送到数据库的接口,它运行良好。问题是我不知道如何让监听器接收来自数据库的传入消息。

我想用定时器每隔5或10秒询问一次,以防客户端有新消息,请下载它。我试过了,如果我正在使用该应用程序,它会起作用,但当我使用相同的代码通知客户端新消息时,定时器不起作用,客户端永远不会收到通知。

希望你能帮我一些主意。谢谢

使用计时器会在这个时间间隔内耗尽手机电池。您需要考虑使用Google Cloud Messaging或XMPP来通知设备新消息已到达

正如前面的回答所建议的那样,使用计时器是一个非常糟糕的主意,会导致电池寿命。谷歌云消息/XPP听起来不错,你可以使用广播接收器来处理传入的消息。

查看本教程大约:使用谷歌云消息(GCM)创建即时消息应用程序

显示了上述技术的清晰实现。它还有一个用java编写的基本服务器后端,在googleapp引擎上运行。帮助我在android中构建即时通讯项目。

此外,我建议您也可以使用MQTT在android应用程序中实现即时消息传递。使用Eclipse Paho Android库来实现MQTT。它有自己的onMessageArrived()方法,每当接收到新消息时就会调用该方法。

每隔5到10秒检查一次新信息是一种糟糕的做法,因为它会耗尽电池电量。MQTT与MQTTserver建立一个低级别TCP连接,这是即时消息传递的理想选择。

收到消息时,API会自动备份消息,并将其从服务器中删除。

轮询10次意味着读取、处理和刷新缓冲区10次,所以在第7次轮询期间,您不会仍然找到第一次轮询的数据。

使用广播接收器处理传入消息不要在每5分钟或10分钟后使用拉动连接,因为这会消耗电池使用GCM(谷歌云消息)

相关内容

  • 没有找到相关文章

最新更新