Android用户之间共享数据

时间:2011-05-17 10:45:59

标签: 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智能手机。他们每个人都下载了“ChildLeash”应用程序。孩子希望配置应用程序以向母亲发送更新,以便母亲可以跟踪孩子的位置等。问题在于Child如何告诉应用程序母亲在哪个位置发送数据。什么是用户友好的方式让孩子识别母亲的电话? (母亲的IP地址?电话号码?电子邮件地址?OpenID?NFC /蓝牙?)那么它可以进行通信吗?

2 个答案:

答案 0 :(得分: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轮询服务器。

答案 1 :(得分:1)

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

可能值得研究像JxTA这样的点对点库。这里有一个Android端口:http://code.google.com/p/peerdroid/

编辑:我刚刚遇到过这个问题:http://android-developers.blogspot.com/2010/05/android-cloud-to-device-messaging.html这看起来就像你正在追求的那样。