gpt4 book ai didi

android - 如何在android中制作聊天应用程序?

转载 作者:IT老高 更新时间:2023-10-28 22:09:48 27 4
gpt4 key购买 nike

关闭。这个问题需要更多focused .它目前不接受答案。












想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post .

3年前关闭。




Improve this question




我想在 android 的 gmail 中添加与在线用户的聊天功能。如何在我自己的 android 应用程序中添加聊天功能?

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

最佳答案

要将聊天添加到 Android 应用程序,有多种选择。我将按所需的开发专业知识数量(从最少到最多)列出选项。

使用实时后端服务

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

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

Firebase

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

Firebase 有一个名为 GeoFire 的库这使您可以让您的应用程序位置感知。

Pusher / PubNub

我将它们归为一组,因为它们非常相似。他们提供实时流媒体基础设施和技术。您可以在设备组之间建立 channel 并在它们之间传输数据。它们不提供任何验证用户的方法,因此您需要一个应用服务器。

Quickblox

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

Layer

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

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

这些服务将在实时服务器实现、服务器配置和扩展方面为您节省时间。

XMPP

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

  • ejabberd
  • Prosody
  • OpenFire

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

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

    如果您不想自己构建客户端,有许多开源项目(主要是在左拷贝许可下)可以作为起点。 Xabber将是一个例子,但你可以通过搜索找到更多。或者,您可以使用 this一个商业开源项目。

    自己搭建服务器

    最后一个选择是自己构建消息传递服务器。这样做的好处是您可以添加所需的功能并使其相当简单。一个好的方法是使用 SymfonyWebSocket bundle 实时后端和 Android WebSockets为客户。使用这种方法,您将有很大的灵活性来实现地理位置功能。

    关于android - 如何在android中制作聊天应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4543943/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com