2011-11-10 9 views
7

Próbuję utworzyć aplikację na urządzeniu z Androidem, która będzie sterować aplikacją na iPadzie lub tablecie z Androidem. (Testuję z Samsungem Galaxy S2 i iPadem 2).Czy urządzenie mobilne to pilot do tabletu?

Aplikacja jest teraz dość prosta. Po wybraniu koloru na telefonie z systemem Android ten kolor zostanie wyświetlony na tablecie.

Pytanie brzmi, jak połączyć te dwa urządzenia. Właśnie sprawdziłem, czy mogę połączyć dwa urządzenia za pomocą Bluetooth. Ponadto Samsung ma funkcję Wifi Direct "Kies" (której nie rozumiem w pełni), która pozwala iPadzie połączyć się z Galaxy jako hotspotem WiFi.

Połączenia są, ale nie wiem, czy można użyć jednego z tych protokołów, aby aplikacje mogły ze sobą rozmawiać, aby uzyskać kontrolę, której szukam.

Czy powinienem używać Bluetooth, Wi-Fi lub czegoś innego?

I w jakimkolwiek przypadku, w jaki sposób?

+0

Czy chcesz mieć bezpośrednie połączenie między dwoma urządzeniami w nieistniejącej sytuacji sieci WiFi lub połączeń pośrednich? TO ZNACZY. możesz być podłączony do tego samego Wi-Fi (podobnie jak działa pilot Boxee), jeśli chcesz mieć połączenie pośrednie. Albo, jak wspomniałeś o parowaniu, byłoby to bezpośrednie. Czy urządzenia będą miały ten sam system operacyjny, czy też systemy OS zmieszają się? TO ZNACZY. iPhone i tablet z Androidem lub odwrotnie? – onaclov2000

Odpowiedz

7

Moja opinia jest taka, że ​​nie należy przyklejać zbyt wiele do fizycznego medium używanego do łączności, czy to WiFi, czy Bluetooth. Powinieneś omówić ten aspekt, w obu przypadkach będziesz używał gniazd (mówię o Androidzie), jeśli to Bluetooth, będziesz używał gniazd Bluetooth, jeśli to jest WiFi: gniazda TCP. Możesz mieć warstwę pośrednią, która abstrahuje typ połączenia i przez fabrykę, aby używać połączenia Bluetooth lub TCP.

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

za WiFi należy zbadać, czy P2P pomoże.

Potrzebne będą dwie aplikacje: - jeden na tablecie - serwer, który słucha poleceń od klienta (zmiana koloru, to czy to zrobić) - druga na smartphone - klienta, który wysyła polecenia.

5

Zbudowałem kilka aplikacji, które robią dokładnie to samo między iPhonem a iPadem. Ale zasada jest taka sama. Korzystałem z sieci Bonjour. To tylko wymyślna nazwa dla sieci ZeroConfig między urządzeniami. Jest napisany pierwotnie przez Apple, ale jest open source, więc tam też powinno być wsparcie dla Androida. Naprawdę proste i łatwe w użyciu.

4

Jeśli masz już działające połączenie, masz już pierwszą połowę swojej odpowiedzi, co oznacza, że ​​powinieneś rozważyć wdrożenie rozwiązania wykorzystującego różne typy połączeń, WIFI, Bluetooth itd. Pytanie, które myślę naprawdę pytasz, w jaki sposób przekazywać dane i wiadomości między aplikacjami, gdy już będziesz mieć połączenie.

Istnieje wiele sposobów, aby to osiągnąć. Możesz zaimplementować własny system przekazywania wiadomości lekkich. Jeśli nie zrobiłeś tego wcześniej, jest to bardziej skomplikowane, niż się początkowo wydawało, szczególnie, że będziesz musiał wdrożyć system dla każdego systemu operacyjnego, z którego korzystasz.

1

Czy powinienem używać Bluetooth, Wi-Fi lub czegoś innego?

To zależy co chcesz sytuacje program do pracy w.

Bluetooth może zapewnić bezpośrednie połączenie między urządzeniami. Potencjalnym problemem związanym z Bluetooth jest to, że ma ograniczony zasięg. Jeśli chcesz, aby urządzenia były z dala od siebie, możesz chcieć korzystać z Wi-Fi. W przeciwnym razie bluetooth może działać świetnie.

Jeśli oba urządzenia są podłączone do Internetu, można nawiązywać z nimi połączenia. Zaletą tego podejścia jest to, że nie ma znaczenia, jak daleko od siebie znajdują się urządzenia, pod warunkiem, że oba są online. Wadą jest to, że musisz wymyślić, jak znaleźć adres IP tabletu, zanim będzie można z nim porozmawiać. Jest to w rzeczywistości OGROMNA wada, ponieważ może być dość problematyczne, jeśli oba urządzenia nie są podłączone do tego samego Wi-Fi. Możesz mieć typ użytkownika w docelowym adresie IP, ale będziesz miał problemy z uruchomieniem go, jeśli użytkownik znajduje się za routerem (co prawie zawsze będzie miało miejsce). Chodzi o to, że robi się włochaty.

Jeśli oba urządzenia są w tym samym wifi, możesz użyć ZeroConf AKA bonjour (jak powiedział Dancreek), aby dowiedzieć się, do którego adresu IP musisz wysłać informacje. Wcześniej używałem biblioteki o nazwie jmdns (łatwo znaleźć w google), aby wdrożyć zerową konfigurację sieci. To dobrze, ponieważ użytkownik nie musi się martwić o adresy IP ... jest intuicyjny dla użytkownika.

I w jakimkolwiek przypadku, w jaki sposób?

Tworzenie sieci to dość duży temat, więc nie mogę zbytnio rozwinąć tego pytania. Krótka odpowiedź brzmi: zależy to od wybranej metody. Wyszukaj kilka samouczków i zacznij od pobrania jednego z urządzeń, aby wysłać coś tak prostego, jak int do drugiego.