我是美国国家学院Dodgeball协会的一名设计师/开发者,我们想开发一个Android应用程序,供官员在比赛期间使用。它很小,每周不能被10到15个人使用,一年中只有几个月。
我们正在苦苦挣扎的一个特点是:我们想要处理的游戏时钟是一致的,在3-4设备之间进行交互,在篮球场上进行通信(大约60'/20米)。我怎样才能做到这一点/我能研究什么?
发布于 2016-08-17 22:23:39
我是美国国家大学棒球协会的设计师/开发者
保存每个人的谷歌搜索:http://ncdadodgeball.com/ :-)
我们想要处理的游戏时钟是一致的和互动的3-4设备,通过篮球场(约60'/20米)进行通信。我怎样才能做到这一点/我能研究什么?
如果你的问题是“什么无线电技术将在这个范围内工作?”,这对蓝牙或NFC来说太远了。WiFi应该可以,除非工厂里有太多的竞争信号。无论您使用的是WiFi直接(因此不需要配置所有设备的公共访问点),还是传统的WiFi取决于您。细胞可以工作,但这在某种程度上取决于设施,而且您可能需要有一个服务器作为中心协调点,而不是纯粹的点对点方法。
发布于 2016-08-17 22:36:53
首先,我与这个答案中提到的公司、组织或社区团体没有任何联系。好了,我们开始吧。
我想你希望有一个非常精确的时间,因为游戏有严格的规则,一切都必须顺利进行。我的建议本身并不是Android特有的,但这可能是一个很好的起点,这取决于您愿意尝试多少才能让整个工作正常进行。
定时对象
有一个W3C多设备定时社区小组,提倡时间对象的标准化。尽管大部分讨论都考虑到了HTML5,但该技术对于Android应用程序也应该很好。以下是来自规格草案的解释
定时对象是一个本地对象,Web客户端可以使用它来确保精确的定时操作以及灵活的定时控制。如果多个对时间敏感的组件从同一个定时对象中获得方向,它们的行为将在时间上精确地对齐(同步)。关键是,在分布式设置中也是如此。定时对象的中心动机是它可以连接到在线定时资源。这样,本地定时对象是实现精确定时操作的门户,无论是在单个设备还是多设备场景中。

这个图像是从http://webtiming.github.io/timingobject/中获取的。版权(2015年)时间对象规范的贡献者,由多设备计时社区小组根据W3C社区贡献者许可协议发布。
在单个网页(或应用程序)中处理定时的可能性已经很多,但是这个规范将允许它在多个web页面(或利用该功能的应用程序)上同步工作。
我给你的建议(如果你敢于冒险,不害怕深入研究一些尚未被广泛使用的东西,或者成熟的和),那就是看看由多设备计时社区小组创建的源代码,并研究文档。
您最感兴趣的部分是文档的Timing Providers部分。有一个名为Shared Motion的API (产品),为网络代理(IP连接的客户端)提供在线计时服务。
共享运动解决了多设备定时问题,并将时间转换为局部挑战。 ..。 如果您的应用程序已经将计时对象用于单个设备计时,则将其转换为多设备应用程序是非常简单的。您所需要做的就是将在线计时提供程序插入计时对象中。
总之,这个解决方案绝不是最简单的解决方案,但如果您要为多个设备寻找精确和同步的时间,则值得研究。你还必须弄清楚如何在安卓系统上使用Timing objects,但最终应该不会太复杂。
https://stackoverflow.com/questions/39007049
复制相似问题