Fondamenti di programmazione

Corso php a cura del prof. Pietro De Paolis

Android e PHP

L'uso dello smartphone nel sistema operativo Android ha avuto il sopravvento sul personal computer tradizionale; tuttavia il nostro lavoro decennale nel programmare in php non va perso anzi deve essere opportunamente personalizzato, in modo da renderlo adatto allo smartphone. Diciamo che non è semplice fare questo lavoro, vi sono diverse procedure che si possono utilizzare, per rendere fruibile il nostro sito in Android.

A mio avviso non ha senso passare ad una programmazione in java, in quanto un programma in java si traduce in una applicazione Android, da pubblicare su Play store di Google. Per evitare questo è sufficiente costruire una sola applicazione Android che apre il collegamento ad internet sul dispositivo android e carica la pagina che noi vogliamo caricare; da quel momento in poi il controllo passa dal sistema android al php tradizionale.

Il modo più semplice è quello di istruire l'utente su come inserire nella scrivania dello smartphone, detta Home, un collegamento al nostro sito; vedi:

istruzioni di un collegamento nella Home

Un modo più complicato è quello di programmare una piccola app che ci permette di collegarci al nostro sito. In tal modo l'utente scarica la nostra app dal Play store e si ritrova il collegamento al nostro sito direttamente sulla Home del dispositivo Android. Si può scaricare Android Studio dal sito originale:

https://developer.android.com/sdk/index.html

Con questo pacchetto si crea una app, cioè un file con estensione .apk; questo file può essere distribuito in modo autonomo dal proprio sito o per email; ma resta il problema che il collegamento sulla Home dello smartphone deve comunque essere fatto dall'utente, dopo la installazione. Un modo più semplice è quello di inviare il file .apk a google play store, dopo essersi iscritti come sviluppatori, pagando i 25 dollari previsti:

https://support.google.com/googleplay/android-developer/answer/6112435?hl=it

In questo modo la app viene installata più velocemnte e viene creato anche il collegamento alla home dello smartphone, con la icona da noi scelta.

Le nostre applicazioni Android

*******************

 

Vediamo ora le modifiche da fare ai diversi file che compongono android studio.

1) Lavorando all'interno di Android Studio modificare androidmanifest.xml seguendo il percorso: app - manifests in android studio.

Vanno fatte due modifiche una per le icone e l'altra per internet.

a) per le icone, cioè la immagine che identifica la app, che si vedrà nella Home e nel play store, occorre mettere:

android:icon="@mipmap/icona2"

al posto di:

android:icon="@mipmap/ic_launcher"

Le quattro icone vanno poi modificate dall'esterno di Android Studio, con paint o con un programma di fotoritocco; occorrono quattro immagini di tipo .png, nelle dimensioni di pixel previsti, di cui il samsung dovrebbe essere il più grande, cioè xxhdpi; si segue il percorso su disco rigido dove è stata salvata la app, con android studio; il percorso dovrebbe essere:

 app - res - mipmap

Questa cartella contiene quattro altre cartelle;

nella cartella hdpi va salvata una immagine con nome icona2.png delle dimensioni di 72x72 pixel;

nella cartella mdpi va salvata una immagine con nome icona2.png delle dimensioni di 48x48 pixel;

nella cartella xhdpi va salvata una immagine con nome icona2.png delle dimensioni di 96x96 pixel;

nella cartella xxhdpi va salvata una immagine con nome icona2.png delle dimensioni di 144x144 pixel;

 

b) Inserire il permesso per l'uso di internet in androidmanifest.xml, all'inizio prima di "application":

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

c) inserire:

android:configChanges="orientation|screenSize"

alla fine di activity, onde evitare di perdere i dati quando si ruota lo schermo.

android manifest completo è:

2) - Da res - layaout andare in activitymain.xml e inserire:

a) lo sfondo blu:

android:background="@android:color/holo_blue_light"

all'interno del RelativeLayout.

b) la barra di avanzamento che indica che si è in attesa del caricamento della pagina da internet:

 

<ProgressBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@android:style/Widget.ProgressBar.Large" />

all'inizio, dopo il relative layout o linear layout, ma all'interno di esso.

c) subito dopo inserire la WebVieW:

------------

<WebView

android:id="@+id/webview"

android:layout_height="wrap_content"

android:layout_width="fill_parent"

android:clickable="true"

android:focusable="true"

android:focusableInTouchMode="true"

android:longClickable="true"

/>

------------

all'inizio, dopo il relative layout o linear layout

activitymain.xml completa è:

-------------------

--------------

3) cercare mainactivity.java in app - java it.nomesito.nomeapplicazione

in questo file occorre fare due cose:

a) importare i pacchetti android:

----------------

import android.webkit.WebChromeClient;

import android.webkit.WebView;

import android.webkit.WebViewClient;

import android.webkit.WebSettings;

import android.webkit.WebSettings.PluginState;

import android.widget.ProgressBar;

-----------------

da mettere sopra dove stanno gli altri import; non riconosce questi tre, se non vengono usati:

import android.webkit.WebChromeClient;

import android.webkit.WebViewClient;

import android.webkit.WebSettings.PluginState;

 

b) - completare:

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

inserendo prima della chiusura della graffa:

------------------

WebView myWebView = (WebView) findViewById(R.id.webview);

myWebView.loadUrl("http://www.nomesito/paginadacaricare.php");

WebSettings webSettings = myWebView.getSettings();

webSettings.setUseWideViewPort(true);

webSettings.setLoadWithOverviewMode(true);

webSettings.setJavaScriptEnabled(true);

WebView web = (WebView) findViewById(R.id.webview);

web.getSettings().setBuiltInZoomControls(true);

web.getSettings().setDisplayZoomControls(false);

 

-------------------

va messo all'interno di:

public class MainActivity extends ActionBarActivity {

sopra, all'inizio. Esso contiene l'indirizzo della pagina web da caricare e l'abilitazione di javascript nella pagina web.

mainactivity.java completo è:

---------------------

----------------------

4) - Ogni volta che si modfica una versione della app occorre cambiare un numero per gli aggiornamenti; andare in Glade Scripts e poi build.grade e incrementare i numeri

versionCode 2

versionName "1.1"

altrimenti play store rifiuta la versione essendo il codice uguale alla precedente versione. Importante aumentare di 1 versionCode,

Nel nostro caso scrive 2(1.1) mentre prima era 1(1.0).

 

Corso di programmazione in PHP

Dizionario php

 

prof. Pietro De Paolis

Indice Scuola Elettrica - generico


Scuola Elettrica



 

Altre applicazioni


Mappa per tipo di scuola

 

Indice di tutte le pagine del sito


Guida per navigare


Richiesta informazioni


Scuola Elettrica