Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Programmazione mobile-Slide mob programming, Tesi di laurea di Programmazione Avanzata

Le slide riguardano il corso di Mobile Programming con focus su Android, datato 12/6/22, e coprono argomenti come l’architettura del sistema (Kernel Linux, HAL, framework), strumenti di sviluppo (Android Studio, SDK, emulatore) e la progettazione di layout tramite XML. Il materiale include anche dettagli sul contest per gli studenti: sviluppare un’app durante il corso per vincere un dispositivo Android, con requisiti come la frequenza e la consegna prima della scadenza. Vengono forniti contatti del docente (orari di ricevimento, email con regole precise) e informazioni sull’esame, che combina una prova scritta con il progetto di laboratorio. Le slide spiegano concetti tecnici come ViewGroup, attributi XML e gestione dell’emulatore, con confronti tra device reali e virtuali. Il tono è diretto e pratico, tipico di un corso tecnico, con link a risorse esterne (developer.android.com) e riferimenti a strumenti come ADB.

Tipologia: Tesi di laurea

2024/2025

In vendita dal 26/04/2025

charles-khama
charles-khama 🇮🇹

3.4

(23)

8.3K documenti

1 / 55

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37

Anteprima parziale del testo

Scarica Programmazione mobile-Slide mob programming e più Tesi di laurea in PDF di Programmazione Avanzata solo su Docsity!

4/26/25, 4:13 PM ‘about:blank Slide mob programming 12/6/22 fo cimene (SD) Setinon risroNDEREn sore go la tr [WE info corso 7 [TE vendite per 05 (worldwide) ù * Prof. Roberto De Prisco — studio: 4° piano, studio 58 “numerazione Dp. di informatica — [email protected] * Orario lezioni — Martedì 14:00-16:00 FB — Giovedì 1400-1600 FB * Ricevimento Martedì 16:00-17:00 — Giovedì 11:00-13.00 [TE vendite per 05 2022 ù [ÎE telefoni Android prodotti da 7 a; oo rece SP Moe coge @c o noda opporsi Honor acer htc 1/55 4/26/25, 4:13 PM ‘about:blank Slide mob programming 12/6/22 [î Vendite per marca [TE Vendite per marca 7 fai Palio a di 7 8 [WE Altre motivazioni ù [TE cosa insegna il corso, ù * Ambiente di sviluppo (Android Studio) Come scrivere app per Androidil! — foce da istlre — molitoo N — chipmunk Aprile 202 | * Istallazioni delle app “ facile — non richiede nessuna * Moltissime risorse online 9 10 È [TE Argomenti ù _— ===" tv = = - listener inten - Permessi + Piattaforma Android DE * Android Studio È ‘arms ni * Emulatore “femme - Gra * sensori - Multimedia Vedremo tutto ciò che serve per scrivere app ... * Data storage 1 n 2/55 4/26/25, 4:13 PM ‘about:blank Slide mob programming 12/6/22 io ANDROID I! Mobile Programming La piattaforma Android [UE La piattaforma Android o [WE Larchitettura Android ù * Sistema software per telefonini e tablet — OS kemell — Librerie di sistema — Framework perle applicazioni — Applicazioni i base * SDK per lo sviluppo di nuove applicazioni — Nbrerie — tool di sviluppo. — documentazione ESSE: Applications dava API Librerie e Android Runtime — Hardware Abstraction Layer _| Kernel Linux 21 [TE Kernel Linux Fornisce | servizi di base del sistema operativo — iessem — gestione dell memoria è del processi _ gastione cell'inerscia direte river ere peierche Serviti specifici per Android estone dll batre fow memory lle [TE Hardware Abstraction Layer + HAL: Hardware Abstraction Layer — Interfacce standard per esporre le capacità hardware aiservii di livello superiore + Biuetooth 24 4/55 4/26/25, 4:13 PM ‘about:blank Slide mob programming 12/6/22 * La libreria fornisce molte classi pronte per l'uso: — classi base java, javax* — classi per le app: androld — Internet/web services: org.* — Unit testing: junit.* [a Java to [TE File dex e ART ro * App Android sono scritte in Java + App: — Scritte im Java (e/o Kotn) — Compilate in fl Java Bytecode — Untooi, DX, trasforma file bytecode in un singolo file Dex Bytecode (classes dex) — lf classes.dex contiene anche tutt file di dti necessari e vene istallato sulla target device — ART Virtual Machine esegue il file Dex 25 26 [IE Android runtime: ART e Dalvik VM 7 [TE Librerie native ù +. ART: Andrld Runtime è una VM specifica per sistemi Android " CpLeno si ape a tr conda etto + ART: dA SOAP level 21 *. Dall API leve < 21. *_ App che funzionano bene su ART dovrebbero funzionare bene anche su Da * Molte componenti Android necessitano di librerie native — Webb = tibe — openGL ES » Surface manager, Media framework] Ei 28 [TE Application framework ù ‘Funzionalità dl SO Androl vengono esposte trame un API — pt manager AP E i clero © emette mor a Applicazioni (app) * Applicazioni già presenti nel sistema — Home: Meln screen — contatti — telefono — arowser — mai clent * Ovviamente... possono scrivere nuove app! 29 30 5/55 4/26/25, 4:13 PM ‘about:blank Slide mob programming 12/6/22 [T Modalità sviluppatore ù [TP Listeners ù * Modalità sviluppatore * Gli oggetti della classe View hanno dei metodi int dispositivo, Versione bulli “listeners” "ct 7vote — songin “ascolto” per entrare inazone quando si verifica un evento specfico * comparirà il menu Opzioni Sviluppatore * Ad esempio * Debug USB — un pulsante hai metodo nCik che viene eseguito —Atthare quando l'utente preme l pulsante — Dare consenso per l'accesso 37 38 [WÈ Prima app: CiaoMondo z [TE ciaomondo ù + Visualizza un saluto al mondo! * Manifesto — informazioni generali sullapp "press st, cora, cava — fe sorgenti — drevable + votiamo — fayont “ eodce — valves < Strviomo apo _ men Fou And tuto Tina» 39 40 [TE ciaomondo di [È sx bi - Gode “Android SDK Manager Sotto < informazioni Pre OTIC: "Gp dato cdi Emmi — stre ttmaznia ame conii Me PR o ari mtc ) 41 42 7/55 4/26/25, 4:13 PM ‘about:blank Slide mob programming 12/6/22 [a soK [TE Emulatore Android _ * Occorre istallare le versioni per le quali si vuole sviluppare * Android Virtual Device Manager mini STR sq [TE Emulatore vs. real device | Emulatore ù * Real device “veloce, facile gestire «l'esecuzione è reale put (es. rotazioni display) + Emulatore $ ento (a vote molto), alcune operazioni sono dificottose 9 è comunque un “simulatore” ® possono esserci dei bug. ‘Facile creare situazioni particolar: "avo di un messaggio 45 [E emulatore * Comunicazione fra due emulatori \ndroid Debug Bridge — toglistallto con SDK (Tools SDK Manager) — nella directory “platform tools 48 8/55 4/26/25, 4:13 PM ‘about:blank Slide mob programming 12/6/22 [T Layout - ViewGroup, È [TE Layout -xML * Gruppi di altri elementi — sia di base che altri gruppi + Linear Layout. — orizzontali e verticali Relative Layout. Grid Layout (griglia) Frame (contenitore) 55 [W Layout - XML - attributi 7 [WE Layout - XML - attributi ù * Ogni elemento (View o ViewGroup) supporta degli attributi — specificano l'aspetto grafico — specificano dove visuaizare l'elemento — forniscono informazioni + Es. TextView —tentsie * Alcuni attributi sono comuni a tutti gli elementi — altri ono specifi! * 1D (creazione) androi'ida' @eid/tent" resto della stringa deve essere interpretato * andrld pont with" 300" +: specifica che stiamo creando (aggiungendo) un ‘nuovo ientificatore (0) l cui nome è test * 1D (riferimento) androldid="@id/text" senza i+ è un riferimento ad un ID esistente — layout something Ogni View ha dei parametri di layout — appropriati perl ViewGroup cui la Vew appartiene — alcuni sono comuni tutt tipî di View — altri hanno significato solo per alcuni tipi 57 se [TE Layout - XML - attributi ù [TE Layout — posizione e grandezza o * Layout parameters - Una view è un rettangolo -— — posizione: angolo in lto a sinistra — dimensione: larghezza ed altezza * Posizione (relativa al parent) — determinata dal layout. Dimensione — android:layout_wiet — android:layout_helgth="12pa" — android'layout_width="match pare — androidilayout_heigth= 59 60 10 10/55 4/26/25, 4:13 PM Slide mob programming ‘about:blank 11/55 4/26/25, 4:13 PM Slide mob programming ‘about:blank 13/55 4/26/25, 4:13 PM Slide mob programming ‘about:blank 14/55 4/26/25, 4:13 PM Slide mob programming ‘about:blank 16/55 4/26/25, 4:13 PM Slide mob programming ‘about:blank 17/55 4/26/25, 4:13 PM Slide mob programming ‘about:blank 19/55 4/26/25, 4:13 PM Slide mob programming ‘about:blank 20/55