【问题标题】:Sharing data between android users在安卓用户之间共享数据
【发布时间】:2011-05-17 10:45:58
【问题描述】:

我无法理解这个问题的顶层抽象。

问题: 用户 A 和 B 下载应用 X。A 想将应用特定的数据发送给 B。用户 A 如何与 B 链接?

我非常混乱的解决方案: - 用户 A 单击应用程序上打开联系人列表的按钮。用户 A 从列表中选择用户 B。用户 B 的电子邮件地址存储在 A 的通讯录中。应用程序创建一种“共享 ID”并通过该电子邮件地址将其发送给用户 B。用户 B 的应用程序从邮件中获取该 ID,然后用户 A 和 B 使用共享 ID 连接到服务器并通过 sserver 在彼此之间共享。

一定有更好的方法吗?这两个问题是: 1.它不应该需要服务器(应该吗?可以免费吗?) 2. 用户之间必须有更好的连接方式,而不是通过 gmail 发送 ID 或链接等。

这个解决方案应该如此简单,但我无法理解它。如果这个问题不足以得到一个好的答案,请告诉我我需要做些什么来思考移动用户如何通过尽可能少的点击尽可能简单地相互交互,(移动 2.0 或任何现代事物!)

例如:一位母亲和一个孩子拥有一部安卓智能手机。他们每个人都下载了“ChildLeash”应用程序。孩子希望将应用程序配置为向母亲发送更新,以便母亲可以跟踪孩子的位置等。问题是孩子需要如何告诉应用程序母亲在什么位置才能将数据发送到。什么是孩子识别母亲电话的用户友好方式? (母亲的 IP 地址?电话号码?电子邮件地址?OpenID?NFC/蓝牙?)这样它就可以通信了?

【问题讨论】:

    标签: android


    【解决方案1】:

    您可以使用Android Cloud to Device Messaging Framework 提供的推送通知。有一个关于这个的 Android blog post。问题是,这似乎是测试版,尚未对所有开发者开放(您需要特定的注册)。

    关于“IP 地址”、P2P 等,这通常是行不通的。见:Is peer-to-peer communication over 3G/4G possible for smart phones?

    如果消息不紧急,那么您可以使用AlarmManager 让您的应用每隔一小时左右唤醒一次,并通过连接到服务器来检查新消息。不确定这是否适用于您的“ChildLeash”示例。另一个类似的解决方案是使用Service 来轮询服务器。

    【讨论】:

    • 现在是 404 : code.google.com/android/c2dm/index.html - 技术和框架正在发生变化。现在这里是链接:developers.google.com/cloud-messaging 但还有一个警告:“截至 2018 年 4 月 10 日,Google 已弃用 GCM。GCM 服务器和客户端 API 已弃用,并将在 2019 年 4 月 11 日被删除。迁移 GCM 应用程序迁移到 Firebase Cloud Messaging (FCM),它继承了可靠且可扩展的 GCM 基础架构以及许多新功能。请参阅迁移指南了解更多信息。”
    【解决方案2】:

    通常这种交互需要服务器。您使用电子邮件作为媒介进行了伪装。

    可能值得研究 JXTA 等点对点库。这里有一个安卓端口:http://code.google.com/p/peerdroid/

    编辑:我刚刚遇到这个:http://android-developers.blogspot.com/2010/05/android-cloud-to-device-messaging.html 这看起来正是您所追求的。

    【讨论】:

    • 我有一个类似的情况,我希望两个用户能够在我的应用程序中相互发送和接收数据。 FCM 现在是最好的方法吗? Google 的服务器是否进行数据交换,还是我需要设置服务器?开发人员或用户是否需要支付任何费用?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多