INTRODUZIONE ALLE PIATTAFORME Android ios Windows Phone 8 Android
2 Cos è Android? Un moderno open-source sistema operativo Componenti: Linux kernel Java Core applications
3 Perché è stato un successo Open-source Licenza Apache Costi Sviluppatori gratuiti Costruito su basi solide (Linux Kernel) Ottimo framework basato su Java Supporto di Google Non solo smartphone
4 Storia Sistema operativo mobile di Google Smartphone, Tablet, Phablet, Dispositivi wearable,.
5 Storia Nasce l Android Inc. nel 2003. Operava in segreto dicendo solo di progettare software per dispositivi mobili. Nel 2005 Google acquista l azienda per poter entrare anche lei nel mondo dei dispositivi mobili. La presentazione ufficiale del primo sistema operativo avviene il 5 novembre 2007.
6 Le versioni di Android Con il progredire della piattaforma HW/SW vengono rilasciate nuove versioni del SO Alcune versioni di SO hanno introdotto modifiche nella API dell application framework Ad ogni versione del SO corrisponde una versione delle API Identificata con un numero progressivo Chiamata «Api Level»
7 Software Versioni 1.0: 23 settembre 2008 1.1: 9 febbraio 2009 1.5: 30 aprile 2009 1.6: 15 settembre 2009 2.0: 26 ottobre 2009 2.2: 20 maggio 2010 2.3: 6 dicembre 2010 3.0: 22 febbraio 2011 4.0: 19 ottobre 2011 4.1: 9 luglio 2012 4.4: 31 ottobre 2013 5.0: 3 novembre 2014
8 Software Versioni
9 Software Versioni
10 Novita introdotte Android 1.0 Android 1.1 Android 1.5 Tastiera virtuale Widget Supporto vocale Live folders Android 1.6 Strumenti di ricerca intelligenti Migliorata compatibilità dispositivi CDMA Migliorato supporto fotocamera Migliorato supporto VPN 802.1x Migliorato supporto batteria
11 Novita introdotte Android 2.0 Browser con double-tap zoom e HTML 5 Supporto Exchange Ricerche su SMS e MMS Android 2.1 Home con 5 pagine Live Wallpapers Miniature schermate Comandi vocali per tutti i campi di ricerca Galleria fotografica 3D Android 2.2 Applicazioni su SD Supporto Flash Tethering Wireless e USB
12 Novita introdotte Gingerbread 2.3 Supporto risoluzione 1280x760 Supporto tecnologia WebM Supporto tecnologia NFC HoneyComb 3.0 Supporto alta risoluzione ActionBar Accelerazione hardware Supporto processori multicore IcecreamSandwich 4.0 Pulsanti virtuali per dispositivi privi FaceUnlock Zero Shutter Lag Android Beam (scambio di dati tramite NFC)
13 Software Versioni
14 Dispositivi Schermi (un bel problema!!)
15 Key Applications Insieme di applicazioni che vengono rilasciate assieme al SO: Browser, client email, contatti, etc Scritte in Java Utilizzano solo API accessibili anche alle applicazioni scritte da terze parti
16 Requisiti per programmare Conoscenze programmazione ad oggetti Gli attributi sono gli elementi caratteristici I metodi sono le funzionalità
17 Requisiti per programmare Gli oggetti componenti sono quelli che vengono inseriti all interno degli oggetti contenitori
18 Requisiti per programmare Conoscenze programmazione ad eventi Quando si verifica un qualsiasi evento, il sistema lo intercetta ed invia le informazioni (tipo di evento ed oggetto origine) ad uno speciale manipolatore degli eventi
19 XML XML (sigla di extensible Markup Language) è un metalinguaggio di markup, ovvero un linguaggio marcatore che definisce un meccanismo sintattico che consente di estendere o controllare il significato di altri linguaggi
20 Metodologie di input Touch MultiTouch Trackball
21 Activity Un activity è essenzialmente una finestra che contiene l interfaccia utente di un applicazione ed il suo scopo è quello di permettere un interazione con gli utenti L interfaccia grafica di un Activity viene in genere definita da una o piu View, organizzate in una struttura ad albero e rappresentate sullo schermo tramite il Layout (group view)
22 Activity
23 Componenti grafici
24 Ciclo di vita delle activity Running: activity è mostrata all utente Paused: activity ancora attiva ma senza il focus Stopped: activity non visibile
25 Android Manifest Un file che contiene la descrizione di alcune caratteristiche dell applicazione Contiene informazioni su: Versioni SDK e API I nomi dei package Le componenti dell applicazione Es: ogni activity deve essere menzionata nel manifest Permessi per accedere alle API Es: acquisizione della posizione
26 Intent E la descrizione di un operazione che deve essere svolta Es: far partire un activity Svolge il ruolo di «collante» tra le activity
27 SqLite Compatta (meno di 500KB) Molto veloce API semplice da utilizzare Multipiattaforma Un database consiste di un unico file, il cui formato interno è indipendente dalla piattaforma e dal relativo ordine dei byte Utilizza un normale linguaggio SQL
28 Strumenti di sviluppo IDE: Eclipse + Android SDK Linguaggio: Java Emulatore
29 Eclipse + SDK Ambiente di sviluppo multi-linguaggio e multi-piattaforma. SDK: Software Development Kit Per android non è incluso nella versione base di eclipse Fornisce le API, le librerie e i tool di sviluppo necessari per creare, testare, debuggare le app Android https://developer.android.com/sdk/index.html?hl=i
30 Eclipse IDE Più popolare java editor Numerose feature Debugging Aiuti integrati ADT: Android Development Tools Plugin
31 Emulatore Permette il testing delle applicazioni anche senza dispositivo fisico Simula tutti i device ma non tutte le funzionalità Spesso ha prestazioni differenti rispetto ai dispositivi fisici: Prestazioni di calcolo superiori Prestazioni grafiche inferiori Non sostituisce in toto il dispositivo fisico Viene fornito con l SDK di Android
32 Testing su device fisico Per poter installare e testare le applicazioni sui dispositivi Android bisogna: Connettere il dispositivo via USB al computer Sbloccare ed attivare la modalità DEBUG USB
33 Attivare il Debug USB Da Android 4.2 la modalità Debug USB non è più subito visible, ma va sbloccata seguendo questi passaggi: Vai al menu Impostazioni del dispositivo Vai nel sottomenu. In alcuni dispositivi il sottomenu si chiamerà Altro / sottomenu Generale Ora scorrere fino a Build Number e toccare 7 volte Dopo aver toccato 7 volte vedrete un avviso che dice Ora sei uno sviluppatore / Modalità sviluppatore è stato attivato Toccare le opzioni per gli sviluppatori e quindi attivare il debug USB
34 Google Play Fino all Ottobre 2008 solo apps gratuite Dal Febbraio 2009 anche apps a pagamento La registrazione costa 25$ e va pagato con carta di credito. Sviluppatori prendono il 70% del ricavo Prezzi da 0.99$ a 200$ Devi avere almeno 13 anni Voti da parte degli utenti Nel 2013 Applicazioni disponibili 1,000,000 e 50 Miliardi di Downloads
35 Pratica