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