2014-07-08 15 views
6

Ho provato a creare un'app mostrando alcune immagini da internet.Connessione Internet diretta su Android Wear?

Ho usato una funzione, che funziona perfettamente sul mio telefono (Galaxy S3 - Android 4.3) ma sull'orologio ottengo un'eccezione java.io.EOFException.

Il codice (funziona al telefono):

private class DownloadImageTask extends AsyncTask<String, Void, Bitmap> { 
    ImageView bmImage; 

    public DownloadImageTask(ImageView bmImage) { 
     this.bmImage = bmImage; 
    } 

    protected Bitmap doInBackground(String... urls) { 
     String urldisplay = urls[0]; 
     Bitmap mIcon11 = null; 
     try { 
      InputStream in = new java.net.URL(urldisplay).openStream(); 
      mIcon11 = BitmapFactory.decodeStream(in); 
     } catch (Exception e) { 
      //Log.e("Error", e.getMessage()); 
      e.printStackTrace(); 
     } 
     return mIcon11; 
    } 

    protected void onPostExecute(Bitmap result) { 
     bmImage.setImageBitmap(result); 
    } 
} 

Funzioni gettano un org.apache.http.NoHttpResponseException L'orologio è accoppiato e on-line, come posso usare i comandi vocali e la ricerca ecc

Quindi la domanda sul web : Posso accedere al web direttamente da Android Wear o devo gestire tutte queste attività sul mio telefono? O c'è qualcosa di sbagliato nel mio setup?

risposta

8

I dispositivi Android Wear non hanno accesso diretto a Internet. Se desideri accedere al Web, dovresti farlo utilizzando l'app companion. È possibile utilizzare Data Layer API per trasferire dati avanti e indietro tra il wearable e il palmare. L'API Data Layer ha il supporto integrato per transferring assets (principalmente immagini, ma in pratica si trasferisce qualsiasi altro dato binario).

MODIFICA: A partire da Android Wear 2.0, è possibile accedere direttamente a Internet utilizzando le normali API di rete. Vedi lo Android Wear 2.0 Developer Preview documentation per i dettagli. Android Wear 2.0 non è ancora stato ancora rilasciato, fare riferimento allo Developer Preview Program Overview per una timeline.

+2

triste sentire di non costruire questa funzionalità in app Android Wear sul telefono e senza fornire connettività internet del dispositivo di usura (come su Google Glass). Ora tutti devono scrivere il proprio codice per la connettività Internet e metterlo nell'app del telefono. – Fraggle

+3

L'app companion deve essere avviata dall'utente affinché ciò accada? in altre parole, se l'utente ha sempre eseguito solo l'app indossabile, può accedere a Internet tramite il telefono? –

+0

Questa limitazione è ancora rilevante ora che le nuove versioni di Android Wear hanno attivato il supporto Wi-Fi su alcuni orologi (ad esempio Galaxy Gear)?Mi chiedo se posso creare un'app per l'usura che può connettersi a Internet mentre il telefono non è in giro – German

0

È possibile utilizzare MessageApi. Ho seguito l'esempio dettagliato this e ha funzionato molto bene.

1

Ho un problema molto simile. La mia app si connette a Internet usando un middleware (ZeroC Ice), quindi non posso usare lo MessageApi o qualcosa del genere. La mia app Wear è stata in grado di connettersi a Internet mentre non è collegato al telefono.

Il mio problema era che il WiFi è spento quando il telefono è collegato al dispositivo Wear (per risparmiare batteria). Una soluzione semplice consiste nel disabilitare questa funzione: vai su Developer Options sul tuo abbigliamento e disabilita Automatic Wi-Fi toggle. Questo scaricherà la batteria più velocemente, ma avrai sempre una connessione a Internet.

Crediti: https://arcoresearchgroup.wordpress.com/2016/04/18/wear-keep-internet-even-when-connected/#more-1349

Problemi correlati