Avvio del browser dalle applicazioni Android la via più semplice

Questo suggerimento rapido mostra come avviare l'applicazione Browser integrata in tre modi. Innanzitutto, si impara come avviare il browser su un URL specifico. In secondo luogo, si impara come creare testo con collegamenti. In terzo luogo, si impara come avviare una ricerca web su Google e specificare i criteri di ricerca. Raggiungerai questi obiettivi creando e configurando gli Intenti appropriati all'interno della classe Attività della tua applicazione.

Passaggio 1: crea un'applicazione Android

Inizia creando un progetto Android. Implementa la tua applicazione Android normalmente. Una volta impostato il progetto e avviata l'applicazione, decidere in quali circostanze si desidera avviare il browser. Ciò si verifica quando vengono premuti i controlli Button? Implementare i controlli necessari che si innescheranno alla navigazione web o alla ricerca delle funzionalità dell'applicazione, inclusa la gestione dei clic. Una volta completate queste attività, ci sono posti in cui inserire il codice per avviare il browser o la ricerca sul Web. Ora sei pronto per procedere con questo suggerimento rapido.

Puoi seguire il nostro progetto: HelloWorldWideWeb, che è disponibile come open source.

Passaggio 2: utilizzo degli URI

Android utilizza gli oggetti Uri (Uniform Resource Identifier) ​​per identificare la posizione unica di un dato. Gli oggetti Uri sono spesso usati per specificare i dati che si suppone che un Intent usi. In questo caso, creeremo un oggetto Uri da un URL Web usando il metodo parse ():

 Uri uriUrl = Uri.parse ("http://androidbook.blogspot.com/"); 

Passaggio 3: creazione dell'intento

È possibile visualizzare il contenuto HTML utilizzando il seguente intento: android.content.Intent.ACTION_VIEW. Inizia creando un Intento di questo tipo e specificando l'URI che hai creato sopra, nel modo seguente, all'interno del tuo gestore di clic Button:

 Intent launchBrowser = new Intent (Intent.ACTION_VIEW, uriUrl); 

Passaggio 4: avvio dell'intento

Quando si avvia questa intenzione, qualsiasi applicazione in grado di visualizzare Web sarà in grado di gestire questa richiesta. Dopo aver impostato i dati del tipo per l'intento, puoi chiamare il metodo startActivity (), passando il tuo intento:

 startActivity (launchBrowser); 

Quando si fa clic su questo pulsante, l'applicazione Browser (che generalmente gestisce la visualizzazione del contenuto HTML) viene avviata sul sito Web fornito.

Quando premi il pulsante Indietro, ritorni all'attività precedente, che è la tua applicazione.

Passaggio 5: utilizzo dei collegamenti nel testo

Un altro modo semplice per avviare il browser è semplicemente includendo i collegamenti all'interno del testo sullo schermo. L'oggetto TextView può essere configurato per trovarli e quindi accedere a link cliccabili, come in un browser Web, in modo tale che quando l'utente fa clic su di essi, avvia il browser nel punto appropriato. Ad esempio, il seguente TextView fa proprio questo:

 

La seguente schermata mostra come appare.

Il testo per @ string / contains_links è letterale per ciò che vedi sullo schermo. Non sono necessari speciali comandi o tag di formattazione all'interno della stringa.

Passaggio 6: abilitazione delle ricerche Web

Quando si desidera fornire all'utente la possibilità di eseguire una ricerca Web, è comunque possibile utilizzare l'intento ACTION_VIEW e impostare le stringhe di query appropriate per un motore di ricerca specifico oppure, se si è soddisfatti di una ricerca di Google, è sufficiente utilizzare l'intento di ricerca sul web: android.content.Intent.ACTION_WEB_SEARCH. Inizia creando un Intento di questo tipo, come indicato di seguito, all'interno del tuo secondo gestore di clic Button:

 Ricerca intenzionale = nuovo intento (Intent.ACTION_WEB_SEARCH); 

Passaggio 7: fornitura dei criteri di ricerca

Spesso, si desidera fornire alcuni criteri per la ricerca. Puoi farlo fornendo queste informazioni come parte degli extra dell'Intent. L'intento ACTION_WEB_SEARCH utilizza in modo specifico il campo aggiuntivo SearchManager.QUERY per i criteri di ricerca. Ad esempio, per eseguire la ricerca di Google su capre pigmeo, si configura il componente SearchManager.QUERY e si avvia il browser come segue:

 Ricerca intenzionale = nuovo intento (Intent.ACTION_WEB_SEARCH); search.putExtra (SearchManager.QUERY, "pygmy goats"); startActivity (ricerca); 

Quando si fa clic su questo pulsante, l'applicazione Browser (che generalmente gestisce la visualizzazione del contenuto HTML) viene avviata sul sito Web fornito.

Una nota sulle autorizzazioni: Sebbene l'applicazione stia sfruttando le funzionalità del browser sul dispositivo, non è necessario disporre di tali autorizzazioni. Questo perché l'applicazione non visualizza direttamente il contenuto web. Invece, è solo sfruttando le capacità di altre applicazioni per farlo.

Diventando un browser

Per un controllo più preciso sui contenuti Web all'interno delle tue applicazioni, ti consigliamo di utilizzare il controllo WebView. Questa visualizzazione speciale consente un controllo preciso sul rendering dei contenuti web. Tuttavia, questo controllo richiede che l'applicazione abbia le autorizzazioni appropriate per farlo, e che, amici, è discusso in un tutorial proprio qui su Mobiletuts+!

Conclusione

In questo suggerimento rapido hai imparato come configurare un intent per avviare il browser e per eseguire una query di ricerca. Questa funzionalità può essere molto utile per le applicazioni che desiderano contenuti Web all'interno delle proprie applicazioni.

Riguardo agli Autori

Gli sviluppatori mobili Lauren Darcey e Shane Conder hanno coautore diversi libri sullo sviluppo di Android: un libro di programmazione approfondito intitolato Sviluppo di applicazioni wireless Android e Sams TeachYourself Sviluppo di applicazioni Android in 24 ore. Quando non scrivono, passano il loro tempo a sviluppare software mobile presso la loro azienda ea fornire servizi di consulenza. Possono essere contattati via email a [email protected], tramite il loro blog su androidbook.blogspot.com e su Twitter @androidwireless.

Hai bisogno di più aiuto nella scrittura di app per Android? Consulta i nostri ultimi libri e risorse!