Il 0% ha trovato utile questo documento (0 voti)
3 visualizzazioni40 pagine

Android LAB00.1 - Android Studio

Il documento fornisce un'introduzione ad Android Studio, l'IDE ufficiale per lo sviluppo di app Android, evidenziando la sua struttura, funzionalità e il processo di creazione di un progetto. Viene descritto l'uso di Gradle come sistema di build e la struttura di un progetto Android, inclusi i vari moduli e il file AndroidManifest.xml. Inoltre, si forniscono istruzioni per l'installazione e la configurazione iniziale dell'ambiente di sviluppo.

Caricato da

AlionEmini
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
3 visualizzazioni40 pagine

Android LAB00.1 - Android Studio

Il documento fornisce un'introduzione ad Android Studio, l'IDE ufficiale per lo sviluppo di app Android, evidenziando la sua struttura, funzionalità e il processo di creazione di un progetto. Viene descritto l'uso di Gradle come sistema di build e la struttura di un progetto Android, inclusi i vari moduli e il file AndroidManifest.xml. Inoltre, si forniscono istruzioni per l'installazione e la configurazione iniziale dell'ambiente di sviluppo.

Caricato da

AlionEmini
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd

Introduzione ad Android Studio

Android Studio e struttura di un progetto Android

Laboratorio 0
Programmazione di Sistemi Mobile – AA 2025/2026 1
Laboratorio
• Laboratorio 2.2: Parte Android
• Laboratorio 3.1: Parte iOS

Programmazione di Sistemi Mobile – AA 2025/2026 2


Qualche info su Android Studio
• Android studio è l’IDE (Integrated Development Environment) ufficiale per
sviluppare app Android
• È multi-piattaforma (ciò permette di sviluppare senza vincoli di sistema
operativo)
– Disponibile per sistemi operativi Windows, macOS e Linux
• È basato sull’IDE IntelliJ IDEA di JetBrains, che è lo standard di fatto per lo
sviluppo con Kotlin, ed arricchito con funzionalità specifiche per la creazione
di app Android
• Annunciato nel 2013, prima release nel luglio 2014, ha sostituito Eclipse come
IDE ufficiale
• L’ultima major version è Android Studio Meerkat | 2024.3.1

Programmazione di Sistemi Mobile – AA 2025/2026 3


Android Studio
• Mette a disposizione
– Un build system basato su Gradle
– Un emulatore veloce e ricco di funzionalità
– Un ambiente unificato in cui è possibile sviluppare per tutti i dispositivi Android
– Un sistema in grado di applicare modifiche al codice e alle risorse dell'app in esecuzione senza
doverla riavviare
– Funzionalità di templating per semplificare l’importazione di codice di esempio
– Integrazione con Git e GitHub per il controllo di versione
– Strumenti e framework per il testing
– Strumenti automatici per monitorare prestazioni, grado di usabilità, compatibilità delle versioni e
altri problemi
– Supporto a C ++ e NDK (Native Development Kit)
– Supporto integrato per Google Cloud Platform
– …

Programmazione di Sistemi Mobile – AA 2025/2026 4


Version name
• Ad ogni major version di Android Studio viene assegnato il
nome di un animale, in ordine alfabetico dalla A alla Z:
– Arctic Fox
– Bumblebee
– Chipmunk
– Dolphin
–…
– Otter
– Panda

Programmazione di Sistemi Mobile – AA 2025/2026 5


Nota sulla versione
• La versione che utilizzeremo in laboratorio è
Android Studio Otter 2 Feature Drop | 2025.2.2 Patch 1,
rilasciata a Dicembre 2025
• Tutte le novità sono descritte qui:
[Link]
• È appena uscita la stable di
Panda 1 | 2025.3.1 Android Studio
Viene migliorato ed
arricchito continuamente!

Programmazione di Sistemi Mobile – AA 2025/2026 6


Build your first app
1. Installare Android Studio
2. Creare un progetto Android 😀
3. E… basta! Android Studio si occuperà di installare tutto ciò
che serve, inclusa l’SDK e un emulatore per un Andoid Virtual
Device (in lab useremo un AVD con Android 16)

Programmazione di Sistemi Mobile – AA 2025/2026 7


SDK Platform release

[Link]
/releases/platforms

Programmazione di Sistemi Mobile – AA 2025/2026 8


Installazione
• Le slide e le esercitazioni di laboratorio si basano sulla versione
2025.2.2 Patch 1 di Android Studio
– La stessa attualmente installata nei PC di laboratorio
• Nel vostro portatile/PC personale, installate Android Studio e il
sistema si occuperà di scaricare tutto il necessario
– Download: [Link] –
preferibilmente la versione 2025.2.2 Patch 1
– Poi seguite il tutorial che trovate qui:
[Link] per tutti i sistemi operativi
supportati
MA è davvero molto semplice!

Programmazione di Sistemi Mobile – AA 2025/2026 9


Primo avvio (solo per i PC di laboratorio)
• Al primo avvio, Android Studio scarica una serie di componenti
necessari per lo sviluppo
• In laboratorio, la versione corretta di questi componenti è già
installata in C:\android-sdk

Programmazione di Sistemi Mobile – AA 2025/2026 10


Primo avvio (solo per i PC di laboratorio)
• È quindi consigliabile procedere come
segue:
– Nel setup wizard del primo avvio,
annullare eventuali download avviati da
Android Studio
– Arrivati alla schermata iniziale, fare click
su More actions -> SDK Manager
– Cambiare la location dell’SDK Android in
C:\android-sdk
– Fine! Android studio dovrebbe rilevare
che non è necessario installare alcun
componente aggiuntivo

Programmazione di Sistemi Mobile – AA 2025/2026 11


Primo avvio (solo per i PC di laboratorio)
• È quindi consigliabile procedere come
segue:
– Nel setup wizard del primo avvio,
annullare eventuali download avviati da
Android Studio
– Arrivati alla schermata iniziale, fare click
su More actions -> SDK Manager
– Cambiare la location dell’SDK Android in
C:\android-sdk
– Fine! Android studio dovrebbe rilevare
che non è necessario installare alcun
componente aggiuntivo

Programmazione di Sistemi Mobile – AA 2025/2026 12


Android Studio – Start a new Project

Programmazione di Sistemi Mobile – AA 2025/2026 13


Android Studio – Start a new Project
• A meno di casi particolari, è
sempre consigliabile partire da
una Empty Activity per avere
un maggiore controllo
sull’applicazione

Programmazione di Sistemi Mobile – AA 2025/2026 14


Android Studio – Start a new Project

Utilizzeremo Android 8
come SDK minima

Programmazione di Sistemi Mobile – AA 2025/2026 15


Android Studio – Start a new Project

Percenutale di device
compatibili in base alla
min SDK scelta

Programmazione di Sistemi Mobile – AA 2025/2026 16


Progetto Android Studio
• Un progetto Android Studio definisce il
workspace di un’app.
• Contiene tutto il codice sorgente, l’elenco
delle dipendenze, la configurazione della
build, e gli asset utilizzati dall’app.
• Con la creazione di un progetto, Android
Studio crea la struttura di file e cartelle
necessaria (visibile sulla finestra di sinistra
dell’IDE)

Programmazione di Sistemi Mobile – AA 2025/2026 17


Due parole su Gradle
• Android Studio utilizza Gradle come build system e gestore delle
dipendenze
– Con ulteriori funzionalità specifiche per Android fornite dal plug-in Android
per Gradle
• Questo build tool, benché controllabile da terminale, è integrato
direttamente nell’interfaccia di Android Studio
• Ma che cos’è? In due parole:
– è un sistema open source per l'automazione dello sviluppo, ispirato a
Apache Ant e Apache Maven, che permette di definire la configuarzione
del progetto tramite domain-specific language (DSL) dichiarativo basato su
Kotlin, al posto dei template XML usati da Apache Maven

Programmazione di Sistemi Mobile – AA 2025/2026 18


Processo di build di un’app
1. Il compilatore converte il codice sorgente in vari file DEX (Dalvik
EXecutable), che includono il bytecode da eseguire sui
dispositivi Android, e in risorse compilate.
2. L'APK Packager combina i file DEX e le risorse compilate in un
singolo file APK. Prima che l'applicazione possa essere
distribuita e installata su un dispositivo Android, tuttavia, l'APK
deve essere firmato.
3. L’APK Packager firma l'APK utilizzando il keystore di debug o di
release:
– Se l’app è una versione di debug, cioè un'applicazione da utilizzare
solo per i test, il packager la firma applicazione con il keystore di
debug. Android Studio configura automaticamente i nuovi progetti
con un keystore di debug.
– Se l’app è una versione di release che va pubblicata negli store, il
packager firma l'applicazione con il keystore di release.
4. Prima di generare l'APK finale, il packager ottimizza
l'applicazione in modo che utilizzi meno memoria quando viene
eseguita su un dispositivo.
5. Al termine del processo di build, si dispone di un APK di debug o
release della propria applicazione.

Programmazione di Sistemi Mobile – AA 2025/2026 19


Struttura di un progetto Gradle

• Un progetto Gradle può essere organizzato in vari moduli e viene


gestito principalmente attraverso due tipologie di file:
– [Link]: identifica una directory come root di un progetto
Gradle e permette di configurare aspetti comuni all’intero progetto, come
il nome e l’elenco delle repository da cui scaricare le dipendenze.
– [Link]: identifica una directory come root di un modulo e ne
configura aspetti come: l’elenco delle dipendenze, le opzioni in fase di
compilazione e, nel caso di progetti Android, l’SDK minima e target. È
inoltre possibile creare un file [Link] nella root del progetto
per raggruppare configurazioni comuni a tutti i moduli

Programmazione di Sistemi Mobile – AA 2025/2026 20


Struttura di un progetto Android
• Cartella app
– Modulo di default
• Cartella manifests
– Include in file [Link]
• Cartella java / kotlin+java
– Include tutto il codice Kotlin e/o Java
• Cartella res
– Include varie risorse come
immagini, colori, valori, perlopiù in formato XML
• Cartelle java / kotlin+java o res generated
– Contengono file autogenerati che NON
vanno modificati dallo sviluppatore

Programmazione di Sistemi Mobile – AA 2025/2026 21


View di Android Studio
• Attenzione! La struttura del progetto mostrata di default nella sidebar di
Android Studio non è quella effettiva salvata nel file system, ma una
versione semplificata chiamata Android view.
• È possibile visualizzare la struttura di file e cartelle tramite le view
Project o Project Files

Programmazione di Sistemi Mobile – AA 2025/2026 22


Moduli
• Sono un costrutto di Gradle che permette di
suddividere un progetto in vari blocchi
(moduli) autonomi, in modo da semplificarne
lo sviluppo e la manutenzione.
• Ogni modulo di un’app Android è configurabile
tramite un file [Link], e può
contenere codice sorgente, risorse, file
manifest e altro.
• Quando inizializza un nuovo progetto, Android
studio crea automaticamente un modulo
predefinito di nome app.

Programmazione di Sistemi Mobile – AA 2025/2026 23


Esempi di suddivisione in moduli
• Alcune tipologie di moduli in cui può essere suddiviso un
progetto Android:
– App, ad esempio: Phone & Tablet Module, Wear OS Module, Android
TV Module, Glass Module.
– Library: raggruppano codice riutilizzabile, che può essere usato come
dipendenza in altri moduli dell'app o importato in altri progetti.
– Google App Engine e Google Cloud: codice di Google Cloud che fa da
backend per le app del progetto.

Programmazione di Sistemi Mobile – AA 2025/2026 24


[Link] - location

Programmazione di Sistemi Mobile – AA 2025/2026 25


Manifest

Componente Activity

Intent filter

Programmazione di Sistemi Mobile – AA 2025/2026 26


Manifest
Gli attributi allowBackup,
dataExtractionRules e
fullBackupContent permettono di
impostare le regole per il backup
automatico dei dati dell’utente
dell’applicazione.

Programmazione di Sistemi Mobile – AA 2025/2026 27


Manifest
Gli attributi icon e label
permettono di associare una piccola
immagine e una label testuale al
componente. Se settato nell’app
(come in questo esempio),
diventano il default per tutti i
componenti activity.
Si possono associare icon e label
anche a <intent-filter> per
definire l’icona e il testo che verrà
presentato all’utente. Di default
questi valori sono ereditati
dall’elemento padre (che sia
<activity> se esplicitati, o
<application>)

Programmazione di Sistemi Mobile – AA 2025/2026 28


Manifest

Gli attributi supportsRtl, theme e


targetApi permettono
rispettivamente di specificare il
supporto per i layout right-to-left,
settare un tema specifico
all’applicazione e definire l’SDK
minima per far girare l’applicazione.

Programmazione di Sistemi Mobile – AA 2025/2026 29


Android Studio - Interfaccia
1 2
1 Toolbar: permette di eseguire diverse
azioni, incluso l’avvio dell’app.
2 Editor: contiene un tab per ogni file
aperto e permette di modificare il 3
codice.
3 Tool window bar: contiene i pulsanti
che consentono di espandere o
comprimere le singole tool windows.
4 Tool windows: consentono di 4
accedere ad attività specifiche come
la gestione dei progetti, la ricerca, il
controllo di versione e altro ancora.
5 Navigation e status bar: permette di
navigare il progetto e ne mostra lo
stato, con particolare focus sul file
attualmente selezionato nell’editor.
5

Programmazione di Sistemi Mobile – AA 2025/2026 30


Layout dell’editor
• Se si apre un file che contiene dei componenti, è possibile
scegliere come visualizzarlo all’interno dell’editor.
• Tre modalità: 1. Code 2. Design 3. Entrambe

Programmazione di Sistemi Mobile – AA 2025/2026 31


Resource Manager
1 2 3 4
• Permette di
1 Aggiungere una nuova risorsa al progetto. È possibile aggiungere
immagini raster o vettoriali, font, file, o importare drawable.
2 Filtrare le risorse in base a un modulo selezionato.
3 Cercare una risorsa in tutti i moduli del progetto. 5
4 Visualizzare le risorse in base al tipo.
5 Applicare filtri avanzati, come filtrare le risorse utilizzate dai moduli
locali, dalle librerie esterne e dal framework Android. 6
6 Visualizzare l'anteprima delle risorse. Facendo clic con il tasto destro
del mouse su una risorsa, si apre un menu in cui è possibile
rinominarla e cercare il punto dell’app in cui è utilizzata.

Programmazione di Sistemi Mobile – AA 2025/2026 32


Connect to Firebase
• Firebase è una piattaforma di Google per la
creazione di app, videogiochi e siti web, che aiuta a
velocizzare lo sviluppo e far crescere la user base.
• Fornisce varie funzionalità complementari, che si
possono abilitare in base alle necessità, come
autenticazione, database, storage di file e analitica.
• Per semplificarne ulteriormente l’adizione,
l’Assistant di Android Studio offre una finestra
dedicata a Firebase, tramite cui è possibile
integrarne le funzionalità all’interno di un progetto
Android.
[Link]

Programmazione di Sistemi Mobile – AA 2025/2026 33


Eseguire l’app
• Due possibilità
– Su un device fisico
• Con debugging USB o wireless abilitato
• Connesso al PC con un cavo o accoppiato tramite Wi-Fi
[Link]
– Sull’emulatore di Android studio
• Soluzione che useremo nei laboratori
• Richiede la creazione di un Android Virtual Device (AVD)
• Caldamente consigliato: AVD con l’immagine di sistema di Android 16 con Google
Play
• Consigliato: AVD che utilizza Pixel 9 come dispositivo

Programmazione di Sistemi Mobile – AA 2025/2026 34


Android Studio – Emulator

Programmazione di Sistemi Mobile – AA 2025/2026 35


Android Studio – Run app

- Basta fare click su Run!


- Android Studio avvia l’emulatore
configurato e vi installa l’app.
- Dopo “qualche” secondo, potrete
vedere il vostro “Hello, Android!”.

Programmazione di Sistemi Mobile – AA 2025/2026 36


Monitor the build process

Programmazione di Sistemi Mobile – AA 2025/2026 37


Monitor the log

Programmazione di Sistemi Mobile – AA 2025/2026 38


Domande?

Programmazione di Sistemi Mobile – AA 2025/2026 39


Riferimenti
• Documentazione Android Developers
[Link]
• Download di Android Studio
[Link]
• Guida all’installazione
[Link]
• Gradle
[Link]
• Firebase
[Link]

Programmazione di Sistemi Mobile – AA 2025/2026 40

Potrebbero piacerti anche