使移动设备成为平板电脑的遥控器?

我正在尝试在Android设备上制作应用程序,以控制iPad或Android平板电脑上的应用程序。 (我正在testing三星Galaxy S2和iPad 2)。

该应用程序现在非常简单。 当在Android移动设备上select一种颜色时,平板设备上将显示该颜色。

问题是,如何连接这两个设备。 刚才我已经证实,我可以使用蓝牙将两台设备配对。 此外,三星有一个“Kies”无线直连function(我不完全了解),它允许iPad连接到银河作为一个WiFi热点。

连接在那里,但我不知道是否可以使用任何协议实际上让应用程序互相交谈,以获得我正在寻找的控制。

我应该使用蓝牙,Wifi还是其他?

而无论如何,如何?

Solutions Collecting From Web of "使移动设备成为平板电脑的遥控器?"

我的意见是,你不应该坚持使用WiFi或蓝牙连接的物理介质。 你应该抽象这个方面,在这两种情况下,你将使用套接字(我在谈论Android),如果是蓝牙,你将使用蓝牙套接字,如果是WiFi:TCP套接字。 你可以有一个中间层,抽象的连接types,并通过工厂使用蓝牙或TCP。

蓝牙 – http://developer.android.com/guide/topics/wireless/bluetooth.html

对于WiFi,你应该研究P2P是否有帮助。

您将需要两个应用程序: – 一个在平板电脑上 – 侦听来自客户端的命令的服务器(更改颜色,执行此操作或此操作) – 在智能手机上发送命令的客户端。

我已经构build了几个在iPhone和iPad之间完成的应用程序。 但是原理是一样的。 我使用了Bonjournetworking。 这只是设备之间ZeroConfignetworking的一个奇特名称。 它最初由苹果公司撰写,但它是开源的,所以也应该有Android支持。 真的很简单,易于使用。

如果你已经有一个工作连接,那么你已经有了你的答案的前半部分,这就是说你应该考虑实现一个解决scheme,使用各种连接types,WIFI,蓝牙等。我想你真的问的问题就是如何在应用程序之间传递数据和消息。

有很多方法可以做到这一点。 你可以实现你自己的轻量级消息传递系统。 如果你之前没有做到这一点,那么它就比它最初看起来更复杂了,特别是当你最终需要为每个操作系统实现这个系统的时候。

我应该使用蓝牙,Wifi还是其他?

这取决于你希望你的程序在什么情况下工作。

蓝牙可以提供您的设备之间的直接连接。 蓝牙潜在的问题是它的范围有限。 如果你的设备需要彼此远离,你可能想要使用wifi。 否则,蓝牙可以很好地工作。

如果两台设备都连接到互联网,您可以通过这些设备互相通话。 这种方法的优点是,只要他们在线,你的设备距离多远就没有关系。 一个缺点是,你必须找出如何find平板电脑的IP地址,然后才能与之通话。 这实际上是一个巨大的缺点,因为如果你的两个设备都不在同一个wifi上,这可能是相当有问题的。 你可以让用户键入目的IP地址,但是如果用户在路由器后面(这几乎总是如此),你将会遇到问题。 重点是,它变得毛茸茸的。

如果你的两个设备都在同一个wifi上,你可以使用ZeroConf AKA bonjour(比如Dancreek说的)找出你需要发送信息的ip地址。 我以前使用过一个名为jmdns的库(很容易find谷歌)来实现零configurationnetworking。 这很好,因为用户不必担心IP地址…这对用户来说很直观。

而无论如何,如何?

networking是一个相当大的话题,所以我不能在这个问题上进行多大的拓展。 简单的答案是,这取决于你select什么方法。 search一些教程,并开始让您的设备之一发送一个简单的int到另一个。