2011-11-10 10 views
7

Sto provando a creare un'app su un dispositivo Android che controllerà un'applicazione su un tablet iPad o Android. (Sto testando con un Samsung Galaxy S2 e un iPad 2).Realizzare un dispositivo mobile come telecomando per un tablet?

L'applicazione è piuttosto semplice per ora. Quando si seleziona un colore sul cellulare Android, tale colore viene visualizzato sul tablet.

La domanda è, come collegare i due dispositivi. Proprio ora ho verificato che posso accoppiare i due dispositivi tramite Bluetooth. Inoltre, il Samsung ha una funzione WiFi diretta "Kies" (che non capisco completamente), che consente all'iPad di connettersi al Galaxy come hotspot Wi-Fi.

Le connessioni ci sono, ma non so se è possibile utilizzare entrambi i protocolli per far sì che le app possano parlare tra loro per ottenere il controllo che sto cercando.

Devo usare Bluetooth, Wifi o qualcos'altro?

E in ogni caso, come?

+0

Desiderate avere una connessione diretta tra i due dispositivi in ​​una situazione di rete wifi inesistente o connessioni indirette? OSSIA si potrebbe essere connessi allo stesso wifi (come funziona un telecomando Boxee) se si desidera avere una connessione indiretta. O come hai menzionato l'accoppiamento, sarebbe diretto. I dispositivi saranno dello stesso sistema operativo o i sistemi operativi potrebbero essere mixati? OSSIA iPhone e tablet Android o viceversa? – onaclov2000

risposta

7

La mia opinione è che non si dovrebbe rimanere così tanto intorno al supporto fisico utilizzato per la connettività sia WiFi o Bluetooth. Dovresti astrarre questo aspetto, in entrambi i casi utilizzerai i socket (sto parlando di Android), se è Bluetooth utilizzerai i Socket Bluetooth, se è WiFi: socket TCP. Si potrebbe avere un livello intermedio che astrae il tipo di connessione e attraverso una fabbrica per utilizzare Bluetooth o TCP.

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

Per WiFi si dovrebbe studiare se P2P avrebbe aiutato.

Avrete bisogno di due applicazioni: - uno sulla tavoletta - il server in ascolto per i comandi dal client (cambiamento di colore, fare questo o questo) - secondo sullo smartphone - il cliente che invia i comandi.

5

Ho creato alcune app che fanno esattamente questo tra iPhone e iPad. Ma il principio è lo stesso. Ho usato il networking di Bonjour. È solo un nome di fantasia per il networking ZeroConfig tra dispositivi. È scritto in origine da Apple, ma è open source, quindi dovrebbe esserci anche il supporto per Android. Davvero semplice e facile da lavorare.

4

Se si dispone già di una connessione funzionante, si ha già la prima metà della risposta, ciò significa che si dovrebbe prendere in considerazione l'implementazione di una soluzione che utilizza una varietà di tipi di connessione, WIFI, Bluetooth, ecc. La domanda penso stai davvero chiedendo è come passare dati e messaggi tra le app una volta che hai la connessione.

Ci sono molti modi per farlo. Potresti implementare il tuo leggero sistema di trasmissione dei messaggi. Se non lo hai fatto prima, è più complicato di quanto non sembri in origine, soprattutto perché ti verrà richiesto di implementare il sistema per ciascun sistema operativo che utilizzi.

1

Devo usare Bluetooth, Wifi o qualcos'altro?

Dipende da quali situazioni si desidera che il programma di lavorare in.

Bluetooth in grado di fornire una connessione diretta tra i dispositivi. Un potenziale problema con il bluetooth è che ha una portata limitata. Se i dispositivi devono essere distanti tra loro, è consigliabile connettersi al wifi. Altrimenti, il bluetooth potrebbe funzionare alla grande.

Se entrambi i dispositivi sono collegati a Internet, è possibile farli parlare tra di loro. Il vantaggio di questo approccio è che non importa quanto distanti siano i tuoi dispositivi fintanto che sono entrambi online. Uno svantaggio è che dovrai capire come trovare l'indirizzo IP del tablet prima di parlarne. Questo è in realtà uno svantaggio enorme perché può essere abbastanza problematico se entrambi i tuoi dispositivi non sono sullo stesso wifi. È possibile che l'utente digiti l'indirizzo IP di destinazione, ma avrà problemi a farlo funzionare se l'utente è dietro un router (che sarà quasi sempre il caso). Il punto è che diventa peloso.

Se entrambi i dispositivi sono sullo stesso wifi, è possibile utilizzare ZeroConf AKA bonjour (come ha detto Dancreek) per capire a quale indirizzo IP è necessario inviare le informazioni. In precedenza ho utilizzato una libreria chiamata jmdns (facile da trovare con google) per implementare la rete di configurazione zero. Va bene perché l'utente non deve preoccuparsi degli indirizzi IP ... è intuitivo per l'utente.

E in ogni caso, come?

Il networking è un argomento molto importante, quindi non posso approfondire questa domanda. La risposta breve è, dipende dal metodo scelto. Cerca alcuni tutorial e inizia facendo in modo che uno dei tuoi dispositivi invii qualcosa di semplice come una int all'altra.

Problemi correlati