Sviluppare Android Apps – parte 1

L’anatomia di un programma per Android si può riassumere in cinque parti.
Queste parti principali collegate l’una a l’altra danno vita ad un vero e proprio programma che può girare su ambiente Android.

Un programma Android, comprende una prima parte detta VIEW una seconda che è la principale detta ACTIVITY una terza che gestisce l’azioni dell’applicazione detta INTENT, un CONTENT PROVIDER per lo scambio dei dati tra il sistema Android e/o altre applicazioni ed infine un SERVICE che gestisce il tutto in background.

Quindi ricapitolando:

Ambiente VIEW

Non è nient’altro che un’area rettangolare che contiene degli oggetti. Questi oggetti possono essere pulsanti, etichette, griglie e quant’altro si possa vedere sull’interfaccia utente di un’applicazione.

Interfaccia grafica ACTIVITY

E’ la vera e propria finestra dell’applicazione. Un applicazione può avere diverse ACTIVITY. In poche parole sono le finestre del nostro programma le quali possono essere salvate e richiamate di conseguenza.

Azioni specifiche INTENT

Le INTENT sono delle azioni specifiche messe a disposizione del sistema operativo, che possono essere richiamate e modificate dalle ACTIVITY create. Sono in sostanza delle azioni e/o eventi conseguenti ad altre azioni e/o eventi generati dalla applicazione.

CONTENT PROVIDER

Il CONTENT PROVIDER non è altro che un contenitore di dati, ovvero è un sistema dove si possono immagazzinare le informazioni da condividere tra diverse applicazioni. Questo perchè Android è un sistema operativo basto su un sistema UNIX e come tale le risorse non possono essere accessibili da tutti.

Un esempio potrebbe essere un database SQLITE, che messo in un CONTENT PROVIDER può essere visto letto o implementato (dipende da noi cosa vogliamo fare) da altre applicazioni.

SERVICE

I SERVICE sono dei processi che girano in background (simile ad un demone in ambiente Linux) il quale può gestire o essere gestito da altri SERVICE o ACTIVITY.
Sono gestiti dal sistema operativo Android questo per ottimizzare le risorse in uso in modo da non appesantirlo.

Quindi il sistema operativo Android tramite i SERVICE può far ripartire, stoppare ACTIVITY o SERVICE ecco perchè a volte il sistema operativo Android può risultare lento.

ANDROID MANIFEST

Il file “AndroidManifest.xml” è il cuore o meglio il file principale di una applicazione Android. Questo perchè definisce i contenuti ed il comportamento di una applicazione, difatti in esso viene definito le ACTIVITY ed i SERVICE.
Inoltre possono essere definiti anche determinati permessi tipo:

1) READ_CONTACTS (lettura contatti)
2) WRITE_CONTACTS (scrittura sulla rubrica)
3) RECEIVE_SMS (controllo e gestione degli SMS)
4) INTERNET (gestione della connessione ad internet) 5) ACCESS_FINE_LOCATION (gestione del GPS)

Oltre al file AndroidManifest.xml alla creazione di un progetto base sono importanti i file contenuti e creati nelle cartelle:

1) /SRC/ (codice sorgente)
2) /RESURCES/ (risorse necessarie)

Ecco ora non ci resta come scegliere di realizzare al nostra applicazione, ci sono due metodi:

1) Metodo PROCEDURALE (utilizzo di JAVA)
2) Metodo DICHIARATIVO (gestione degli XML)

Dove il metodo al punto due è quello consigliato dalla stessa GOOGLE.

CICLO DI VITA DI UNA APP ANDROID

cicloappandroid

Come si può vedere una APP parte dalla definizione della ACTIVITY dichiarate nel file AndroidManifest.xml e lancia la prima activity di default (Activity1). Dove Activity1 ha delle proprie variabili definite nel file “string.xml” e un layout grafico definito nel file “act1.xml”. Tramite la INTENT la Activity1 richiama la Activity2 dichiarata anche questa nell’AndroidManifest, dove le sue variabili sono definite nel file “string.xml” (è lo stesso di Activity1) e un proprio layout grafico definito in “act2.xml”.