Download - Presentazione+Android
Presentazione
12/04/23 1Google Android: una nuova piattaforma Open Source per dispositivi mobili
Relatore: Luca Nardelli
http://www.linkedin.com/in/lunard
URL al gruppo di sviluppo:
http://groups.google.it/group/google-android-sviluppatori
Google Android: una nuova piattaforma Open Source per dispositivi mobili
12/04/23 2Google Android: una nuova piattaforma Open Source per dispositivi mobili
Android e’ una piattaforma Open Source composta da:
OS di base (Linux like) un middeleware applicazioni di sistema
Breve descrizione del middeleware
12/04/23 3Google Android: una nuova piattaforma Open Source per dispositivi mobili
Implementazione delle librerie standard C (libc appunto), derivata da BSD e pensata per device Linux-basedImplementazione delle librerie standard C (libc appunto), derivata da BSD e pensata per device Linux-basedLibreria basata sul progetto OpenCORE, permette
la riproduzione/registrazione di molti formati video e audio,come ad esempio MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG
Libreria basata sul progetto OpenCORE, permette la riproduzione/registrazione di molti formati video e audio,come ad esempio MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG
Gestisce l’accesso al sottosistema video e ai layer 2D e 3DGestisce l’accesso al sottosistema video e ai layer 2D e 3DUn motore per la navigazione del Web, che viene sfruttato siadal Web Browser di sistema, sia dalla vista WebView (una View rappresenta in Android la componente di base per la creazionedelle UI)
Un motore per la navigazione del Web, che viene sfruttato siadal Web Browser di sistema, sia dalla vista WebView (una View rappresenta in Android la componente di base per la creazionedelle UI)
Il motore grafico sottostanteIl motore grafico sottostanteLiberia basata sulle API OpenGL ES 1.0; queste librerie utilizzano l’accelerazione hardware se presenteoppure un software 3D ottimizzato
Liberia basata sulle API OpenGL ES 1.0; queste librerie utilizzano l’accelerazione hardware se presenteoppure un software 3D ottimizzato
Motore leggero e ottimizzato per la gestione di DataBase relazionali.Motore leggero e ottimizzato per la gestione di DataBase relazionali.
Gestisce il life cycle di un’applicazione Gestisce il life cycle di un’applicazione
Permette alle applicazioni di visualizzare messaggi nella status bar
Permette alle applicazioni di visualizzare messaggi nella status bar
Permette l’accesso a risorse quali immagini, layout, file audio, eccPermette l’accesso a risorse quali immagini, layout, file audio, ecc
Permette gestire dati accessibili da tutte le applicazioni. L’SDK fornisce un set di tipi standard di Content Provider, per la gestione di diverse tipologie di dati: audio, video, immagini, ecc
Permette gestire dati accessibili da tutte le applicazioni. L’SDK fornisce un set di tipi standard di Content Provider, per la gestione di diverse tipologie di dati: audio, video, immagini, ecc
Il codice sorgente della piattaforma e’ libero!
12/04/23 4Google Android: una nuova piattaforma Open Source per dispositivi mobili
I sorgenti sono disponibili all’URL http://source.android.com/
In generale il codice e’ fornito sotto licenza Apache 2.0
E’ stata definita una suddivisione dei progetti in 3 categorie:
• Core Projects: rappresentano le basi della piattaforma Android
• External projects: insieme di altri progetti Open Source dei quali Android fa uso
• Packages: applicazioni e servizi di base
Illimitate possibilita’ di customizzazione della piattaforma Android
12/04/23 5Google Android: una nuova piattaforma Open Source per dispositivi mobili
La pubblicazione del codice sorgente apre le porte a numerose possibilitàdi customizzazione della piattaforma Android, sarà in particolare possibile:
• il porting di Android su device mobili già in commercio
e’ ad esempio in corso il porting di Android sul Neo Freerunner, dispositivo nato dal progetto OpenMoko
con il crescere della comunità Android, sarà auspicabile la realizzazione di ROM per gli smartphone di maggior successo commerciale (es Samsung Omnia, iPhone, HTC HD, ecc)
• creazione di librerie dedicate a compiti specifici
un esempio potrebbe essere l’implementazione di motori per il riconoscimento automatico della voce, tracking del labbiale, analisi delle gesti, che potrebbe alimentare e favorire lo sviluppo di applicazioni pensate ad esempio per i portatori di handicap.
Recentemente: nuovi porting
12/04/23 6Google Android: una nuova piattaforma Open Source per dispositivi mobili
Nokia n810
NetbookAsus eeePC
Programmazione nativa sotto Android
12/04/23 7Google Android: una nuova piattaforma Open Source per dispositivi mobili
Dopo aver scaricato I sorgenti (2,4 Gbyte) e’ possibile compilare l’intera piattaforma (circa 5 Gbyte)
In linea del tutto generale e’ possibile compilare una libreria (*.so) e renderla accessibile allo strato applicativo tramite JNI (Java Native Interface)
API Java
JNIJNI custom APImyLibrary.somyLibrary.so ApplicationApplication
Open Handset Alliance™
12/04/23 8Google Android: una nuova piattaforma Open Source per dispositivi mobili
Per sostenere il progetto Android, Google fondala Open Handset Alliance™, un gruppo di 30compagnie suddivide in
• provider telefonici
• compagnie leader nella realizzazione di componenti elettronici
• produttori di device mobili
• Software Houses
• compagnie per la commercializzazione
Strumenti per sviluppare con Android
12/04/23 9Google Android: una nuova piattaforma Open Source per dispositivi mobili
• Le applicazioni vengono sviluppate interamente in Java.
• I requisiti di sistema per lo sviluppo di applicazioni Android sono: OS Windows XP/Vista, Linux, Mac OS X 10.4.8 o succ. Eclipse IDE 3.3/3.4 JDK 5 o JDK 6
• Allo sviluppatore viene fornita una completa SDK, che comprende in particolare Un insieme di tool utilizzabili anche da linea di comando ADT (Android Development Tools) plugin per Eclipse
permette una comoda gestione dei progetti Android garantisce l’integrazione e l’utilizzo dei tool offetti dall’SDK all’interno dell’ambiente Eclipse,
come ad esempio il DDMS (Dalvik Debug Monitor Service), che permette la gestione dei processi sull’emulatore o device, la creazione di screenshot e il debugging delle applicazioni.
Android Emulator, che mette a disposizione dello sviluppatore un ambiente di run-time completo per il design, l’esecuzione e il debugging di applicazioni
un insieme in progetti di esempio che illustrano l’utilizzo delle principali API Java di Android.
Efficienza nella creazione di applicazioni in ambiente Eclipse tramite ADT (1)
12/04/23 10Google Android: una nuova piattaforma Open Source per dispositivi mobili
Il plugin ADT risulta facilmente configurabileADT facilita la creazione di nuove applicazioni
creazione della corretta struttura logica struttura creazione della corretta struttura logica struttura definizione delle risorse necessarie
al corretto build dell’applicazionedefinizione delle risorse necessarie al corretto build dell’applicazione
controllo dell’emulatore: e’ possibile ad esempio simulare una chiamata oppure l’invio di SMScontrollo dell’emulatore: e’ possibile ad esempio simulare una chiamata oppure l’invio di SMS
Log di sistema: permette inoltre la gestionedei messaggi di debug definiti tramite il metodo Log.w(..)Log di sistema: permette inoltre la gestionedei messaggi di debug definiti tramite il metodo Log.w(..)
12/04/23 11Google Android: una nuova piattaforma Open Source per dispositivi mobili
Efficienza nella creazione di applicazioni in ambiente Eclipse tramite ADT (2) – gestione del file Manifest
Ovviamente e’ possibile l’edit direttodel file XMLOvviamente e’ possibile l’edit direttodel file XML
12/04/23 12Google Android: una nuova piattaforma Open Source per dispositivi mobili
Efficienza nella creazione di applicazioni in ambiente Eclipse tramite ADT (3) – Editors (layout, strings, ecc)
ADT mette a disposizione dello sviluppatorecomodi editor, quali ad esempio il Graphical Layout EditorADT mette a disposizione dello sviluppatorecomodi editor, quali ad esempio il Graphical Layout Editor
.. oppure l’editor di risorse.. oppure l’editor di risorse
12/04/23 13Google Android: una nuova piattaforma Open Source per dispositivi mobili
Efficienza nella creazione di applicazioni in ambiente Eclipse tramite ADT (4) – debugging & Emulator
E’ possibile gestire facilmente le configurazioni per il debug (e l’esecuzione) delle applicazoniE’ possibile gestire facilmente le configurazioni per il debug (e l’esecuzione) delle applicazoni
L’emulatore fornisce un ottimo ambiente run timeper l’esecuzione ed il debug delle applicazioniL’emulatore fornisce un ottimo ambiente run timeper l’esecuzione ed il debug delle applicazioni
L’emulatore e’ pensato per aiutare lo sviluppatorea controllare i vari aspetti relativi alla corretta esecuzionedelle applicazioni all’interno dell’ambiente Android.Vengono quindi resi disponibili numerosi setting..
L’emulatore e’ pensato per aiutare lo sviluppatorea controllare i vari aspetti relativi alla corretta esecuzionedelle applicazioni all’interno dell’ambiente Android.Vengono quindi resi disponibili numerosi setting..
Aspettiamoci molte novita’..
12/04/23 14Google Android: una nuova piattaforma Open Source per dispositivi mobili
Dal 16 al 19 Febbraio si terra’ a Barcellona il congresso GSMA,durante il quale verranno presentati molti nuovi smartphone basati su Android
12/04/23 15Google Android: una nuova piattaforma Open Source per dispositivi mobili
Android ed il gruppo di sviluppo italiano..
Il gruppo e’ stato fondato con l’obiettivo di fornire agli sviluppatori italiani un “punto di incontro”, per condividere idee ed esperienze nella programmazione sotto Android.
Ecco alcune proposte applicative nate all’interno del gruppo:
• applicazioni che contribuiscano ad abbattere il Digital Divide: accesso/ricerca veloce ed efficiente della conoscenza distribuita in rete (eg Wikipedia) e-learning remoto
(si veda ad esempio http://punto-informatico.it/405031/PI/News/e-learning-contro-digital-divide.aspx)
• applicazioni che forniscano supporto alle escursioni in montagna sistema di previsioni meteorologiche/stato manti nevosi ranking difficoltà percorsi
L’entusiasmo di alcuni membri del gruppo di sviluppo ha già contribuito ad alimentare interessanti iniziative, quali
• forum italiano su Android (http://www.androidiani.com/forum)• interessante Blog sul mondo Android (http://www.androidiani.com/)