2011-11-10 156 views
7

我正試圖在Android設備上製作應用程序,以控制iPad或Android平板電腦上的應用程序。 (我正在測試三星Galaxy S2和iPad 2)。使移動設備成爲平板電腦的遙控器?

該應用程序現在非常簡單。當在Android移動設備上選擇一種顏色時,平板設備上將顯示該顏色。

問題是,如何連接這兩個設備。剛纔我已經證實,我可以使用藍牙將兩臺設備配對。此外,三星還有一個「Kies」Wifi Direct功能(我完全不明白),它允許iPad作爲WiFi熱點連接到Galaxy。

連接在那裏,但我不知道是否可以使用任何一種協議來實際讓應用程序相互通話以獲得我要找的控件。

我應該使用藍牙,Wifi還是其他?

無論在哪種情況下,如何?

+0

您是否希望在不存在WiFi網絡情況下的兩個設備或間接連接之間有直接連接? I.E.如果你想間接連接,你可以連接到相同的wifi(類似於boxee遙控器的工作方式)。或者如你所說的配對,這將是直接的。這些設備是否具有相同的操作系統或操作系統可能混合? I.E. iPhone和Android平板電腦,反之亦然? – onaclov2000

回答

7

我的意見是,你不應該在連接物理介質上使用WiFi或藍牙。你應該抽象這個方面,在這兩種情況下,你將使用套接字(我正在談論Android),如果它是藍牙,你將使用藍牙套接字,如果它是WiFi:TCP套接字。你可以有一箇中間層,抽象的連接類型,並通過工廠使用藍牙或TCP。

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

對於無線網絡,你應該研究是否P2P會有所幫助。

您將需要兩個應用: - 一個在平板電腦上 - 這監聽來自客戶端的命令服務器(改變顏色,這樣做或本) - 在智能手機上第二 - 它發送命令的客戶端。

5

我已經構建了幾款應用程序,可以完全實現iPhone和iPad之間的應用程序。但原則是一樣的。我使用了Bonjour網絡。這只是設備之間ZeroConfig網絡的一個奇特名稱。它最初由蘋果公司撰寫,但它是開源的,所以也應該有Android支持。真的很簡單,易於使用。

4

如果你已經有一個工作連接,那麼你已經有了你的答案的前半部分,這就是說你應該考慮實現一個使用各種連接類型,WIFI,藍牙等的解決方案。我認爲的問題你真正要問的是如何在應用程序之間傳遞數據和消息。

有很多方法可以做到這一點。你可以實現你自己的輕量級消息傳遞系統。如果你之前沒有做到這一點,它會比最初看起來更復雜,特別是當你最終需要爲每個操作系統實現系統時。

1

我應該使用藍牙,Wifi還是其他?

這取決於你想要什麼樣的情況下你的程序中工作。

藍牙可以提供您的設備之間的直接連接。藍牙潛在的問題是它的範圍有限。如果你的設備需要彼此遠離,你可能想要使用wifi。否則,藍牙可以很好地工作。

如果兩臺設備都連接到互聯網,您可以通過這些設備互相通話。這種方法的優點是,只要他們都在線,設備距離多遠就沒有關係。一個缺點是,你必須弄清楚如何找到平板電腦的IP地址,然後才能與之通話。這實際上是一個巨大的缺點,因爲如果你的兩個設備都不在同一個wifi上,它可能會很成問題。您可以讓用戶鍵入目標IP地址,但是如果用戶位於路由器後面(這幾乎總是如此),您將會遇到問題。重點是,它變得毛茸茸的。

如果你的兩個設備都在同一個wifi上,你可以使用ZeroConf AKA bonjour(比如Dancreek說的)找出你需要發送信息的IP地址。我以前使用過一個名爲jmdns的庫(易於在谷歌中查找)來實現零配置網絡。這很好,因爲用戶不必擔心IP地址......這對用戶來說很直觀。

而無論在哪種情況下,怎麼樣?

網絡是一個相當大的話題,所以我不能在這個問題上展開太多。簡而言之,這取決於您選擇的方法。搜索一些教程,並開始讓您的設備之一發送一些簡單的int到另一個。

相關問題