Android手机之间的位置交换

时间:2012-08-06 23:31:57

标签: android service synchronization gps push

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

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

我想用一个PHP服务来做,每个手机会在几秒钟内检查其余部分的位置(全部是通过JSON),发送它的位置就是这样。很简单,但我担心随着游戏的进行会有很多失步和无意识的数据。由于手机没有在每个人登录的同一秒开始。此外,我不确定如何以这种方式进行事件(例如,其中一个玩家可以隐身,他的位置不应再更新了下一个x秒),或者到达一个位置,或者地图上还有哪些项目(玩家可以“拿起”物品)。有人会比其他人早知道。

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

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

很抱歉有很长的解释:)。

2 个答案:

答案 0 :(得分:1)

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

  1. 具有REST API的服务器,用于管理和分发数据
  2. 一种设置好友/群组的方式
  3. 一种推送数据的方法
  4. Google Cloud Messaging真的不是那么麻烦。

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

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

    您真正需要构建的是具有相当多功能的rest api,以便能够识别设备并设置这些朋友组。我建议使用Facebook集成来建立朋友网络。

    https://developers.facebook.com/

    设置REST API的方法有很多种,但我见过的最快的是今年发布的谷歌IO和Google AppEngine EndPoints。

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

答案 1 :(得分:0)

尝试Comet,这完全是关于http请求

相关问题