Introduzione al sistema operativo mobile Android

Click here to load reader

  • date post

    13-May-2015
  • Category

    Technology

  • view

    284
  • download

    2

Embed Size (px)

description

Event: Giffoni Open Makers Day 2013 Speaker: Valentina Pelliccia Android è un sistema operativo open-source basato su kernel Linux e progettato per dispositivi mobili come smartphone e tablet. Il progetto Open Source Android guidato da Google dispone di una vasta comunità di sviluppatori divenendo in pochi anni uno dei leader nel mercato mobile.

Transcript of Introduzione al sistema operativo mobile Android

  • 1.Introduzione al sistema operativo mobile ANDROID 09/11/2013 Giffoni Open Makers Day 2013Google Developers Group Campania Co-organizer Valentina Pelliccia

2. OutLine Introduzione al SO mobile Android Architettura di sistema SDK e Strumenti di Sviluppo Elementi principali di un APP Android Hello, Android ! 3. Piattaforme per dispositivi mobili 5% 7%2%Un dispositivo mobile rispetto ad un dispositivo desktop: Limitatezza delle risorse risorse Alimentazione a batteria51%Differenti protocolli di trasferimento dati Ridotte dimensioni del display35%ANDROID BLACKBERRY OTHERSIOS WINDOWS PHONE 4. Che cosa Android? Android unsistema operativo open-sourcebasato su kernelLinuxe progettato per dispositivi mobili comesmartphoneetablet. Il progetto Open Source Android guidato da Googledisponedi una vasta comunit di sviluppatoridivenendo in pochi anni uno dei leader nel mercato mobile.1.51.62.0/2.12.22.33.0/3.14.02003 : Lazienda Android della Silicon Valley sviluppa il SO Android 2005 : Lazienda viene acquisita da Google 2007 : Google fonda il consorzio Open Handset Alliance OHA 2009 : Viene rilasciata la versione 1.5 denominata cupcake4.14. 4 5. Architettura di sistema Application Application Framework Android Runtime Libraries Kernel Linux 6. Application Android dispone di base di un insieme di applicazioni:Client eMail Agenda Rubrica Mappe Browser Web .....Application Framework API di alto livello L' Application Framework fornisce alle applicazioni i seguenti servizi:View Content Provider Resource Manager Notication Manager Activity Manager .....Librerie Native Sono librerie scritte in C/C++ che rappresentano il core di Android Librerie pi importanti sono:Standard C Library Media Framework Surface Manager Webkit Librerie 3D FreeType SQLITE SSL (Secure Socket Layer) 7. Android Runtime Core Libraries Dalvik Virtual Machine Ottimizzata per disp Embedded Esegue un bytecode (Dalvik Executable .dex)Kernel Linux Gestione dei driver HW (videocamera, display, scheda wireless..) Sicurezza Gestione della memoria Stack di rete Gestione dei processiRegister-based il kernel funge da livello di astrazione tra l'hardware e il resto dello stack soft ware. 8. Soft ware Development Kit Soft ware Development Kit Completo Gratuito Versione per tutti i SO desktop Unico requisito : JDK Android Virtual DeviceDownload SDK : http:/ /developer.android.com/sdk/index.html Android Developer Tools : http:/ /developer.android.com/tools/help/adt.html Android Studio : http:/ /developer.android.com/sdk/installing/studio.html 9. Sviluppo di un applicazione Le caratteristiche di un app AndroidGli elementi di base per lo sviluppo di un app Android1. Ogni app gira in un proprio processo Linux1. Activity2. Ogni processo ha una propria VM2. Intent3. Ogni app pu utilizzare componenti di altre app3. Broadcast Receiver4. Non hanno un singolo entry point4. Ser vice5. Pacchetti APK5. Content Provider 10. Activity Un activity una nestra che contiene linterfaccia dellapplicazione, il suo scopo gestire linterazione tra lutente e lapp. Interazione con lutente Concetto di Schermata Interfaccia Utente composta da View Activity stack Ciclo di vita di un activity Deriva dalla classe base android.app.Activity 11. Intent Un Intent descrive cosa una applicazione vuole che venga fatto Rappresenta un messaggio in grado di attivare i tre componenti base di una applicazione: Activity, Ser vice e Broadcast ReceLa struttura dati dell'Intent si compone dell'azione da effettuare e dei dati su cui agire. !Un intent pu essere !Esplicito Implicito!A ciascun intent possibile associare informazioni che vengono trasportate al componente di destinazione (metodi PUT e GET)Broadcast Receiver La classe BroadcastReceiver denita all'interno del package android.content. viene utilizzata quando si vuole che parte del codice della propria applicazione venga eseguito in risposta ad un evento esterno.Non hanno interfaccia graca Utilizzano NoticationManager 12. Service Un Service uno strumento mediante cui l'applicazione vuol comunicare al sistema che una data operazione deve essere eseguita in background anche quando l'utente non sta interagendo direttamente con essa.Senza interfaccia graca Processo in esecuzione in BGContent Provider Un ContentProvider una classe che implementa un insieme standard di metodi per permettere alle altre applicazioni di salvare e recuperare dati.c cCiclo di un ser vicecSolitamente le applicazioni memorizzano i loro dati all'interno del le-system oppure in un database SQLite, ma se i dati di una applicazione devono essere condivisi con le altre bisogna usare la classe ContentProvider. 13. Gestione delle risorse Programmazione dichiarativa (in le di tipo XML) Non ricompilazione del codice a valle di modiche alle risorse Rigorosa organizzazione della struttura del progetto (codice e le) in opportune cartelleAndroidManifest.xml il le di manifesto contenente le informazioni relative al progettoAndroidManifest.xml 14. Hello, Android! activity_main.xmlLe view hanno un identicativo di tipo integer (id) associato.MainActivity.javaIl metodo ndByView() ricerca e restituisce un componente, contenuto in un layout, a partire dal suo id (denito in R). 15. Hello, Android! activity_welcome.xmlwelcome.java 16. Q&A 17. THANKS!