Come trasformare un sito web in un app android nativa con Android Studio

Ma come posso realizzare un app che visualizzi un sito web “senza far vedere” che si è dentro un browser?

La casa è abbastanza semplice adesso ti spiego come realizzare questa particolare applicazione.

Di cosa hai bisogno:

  • Android Studio
  • Emulatore

Supponendo che tu abbia già installato android studio e un emulatore funzionante.

La prima cosa da fare è creare una nuova app seguendo il wizard di android studio.

A questo punto ci spostiamo in activity layout e inseriamo la nostra WebView che sarà la classe che ci permetterà di visualizzare il nostro sito web.

Per fare questo inseriamo il seguente codice:

<WebView
    android:id="@+id/webview"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
/>

Adesso ci spostiamo su mainactivity e inseriamo sull'oncreate() il seguente codice:

WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.miosito.it");

cosi facendoa abbiamo creato l'oggetto myWebView che punta alla nostra webview,
con il metodo loadurl("nomesito") carichiamo la nostra pagina nella webview.

La nostra app è quasi pronta, mancano solo i permessi  per accedere ad internet, per fare questo ci spostiamo nell'AndroidManifest della nostra applicazione e inseriamo il seguente codice:


<uses-permission android:name="android.permission.INTERNET" />


Possiamo avviare l'app sul nostro emulatore e verificarne il funzionamento.

Di default javascript è disabilitato nella classe WebView se vogliamo abilitarlo possiamo aggiungere queste due ulteriori righe di codice:


WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);



Adesso la nostra app è perfettamente funzionante.

E' importante notare che con le nuove politiche google non permette di caricare applicazioni che mostrano per intero siti web, pertanto è consigliabile caricare la nostra app su altri appstore o condividerla tramite file APK.





Posted in Android, MobileTags:
Write a comment