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

时间:2011-11-10 12:56:55

标签: android ipad mobile bluetooth wifi

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

现在应用程序非常简单。当在Android手机上选择一种颜色时,该颜色会显示在平板电脑设备上。

问题是,如何连接这两个设备。刚才我已经确认我可以使用蓝牙配对这两个设备。此外,三星还有一个“Kies”Wifi Direct功能(我完全不懂),它允许iPad作为wifi热点连接到Galaxy。

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

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

无论哪种情况,怎么样?

4 个答案:

答案 0 :(得分:7)

我的观点是,您不应该在用于连接的物理介质上坚持使用WiFi或蓝牙。你应该抽象这个方面,在这两种情况下你将使用套接字(我说的是Android),如果它是蓝牙,你将使用蓝牙套接字,如果它是WiFi:TCP套接字。您可以拥有一个抽象连接类型的中间层,并通过工厂使用蓝牙或TCP。

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

对于WiFi,您应该研究P2P是否会有所帮助。

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

答案 1 :(得分:5)

我已经构建了一些在iPhone和iPad之间完全相同的应用程序。但原则是一样的。我使用了Bonjour网络。它只是设备之间ZeroConfig网络的一个奇特名称。它最初由Apple编写,但它是开源的,因此也应该有Android支持。非常简单易用。

答案 2 :(得分:4)

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

有很多方法可以实现这一目标。您可以实现自己的轻量级消息传递系统。如果你之前没有这样做比它最初看起来更复杂,特别是因为你需要为你最终使用的每个操作系统实现系统。

答案 3 :(得分:1)

  

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

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

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

如果两台设备都连接到互联网,您可以让它们通过互联网相互通信。这种方法的优点是,只要它们都在线,设备的距离并不重要。缺点是您必须弄清楚如何找到平板电脑的IP地址才能与之通话。这实际上是一个巨大的缺点,因为如果你的两个设备不在同一个wifi上,它可能会很成问题。您可以让用户键入目标IP地址,但如果用户位于路由器后面,您将无法使用它(这几乎总是如此)。关键是,它变得毛茸茸。

如果你的两个设备都在同一个wifi上,你可以使用ZeroConf AKA bonjour(如Dancreek所说)来找出你需要发送信息的IP地址。我之前使用过一个名为jmdns的库(很容易用google查找)来实现零配置网络。这很好,因为用户不必担心IP地址......这对用户来说很直观。

  

无论哪种情况,怎么样?

网络是一个非常大的话题,所以我无法对此问题进行更多扩展。简而言之,这取决于您选择的方法。搜索一些教程,然后让你的一个设备将一个简单的int发送到另一个。

相关问题