2011-05-17 120 views
4

我无法理解此问题的顶层抽象。在Android用户之间共享数据

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

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

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

这个解决方案应该如此简单,但是我不能把头转向它。如果这个问题不足以得到一个好的答案,请告诉我,我需要做什么来思考移动用户如何尽可能简单地相互交流,只需尽可能少的点击,(移动2.0或任何现代的东西!)

例如:一位母亲和一个孩子有一个android智能手机。他们每个下载“儿童皮带”应用程序。孩子希望配置应用程序以将更新发送给母亲,以便母亲可以跟踪孩子的位置等。问题在于一些孩子如何告诉应用程序母亲所在的位置,以便将数据发送到该位置。儿童识别母亲的电话是一种用户友好的方式? (母亲的IP地址?电话号码?电子邮件地址?OpenIDs?NFC /蓝牙?)以便它可以沟通?

回答

3

您可以使用推送通知,如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轮询服务器。