在Android聊天应用程序中看到的功能

时间:2014-02-27 00:45:22

标签: android mysql sqlite sockets whatsapp

我正在android开发一个聊天应用程序,其中有2个用户互相聊天,它基于sockets。我想实现所见的功能,就像facebook或{ {1}}。 我想可能有一个与whatsapp相关联的onfocus方法,这样每当用户打开聊天活动时,我可以在DB中将最新消息设置为SEEN,是否有与活动相关的焦点方法? 2 - 我是否必须在本地sqlite或mysql远程数据库上存储消息?如果我将存储在本地服务器上,我有多快复制/更新远程数据库? 感谢

1 个答案:

答案 0 :(得分:0)

在Android中,你所讨论的onFocus方法将是onResume(),只要你的Activity进入前台就会调用它。

理想情况下,消息仅存储在本地数据库中,复制远程服务器上的消息没有意义。但这取决于您希望如何管理聊天。

例如,Facebook显然是基于服务器的,这意味着您只需登录即可在任何设备上看到您的Facebook消息。另一方面,WhatsApp是基于客户端的,如果您购买新手机并安装WhatsApp,看不到以前的对话信息。

基于服务器的消息传递更复杂,因为您需要复制消息,但错误的问题多久一次,因为它不是基于时间的。用户连接后,您将立即复制并在本地存储最后n条消息。

基于客户端的消息传递不需要复制,只需传递消息即可完成。除非您希望用户能够在对等方脱机时发送消息。然后将消息存储在服务器中,一旦收件人连接,您转发已保存的消息并从服务器中删除它们。