【问题标题】:Location exchange between Android phonesAndroid手机之间的位置交换
【发布时间】:2012-08-06 23:31:57
【问题描述】:

我正在寻求更多关于下一步去哪里的建议,而不是如何去做。

作为一个学生项目,我正在开发一款增强现实 Android 游戏,但我偶然发现了一个问题。四部手机必须知道彼此的位置,并在地图上显示时间步长(为了游戏,它不应该是真正的实时)。除此之外,当其中一部手机/玩家到达某个位置或做某事时,应该通知玩家。

我想用 PHP 服务来做,每部手机会在几秒钟内检查其余手机的位置(全部通过 JSON),发送它的位置,就是这样。挺简单的,但是我怕随着游戏的进行会出现很多不同步和不一致的数据。由于电话不会在每个人登录的同一秒开始。另外,我不确定如何以这种方式进行事件(例如,其中一名玩家可以隐身并且他的位置不应该再在接下来 x 秒),或到达某个位置,或地图上仍有哪些物品(玩家可以“拾取”物品)。有人会比其他人更早知道。

这确实需要类似推送的解决方案,但我对 C2DM 不是很熟悉,在我看来使用它是开发中的真正开销,我需要一个 C#/Java 或类似 PHP 的服务器当然不能推送到云端(或者可以吗?)。我知道 C# 和 Java,但需要更多时间,因为我需要解决线程等问题。 C2DM 甚至可以用于此目的吗?

基本上,我正在寻求更有经验的开发人员的想法,这里同步的最佳解决方案是什么?有什么办法可以解决 PHP 的问题并定期检查服务器,还是我应该继续使用云服务和更复杂的服务器?

抱歉,解释太长了:)。

【问题讨论】:

    标签: android service synchronization gps push


    【解决方案1】:

    抱歉,这并不简单,但我在自己的应用程序中遇到了几乎完全相同的问题,没有办法避免这种情况,您需要;

    1. 具有 REST API 以管理和分发数据的服务器
    2. 一种设置朋友/群组的方法
    3. 一种推送数据的方式

    Google Cloud Messaging 真的没那么麻烦。

    查看 Google IO 2012 代码,他们在那里使用了它,但代码不多。

    http://code.google.com/p/iosched/source/browse/

    您真正需要构建的是一个带有很多功能的rest api,用于识别设备并设置这些朋友组。我建议使用 Facebook 集成来建立朋友网络。

    https://developers.facebook.com/

    设置 REST API 的方法有无数种,但我见过的最快的方法是今年在 google IO 和 Google AppEngine EndPoints 上发布的。

    http://devthots.blogspot.com/2012/07/building-awesome-android-apps-with.html

    【讨论】:

    • 不需要设置朋友/组。启动四部手机就足够了,并表明这是可能的。该项目只是一个展示。如果结果很有趣,我可能会在业余时间考虑。 Tnx 的链接,我会在早上阅读它,因为它在我的时区很晚:)。
    • 如果你能批准这个答案会很好:) 如果就这么简单,我认为只做其余的 api 就可以了。只需创建一个 1 命令休息 api。因此,作为获取变量,每个设备都会发布 lat、long 和 name,作为回报,它会获取所有其他设备的数组。
    • 我当然会同意 :) 。 Web 技术并不是我真正的专长,因此术语 1 command rest api 并没有太多意义。事件的问题仍然有点模糊,但我想我今天会开始研究一个概念。 Tnx。
    • 好吧,想想单页。 yourserver.com/… 然后返回所有其他以相同方式提交数据的成员的列表。在 android 上最容易解析的格式可能是 json。
    【解决方案2】:

    试试Comet,全是http请求

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多