Come creare una Android WebView in 10 mosse
352 visiteIn quest’articolo vediamo come creare una Android WebView in 10 mosse !…1. Usando Eclipse ADT creiamo un nuovo progetto Android.
2. Diamo un nome al nostro progetto per esempio MyAndroidWebView
Nota: Se si desidera supportare il WebView Chromium (piuttosto che il vecchio WebKit WebView) bisogna ‘settare’ il minimo SDK richiesto API 19: Android 4.4 (KitKat).
3. Completiamo la scelta delle restanti configurazioni selezionando per esempio il flag della creazione Activity.
4. Scegliamo la Blank Activity with Fragment e clicchiamo su Finish.
Eclipse creerà per noi tutto il progetto a cui dovremo aggiungere la WebView.
5. A tal proposito apiramo la activity_main.xml e aggiungiamo il codice seguente:
6. Inseriamo del codice di gestione della WebView e abilitiamo il Javascript:
Apriamo il file MainActivity.java e aggiungiamo le righe evidenziate in grassetto:
Il codice esistente nel metodo onCreate fa il lavoro di aggancio della attività con il layout. Le linee aggiunte per creare una nuova variabile membro, mWebView, fa riferimento alla vista web.
7. Rimuoviamo il seguente codice seguente:
1 2 3 4 5 |
<span class="kwd">if</span> <span class="pun">(</span><span class="pln">savedInstanceState </span><span class="pun">==</span> <span class="kwd">null</span><span class="pun">)</span> <span class="pun">{</span><span class="pln"> getSupportFragmentManager</span><span class="pun">().</span><span class="pln">beginTransaction</span><span class="pun">()</span> <span class="pun">.</span><span class="pln">add</span><span class="pun">(</span><span class="pln">R</span><span class="pun">.</span><span class="pln">id</span><span class="pun">.</span><span class="pln">container</span><span class="pun">,</span> <span class="kwd">new</span> <span class="typ">PlaceholderFragment</span><span class="pun">())</span> <span class="pun">.</span><span class="pln">commit</span><span class="pun">();</span> <span class="pun">}</span> |
8. Identifichiamo la WebView da un ID di risorsa, che è specificato da questa riga nel file di layout:
1 |
<span class="pln">android</span><span class="pun">:</span><span class="pln">id</span><span class="pun">=</span><span class="str">"@+id/activity_main_webview"</span> |
Dopo aver aggiunto il codice, vedrete alcuni messaggi di avviso a margine del redattore. Questo è perché non avete importato le classi giusti per WebView. Il modo più semplice per farlo è cliccare e al passaggio del mouse su un nome di classe sconosciuta e attendere un popup che mostra un “quick fix” – in questo caso, l’aggiunta di un statment importazione per la classe WebView.
Premere Ctrl Sin. + Shift Sin. + O
9. Abiliatiamo il Javascript:
e inseriamo il seguente codice
1 |
mWebView.loadUrl("http://www.geeknews.it"); |
10. Abilitiamo l’accesso internet dentro al file AndroidManifest.xml
1 2 3 4 5 6 7 8 9 |
<span class="pun"><?</span><span class="pln">xml version</span><span class="pun">=</span><span class="str">"1.0"</span><span class="pln"> encoding</span><span class="pun">=</span><span class="str">"utf-8"</span><span class="pun">?></span> <span class="tag"><manifest</span><span class="pln"> ...</span><span class="tag">></span><span class="pln"> ... </span><span class="tag"></application></span> <strong> <span class="tag"><uses-permission</span> <span class="atn">android:name</span><span class="pun">=</span><span class="atv">"android.permission.INTERNET"</span> <span class="tag">/></span> </strong> <span class="tag"></manifest></span> |
Nota: Per determinare quando un sito ha iniziato e finito di caricare usiamo rispettivamente WebViewClient.onPageStarted e WebViewClient.onPageFinished.