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

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

我想在谷歌地图中显示一个在线用户,该地图最接近我选择的区域,并且能够与该在线用户聊天

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

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

使用实时后端服务

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

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

火力地堡

谷歌拥有的实时数据库使用WebSockets和MongoDB作为核心技术堆栈。 该服务允许您将数据保存在无SQL数据库中,然后注册以在数据更改时接收实时更新。 它们还提供推送通知和文件存储服务。 还有适用于iOS和Android的第三方开源消息传递框架。

Firebase有一个名为GeoFire的库,可让您识别您的应用位置。

Pusher / PubNub

我把它们组合在一起因为它们非常相似。 它们提供实时流媒体基础设施和技术。 您可以在设备组之间建立通道,并在它们之间传输数据。 他们没有提供任何方法来validation用户,因此您需要一个应用服务器。

Quickblox

Quickblox专门针对即时通讯市场,他们在后端使用XMPP服务器。 由于他们使用XMPP,因此该服务具有许多内置的消息function,如隐私列表和键入指示器。 它们提供了一个合理但基本的示例消息应用程

Layer位于Quickblox和PubNub / Pusher之间。 他们提供了一个针对即时消息的流媒体平台。 它们具有一些消息传递function,如基本阻止,但这不是像Quickblox这样的全面消息传递实现。 他们有一个UI组件库,可用于帮助构建完整的应用程序–Atlas。

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

这些服务将为您节省实时服务器实施,服务器配置和扩展的时间。

XMPP

另一种选择是自己托管XMPP服务器。 有许多开源XMPP服务器可供使用:

  • ejabberd
  • 韵律学
  • 开火

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

为了构建客户端,我建议使用Smack 。 由于XMPP是开放标准,因此您的客户端应该能够使用第三方XMPP服务器和客户端。

如果您不想自己构建客户端,则可以使用许多开源项目(主要是复制左侧许可证),这些项目可以作为起点。 Xabber就是一个例子,但你可以通过搜索find更多。 或者,您可以使用此商业开源项目。

自己构建服务器

最后一个选择是自己构建消息传递服务器。 这样做的好处是,您可以添加所需的function并使其保持相当简单。 一种好的方法是使用Symfony和WebSocket Bundle作为客户端的实时后端和Android WebSockets 。 使用这种方法,您可以灵活地实现地理位置function。

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

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

我们一直与开发人员社区密切合作,开发了Applozic Chat SDK,只需10分钟即可完成集成。 试一试: Applozic Github提供了带开源sdk的示例代码: https : //github.com/AppLozic/Applozic-Android-SDK

我不知道关于GMaps但是为了实现聊天,你可以尝试以下链接Xmpp

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

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

要么

如果您对后端技术有深入了解,请继续使用自己的技术。 同时,市场上还有一种即时解决方案,可以帮助您更轻松地集成其他function。

我们提供名为ChatCamp的实时聊天SDK解决方案。 您可以在ChatCamp SDK的帮助下快速为Android应用添加聊天function。 以下是Android快速入门指南的链接 – https://docs.chatcamp.io/docs/android-chat-quickstart 。 此外,可以根据与特定位置的距离订购用户列表,也可以在Google地图上显示在线用户。