如何在android中创build聊天应用程序?

我想添加在Android用户在Gmail中的聊天function。 如何添加聊天function在我自己的应用程序在Android?

我想在Google地图上显示一个离我所选区域最近的在线用户,并且能够与在线用户聊天

Solutions Collecting From Web of "如何在android中创build聊天应用程序?"

我们一直与开发者社区密切合作,开发了Applozic Chat SDK,只需要10分钟的时间进行整合。 试试看: Applozic示例代码与开源SDK在Github中可用: https : //github.com/AppLozic/Applozic-Android-SDK

要将聊天添加到Android应用程序,有许多选项。 我将根据所需的开发专业知识的数量提供选项 – 从最less到最多。

使用实时后端服务

有很多公司提供实时后端服务。 这些服务将为您提供一个允许您的应用程序访问其服务器的SDK。 使用SDK,您将能够在设备之间stream式传输数据。

以下是最受欢迎的服务列表:

火力地堡

Google拥有使用WebSockets和MongoDB作为其核心技术堆栈的实时数据库。 该服务允许您将数据保存在非SQL数据库中,然后注册以在数据更改时接收实时更新。 他们还提供推送通知和文件存储服务。 还有一个可用于iOS和Android的第三方开源(MIT许可证)消息框架。

Firebase有一个名为GeoFire的库,它可以让你的应用程序位置感知。

Pusher / PubNub

我把它们分组在一起,因为它们非常相似。 他们提供实时stream媒体基础设施和技术。 您可以在设备组之间build立通道,并在它们之间传输数据。 他们不提供任何手段来authentication用户,所以你需要一个应用服务器。

Quickblox

Quickblox专门针对即时通讯市场,他们在后端使用XMPP服务器。 由于他们使用XMPP,这项服务有很多内置的隐私列表和打字指示器等信息function。 他们提供了一个合理但基本的示例消息应用

图层是QuickBlox和PubNub / Pusher之间的一半。 他们提供了一个针对即时通讯的stream媒体平台。 他们有一些消息function,如基本的阻止,但这不是像Quickblox的全面的消息传递实现。 他们有一个UI组件库,可以用来帮助构build一个完整的应用程序 – 阿特拉斯。

如果您使用后端作为服务,您将永远必须自己构build聊天客户端。 如果您使用Firebase等更通用的选项,则还必须构build自己的消息传递协议。

当涉及到实时服务器实现,服务器configuration和扩展时,这些服务将节省您的时间。

XMPP

另一个select是自己托pipe一个XMPP服务器。 有许多开源的XMPP服务器可用:

  • ejabberd
  • 韵律学
  • 开火

XMPP服务器将为您提供大量的即时消息function。 他们通常不包括任何位置感知,但是这可以通过configuration服务器来将用户数据库托pipe在单独的服务器上来解决 – 这将允许您添加额外的表来处理地理位置。 另一种方法是在用户位置改变一定量时使用状态更新相关设备。

build立客户端,我会build议使用Smack 。 由于XMPP是一个开放标准,您的客户应该能够与第三方XMPP服务器和客户端一起工作。

如果你不想自己build立客户端,那么有一些开源项目(主要是在左边的许可证下)可以作为一个起点。 Xabber就是一个例子,但是你可以通过searchfind更多。

自己构build服务器

最后的select是自己构build消息服务器。 这有好处,你可以添加你需要的function,并保持合理的简单。 一个好的方法是将Symfony和WebSocket Bundle用于实时后端, Android WebSocket用于客户端。 使用这种方法,您将有很大的灵活性来实现地理位置function。

我和我的团队,我们正在将Backend作为一个名为QuickBlox的服务平台。 我们有很好的例子来说明如何将Map / Chatfunction集成到您的应用程序中:

简单的Android地图/聊天应用程序: https : //quickblox.com/developers/Android_XMPP_Chat_Sample

我不知道关于GMaps,但实施聊天,你可以尝试下面的链接XMPP

添加聊天function,您可以使用Firebase或XMPP。

为了select正确的选项,你可能更喜欢这个https://www.quora.com/Which-protocol-is-better-to-develop-a-chat-web-app-using-Firebase-XMPP-or-HTTP

要么

如果您对后端技术有深入的了解,请继续进行。 同时,市场上还有一个即时解决scheme,可帮助您更轻松地集成其他function。