The information contained in this document is the property of NTT DATA Italia S.p.A. and the addressee of the document. The information is
closely linked to the oral comments accompanying the same, and may be used only by those attending the presentation. Copying,
publishing or divulging the material contained in this document is forbidden and may be illegal.
Struttura di un progetto ed elementi principali di una App
ITIS A. Monaco
Cosenza, 25 Marzo 2014
© Copyright NTT DATA Italia – All Rights Reserved
M052 - 04
Sommario
►
Cartelle
►
Gestione delle risorse
►
Manifest dell’applicazione
►
Elementi principali
© Copyright NTT DATA Italia – All Rights Reserved
1
M052 - 04
Cartelle di un progetto Android
/src: sorgenti Java
Primo mese
/bin: compilati (.apk, ecc…)
/libs: librerie esterne
/res: risorse managed (processati)
/gen: sorgenti generati (R.java)
/assets: risorse unmanaged (nel .apk)
/AndroidManifest.xml: metadati
.properties, .cfg, .xml: altri files
http://developer.android.com/tools/projects/index.html#ApplicationProjects
© Copyright NTT DATA Italia – All Rights Reserved
2
M052 - 04
Gestione delle risorse: struttura a cartelle
E’ buona prassi mantenere
le risorse
usate
da una
applicazione (immagini,……………
stringhe, ecc)
Primo
mese
Secondo
mese
slegate dal codice:
• Supportare diverse lingue
• Supportare diversi screen size dei dispositivi.
Per questi scopi, in Android si organizzano le risorse all’interno della cartella res/,
usando varie sotto cartelle per raggruppare le risorse per tipo e configurazione.
http://developer.android.com/guide/topics/resources/overview.html
© Copyright NTT DATA Italia – All Rights Reserved
3
M052 - 04
Gestione delle risorse: accesso
In fase di compilazione, l’Android
Tool (AAPT), genera la classe
Primo meseAsset Packaging
Secondo mese
……………R.java.
• R.java contiene un’identificativo (ID) per ogni risorsa nella cartella res/.
• Per ogni tipo di risorsa, viene creata una sottoclasse di R.
• Per ogni risorsa di un dato tipo, viene creato un valore static integer
Questo intero è il resource ID che useremo nel codice per utilizzare la relativa risorsa.
Esempi:
• R.drawable.mia_icona
• R.string.testo_benvenuto
http://developer.android.com/guide/topics/resources/accessing-resources.html
© Copyright NTT DATA Italia – All Rights Reserved
4
M052 - 04
Manifest dell’applicazione
File AndroidManifest.xml nella
root.
Primo mese
Secondo mese
……………
Presenta al sistema Android le informazioni essenziali riguardanti l’app, informazioni che
il sistema deve avere prima di poter eseguire qualsiasi parte di codice.
Descrive:
• l’applicazione,
• il nome del package,
• il namespace,
• i permessi richiesti dall’app.
Dichiara che livello di API è richiesto.
Include la specifica di ogni componente: Activity, Service, Receiver, etc.
http://developer.android.com/guide/topics/manifest/manifest-intro.html
© Copyright NTT DATA Italia – All Rights Reserved
5
M052 - 04
Elementi principali di una App
Android fornisce quattro mattoni
di base:
Primo mese
Secondo mese
……………
• Activity
• Service
• Broadcast Receiver
• Content Provider
Un’applicazione Android è costituita da uno o più di questi elementi.
Molto frequentemente, contiene almeno un’attività.
© Copyright NTT DATA Italia – All Rights Reserved
6
M052 - 04
Elementi principali di una App: Activity
Le attività sono quei blocchi
dimese
un’applicazione
che
interagiscono con l’utente
utilizzando
Primo
Secondo
mese
……………
lo schermo ed i dispositivi di input messi a disposizione dallo smartphone.
Comunemente fanno uso di componenti UI già pronti, come quelli presenti nel pacchetto
android.widget, ma questa non è necessariamente la regola.
Le attività sono probabilmente il modello più diffuso in Android, e si realizzano
estendendo la classe base android.app.Activity
© Copyright NTT DATA Italia – All Rights Reserved
7
M052 - 04
Elementi principali di una App: Service
Un servizio gira in sottofondo
non interagisce
con l’utente.
Primo e
mese
Secondodirettamente
mese
……………
Ad esempio può riprodurre un brano MP3, mentre l’utente utilizza delle attività per fare
altro.
Un servizio si realizza estendendo la classe android.app.Service
© Copyright NTT DATA Italia – All Rights Reserved
8
M052 - 04
Elementi principali di una App: Broadcast Receiver
Un Broadcast Receiver è Primo
un sistema
per la
comunicazione
tra applicazioni.……………
mese
Secondo
mese
Viene utilizzato quando si intende intercettare un particolare evento, attraverso tutto il
sistema.
Ad esempio lo si può utilizzare se si desidera compiere un’azione quando si scatta una
foto o quando parte la segnalazione di batteria scarica.
La classe da estendere è android.content.BroadcastReceiver
© Copyright NTT DATA Italia – All Rights Reserved
9
M052 - 04
Elementi principali di una App: Content Provider
I Content Provider sono utilizzati
per esporre
datimese
ed informazioni.
Primo mese
Secondo
……………
Costituiscono un canale di comunicazione tra le differenti applicazioni installate nel
sistema.
Si può creare un Content Provider estendendo la classe astratta
android.content.ContentProvider
Android ne mette a disposizione molti già pronti:
•
•
•
•
Lista dei contatti
Lista delle immagini sul dispositivo
Dati che risiedono in un DB SQLite
Dati che risiedono su un web service
© Copyright NTT DATA Italia – All Rights Reserved
10
M052 - 04
[email protected]
© Copyright NTT DATA Italia – All Rights Reserved
11
Scarica

Struttura di un progetto ed elementi principali