gpt4 book ai didi

Android 应用到应用的通信

转载 作者:行者123 更新时间:2023-11-29 00:13:04 25 4
gpt4 key购买 nike

这只是一个简短的问题,我一直试图在谷歌上搜索它,但得到的结果并不完全满足我的要求。我想要开发的是两个应用程序,一个基本上只有我能看到和使用,所以主应用程序和客户端的另一个应用程序。客户端应用程序只会看到我从我的应用程序发送给他们的内容。

我想问的问题是,这可能吗?我找到了关于如何进行应用程序到应用程序通信的教程,但是当他们在教程中执行此操作时,他们想要与之通信的应用程序已经在他们的手机上了。但是我的应用程序将在彼此相距很远的不同手机上。这个概念仍然有效吗?

我这样做的主要原因是为了避免从 android 应用程序到 mysql 的服务器连接,然后客户端也进行服务器连接以检索信息,因为我现在对来自 android 的 mysql 数据库连接的理解很少甚至为零。

最佳答案

为了让两个应用程序“通信”,您需要一个连接 - TCP/IP(WiFi/网络)、蓝牙等。如果它们“距离很远”,那么就是网络连接。

为了使用 TCP/IP,设备需要一个“IP 地址”——这是由运营商、它所连接的 WiFi 网络等分配的。由于这些 IP 地址会随时间变化,因此您不能依赖它。这就像试图将一封信寄给总是有不同家庭住址的人。每次,您都需要询问将其发送到哪里。但是,您只能使用一封信来询问 - 因此,如果在您询问之前它发生了变化,您将无法沟通,直到他们与您联系。但如果您的设备做同样的事情,那么您将很快无法通信。

因此,您需要一个“静态 IP”地址(服务器)和一个“查找表”——一种识别您要联系的设备的方法(如用户名或电话号码),然后您可以获得 IP当该设备告诉服务器它是什么时。同样,您的设备可以告诉服务器您的 IP 地址是什么。

但是,这对您、网络和设备来说是一项繁重的工作。这就是 Google 制作 Google Cloud Messaging (GCM) 的原因。它完成大部分工作 - 包括在设备不可用时排队消息、保持准确和最新的设备地址、消息传递验证、服务器正常运行时间等。

这称为“推送”通知,因为服务器知道在您希望消息完成时将消息“推送”到何处。

编辑:您必须创建“查找表”——GCM 将跟踪设备和 IP 地址的 ID,但您可能不希望每个设备都存储“所有设备”表——您只需要一个“联系人”列表(一个“所有设备”的子集)。除非您是为一个非常小的团队构建它,否则您需要一个服务器来处理它。

有很多 GCM 的替代品 - Parse、Quickblox 等,或者构建您自己的 XMPP 服务器。但是,如果您对 SQLite 不满意,那么“开箱即用”的解决方案是最好的。

此外,这可能比您意识到的要难得多。但对我来说,这是移动设备有趣的一面。

关于Android 应用到应用的通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28802280/

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