繁体   English   中英

Android手机之间的位置交换

[英]Location exchange between Android phones

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

我正在开发一个增强现实的Android游戏,作为一个学生项目,但我偶然发现了一个问题。 四部手机必须知道彼此的位置,并在地图上显示时间步长(就游戏而言,它不应是实时的)。 除此之外,当电话/播放器之一到达某个位置或执行某项操作时,应通知播放器。

我想用一个PHP服务来做到这一点,其中每部电话都会在几秒钟内检查其余位置(全部通过JSON),然后发送位置信息。 很简单,但是随着游戏的进行,恐怕会出现许多不同步和不一致的数据。 由于电话的启动时间与所有人登录的时间都不相同。此外,我不确定如何以这种方式进行活动(例如,其中一名玩家可以隐身,并且不应再更新他的位置了)接下来的x秒),或者到达某个位置,或者地图上还有哪些物品(玩家可以“拾取”物品)。 有人会比其他人更早知道。

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

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

抱歉,冗长的解释:)。

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

  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

尝试Comet ,这全都与http请求有关

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM