Suche senden
Hochladen
Sviluppare applicazioni android
•
2 gefällt mir
•
1,517 views
Paolo Montalto
Folgen
Breve panoramica sullo sviluppo di applicazioni Android.
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 31
Empfohlen
DANÇAS FOLCLÓRICAS BRASILEIRAS
DANÇAS FOLCLÓRICAS BRASILEIRAS
bbpn
Processo de fusão de cabo óptico
Processo de fusão de cabo óptico
WELLINGTON MARTINS
5G Enablers for new network
5G Enablers for new network
Ertan Öztürk
Portuguese dance
Portuguese dance
comeniusport
Instrumentos musicais
Instrumentos musicais
Abimael Nascimento Silva
A ExpressãO E EducaçãO Musical E DramáTica
A ExpressãO E EducaçãO Musical E DramáTica
Alfredo Lopes
Distribuire una libreria Java per usarla come dipendenza gradle
Distribuire una libreria Java per usarla come dipendenza gradle
Paolo Montalto
REST con Jersey
REST con Jersey
Fabio Bonfante
Weitere ähnliche Inhalte
Andere mochten auch
AngularJS: How to code today with tomorrow tools - Codemotion Milan 2013
AngularJS: How to code today with tomorrow tools - Codemotion Milan 2013
Carlo Bonamico
JMeter
JMeter
JUG Genova
Playing with parse.com
Playing with parse.com
JUG Genova
Java 9 by Alessio Stalla
Java 9 by Alessio Stalla
JUG Genova
EIP with Apache Camel
EIP with Apache Camel
Andrea Torino Rodriguez
Java 8
Java 8
alessiostalla
Andere mochten auch
(6)
AngularJS: How to code today with tomorrow tools - Codemotion Milan 2013
AngularJS: How to code today with tomorrow tools - Codemotion Milan 2013
JMeter
JMeter
Playing with parse.com
Playing with parse.com
Java 9 by Alessio Stalla
Java 9 by Alessio Stalla
EIP with Apache Camel
EIP with Apache Camel
Java 8
Java 8
Ähnlich wie Sviluppare applicazioni android
Writing apps for android with .net
Writing apps for android with .net
Leonardo Alario
Grasso Frameworks Ajax
Grasso Frameworks Ajax
Dominopoint - Italian Lotus User Group
Introduzione ad Android
Introduzione ad Android
Emanuel Di Nardo
Silverlight in Action
Silverlight in Action
DotNetMarche
Android: Introduzione all'architettura, alla programmazione e alla sicurezza
Android: Introduzione all'architettura, alla programmazione e alla sicurezza
jekil
Liferay - Quick Start 1° Episodio
Liferay - Quick Start 1° Episodio
Antonio Musarra
Soluzioni IoT con le tecnologie Microsoft
Soluzioni IoT con le tecnologie Microsoft
Massimo Bonanni
Soluzioni IoT con le tecnologie Microsoft
Soluzioni IoT con le tecnologie Microsoft
Massimo Bonanni
Programmazione mobile: ANDROID
Programmazione mobile: ANDROID
Paolo Tosato
Google Android: una nuova piattaforma Open Source per dispositivi mobili
Google Android: una nuova piattaforma Open Source per dispositivi mobili
GoWireless
Non solo cartoon: l’animazione nei new media, videogames, apps
Non solo cartoon: l’animazione nei new media, videogames, apps
Goran Djukic
How I did it (in .NET): idiomatic Domain Driven Design
How I did it (in .NET): idiomatic Domain Driven Design
Andrea Saltarello
Androidsdk appinventor
Androidsdk appinventor
fdizazzo
Whymca Dive into Android [ITA]
Whymca Dive into Android [ITA]
Emanuele Di Saverio
Sistemi Context-aware: Esercitazione 3
Sistemi Context-aware: Esercitazione 3
Marco Loregian
Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamen...
Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamen...
Mattia De Bernardi
Visual Studio Performance Tools
Visual Studio Performance Tools
Andrea Tosato
Android & Bluetooth: hacking e applicazioni
Android & Bluetooth: hacking e applicazioni
Stefano Sanna
ios 8 - parte 1 - intro - ita
ios 8 - parte 1 - intro - ita
Dario Rusignuolo
Introduzione a .Net Core
Introduzione a .Net Core
Antonio Di Motta
Ähnlich wie Sviluppare applicazioni android
(20)
Writing apps for android with .net
Writing apps for android with .net
Grasso Frameworks Ajax
Grasso Frameworks Ajax
Introduzione ad Android
Introduzione ad Android
Silverlight in Action
Silverlight in Action
Android: Introduzione all'architettura, alla programmazione e alla sicurezza
Android: Introduzione all'architettura, alla programmazione e alla sicurezza
Liferay - Quick Start 1° Episodio
Liferay - Quick Start 1° Episodio
Soluzioni IoT con le tecnologie Microsoft
Soluzioni IoT con le tecnologie Microsoft
Soluzioni IoT con le tecnologie Microsoft
Soluzioni IoT con le tecnologie Microsoft
Programmazione mobile: ANDROID
Programmazione mobile: ANDROID
Google Android: una nuova piattaforma Open Source per dispositivi mobili
Google Android: una nuova piattaforma Open Source per dispositivi mobili
Non solo cartoon: l’animazione nei new media, videogames, apps
Non solo cartoon: l’animazione nei new media, videogames, apps
How I did it (in .NET): idiomatic Domain Driven Design
How I did it (in .NET): idiomatic Domain Driven Design
Androidsdk appinventor
Androidsdk appinventor
Whymca Dive into Android [ITA]
Whymca Dive into Android [ITA]
Sistemi Context-aware: Esercitazione 3
Sistemi Context-aware: Esercitazione 3
Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamen...
Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamen...
Visual Studio Performance Tools
Visual Studio Performance Tools
Android & Bluetooth: hacking e applicazioni
Android & Bluetooth: hacking e applicazioni
ios 8 - parte 1 - intro - ita
ios 8 - parte 1 - intro - ita
Introduzione a .Net Core
Introduzione a .Net Core
Sviluppare applicazioni android
1.
Sviluppare applicazioni Android Copyright©
2013 Paolo Montalto http://www.xabaras.it
2.
Argomenti trattati • Cos’è
Android • SDK (eclipse + tools) • Struttura di un progetto android • Componenti base (Activity, View, Intent …) • Fragment (cenni) • Frammentazione e Support library (cenni) Copyright© 2013 Paolo Montalto http://www.xabaras.it
3.
Che cos’è android? Copyright©
2013 Paolo Montalto http://www.xabaras.it • Sistema operativo per dispositivi mobili • Sviluppato dalla Open Handset Alliance (84 aziende tra cui Google, Samsung, LG, Nvidia…) • Open Source e gratuito • Basato su Kernel Linux • Linguaggio di programmazione Java
4.
Android != Linux Copyright©
2013 Paolo Montalto http://www.xabaras.it • Basato inizialmente su Kernel 2.6 • Supporto ARM (e successivamente x86) • Sviluppato separatamente • Aggiunte patch non presenti in main branch linux (ashmem, alarms, power management, low memory kliller, logger…) • Parziale integrazione in versione 3.3 La release 3.3 del kernel vi perme1erà di avviare un userspace Android senza alcuna modifica, sebbene la ges<one dell’alimentazione non sia molto buona. Nella versione 3.4 del kernel si spera di poter correggere questo problema e arrivare ad una piena integrazione con Android. Greg Kroah-‐Hartman (Linux kernel –stable branch maintainer)
5.
Java ma non
JVM Copyright© 2013 Paolo Montalto http://www.xabaras.it • Dalvik Virtual Machine • No Java SE v Java ME • Subset Apache Harmony • No executable jars: apk .java .class .dex
6.
Architettura Copyright© 2013 Paolo
Montalto http://www.xabaras.it Dalvik Virtual Machine E’ qui che agiamo!
7.
SDK Copyright© 2013 Paolo
Montalto http://www.xabaras.it • Android developer tools • tools a linea di comando (adb, zipalign) • SDK Manager • AVD Manager (android virtual device manager) • Emulatore • Eclipse ADT plugin L’android SDK è costituito da:
8.
Android SDK Manager Copyright©
2013 Paolo Montalto http://www.xabaras.it
9.
AVD Manager Copyright© 2013
Paolo Montalto http://www.xabaras.it
10.
Emulatore Copyright© 2013 Paolo
Montalto http://www.xabaras.it • Rom nativa android • Google API • Mock Locations • Simulazione Rete GSM • Pulsanti hardware • Hardware keyboard • D-Pad • Pulsanti volume • Pulsante “Power”
11.
Graphical layout editor Copyright©
2013 Paolo Montalto http://www.xabaras.it
12.
Dalvik Debug Monitor
Server Copyright© 2013 Paolo Montalto http://www.xabaras.it • system information • screen capture • thread/heap info • logcat • processi • controllo emulatore • traffico di rete • stato della rete • posizioni GPS (mock)
13.
Struttura di un
Progetto Copyright© 2013 Paolo Montalto http://www.xabaras.it Codice Java Codice generato dal compilatore Librerie e dipendenze di sistema Definizione dell’applicazione Risorse: • layout (xml) • Immagini • Stili • File lingua Librerie .jar, .so Altri file dell’applicaizone (es. .pdf, .html, .db …)
14.
La directory “res” Copyright©
2013 Paolo Montalto http://www.xabaras.it Risorse grafiche Risorse che rappresentano valori (colori, dimensioni, stringhe di testo, stili della GUI) I valori dopo il “-” nei nomi delle directory sono i selettori delle risorse, servono ad identificare l’utilizzo che l’applicazione farà di quelle risorse: • hdpi: dispositivi con densità di schermo alta • sw600dp: device la cui risoluzione orizzontale sia almeno di 600dp • v11: utilizzare solo se la versione di android sul dispositivo è 11 • it: se la lingua del device è Italiano
15.
Activity Copyright© 2013 Paolo
Montalto http://www.xabaras.it Activity è il “contesto” base di esecuzione in un’applicazione android. • Entry point dell’applicazione android • Solo una in foreground • Solo una attiva • Stack: nuove activity sempre on top
16.
Activity: ciclo di
vita Copyright© 2013 Paolo Montalto http://www.xabaras.it
17.
View Copyright© 2013 Paolo
Montalto http://www.xabaras.it • Componenti base della UI di android • Definite e utilizzate nei file xml di Layout • Una view sa come disegnare se stessa • Risponde agli eventi (es: onClick, onLongClick) • Organizzate in gerarchie (ViewGroup) Il framework android si occupa di misurare, disegnare e disporre le View e i ViewGroup
18.
Layout Copyright© 2013 Paolo
Montalto http://www.xabaras.it • RelativeLayout: Layout eredita da ViewGroup • TextView è una View (come EditText, WebView, ListView, ScrollView…) • Riferimenti a risorse esterne al Layout (@string, @drawable, @dimen) File xml
19.
Layout e Activity Copyright©
2013 Paolo Montalto http://www.xabaras.it Caricamento layout nell’activity Accesso alle View Accesso a risorse
20.
Intent Copyright© 2013 Paolo
Montalto http://www.xabaras.it E’ una descrizione astratta di un’operazione da eseguire. Generalmente usato per lanciare un’Activity Parametri principali: • action: l’azione che è necessario compiere, ad esempio ACTION_VIEW, ACTION_EDIT, ACTION_MAIN, etc. • data: i dati sui quali effettuare l’operazione, ad esempio una persona nel database di contatti, un url di un sito web, etc. Esempi (action – data): • ACTION_VIEW - content://contacts/people/1 mostra informazioni sulla persona il cui ID è 1 • ACTION_DIAL - content://contacts/people/1 mostra la scheramata di chiamata per la persona il cui ID è 1 1/3
21.
Intent Copyright© 2013 Paolo
Montalto http://www.xabaras.it 2/3 Attributi secondari: • category: informazioni aggiuntive sull’azione da eseguire (es. CATEGORY_LAUNCHER) • type: specifica il MIME type dei dati passati all’Intent • component: specifica esplicitamente il nome della classe da usare • extras: può essere usato per passare informazioni aggiuntive all’activity lanciata Esempi: • ACTION_MAIN con category CATEGORY_HOME lancia la schermata Home • ACTION_GET_CONTENT con MIME type vnd.android.cursor.item/phone Mostra una lista di numeri di telefono, consentendo all’utente di selezionarne uno e ritornare il valore selezionato all’activity di partenza
22.
Intent Copyright© 2013 Paolo
Montalto http://www.xabaras.it 3/3 Lanciare un’activity: Recuperare il risultato di un’activity:
23.
AndroidManifest.xml Copyright© 2013 Paolo
Montalto http://www.xabaras.it Ogni applicazione android deve avere un file AndroidManifest.xml nella sua directory principale. Il manifest fornisce al sistema android informazioni essenziali sull’applicazione. • Principali caratteristiche di AndroidManifest.xml • definisce il package name dell’applicazione • descrive i componenti dell’applicazione (activity, servizi, provider di contenuti) • definisce quali permessi l’applicazione avrà per l’accesso a specifiche funzionalità / caratteristiche hardware • dichiara il livello minimo di API supportato • dichiara eventuali librerie utlizzate esterne all’applicazione (presenti in un package differente) 1/2
24.
AndroidManifest.xml Copyright© 2013 Paolo
Montalto http://www.xabaras.it Package name Icona applicazione Nome visualizzato Permessi Versione App Versione Android SDK Intent Activity principale 2/2
25.
Fragment (cenni) Copyright© 2013
Paolo Montalto http://www.xabaras.it • Introdotti in android 3.0 Honeycomb • Fondamentali per il supporto alle applicazioni Tablet • Porzioni indipendenti dell’interfaccia utente • Hanno un loro ciclo di vita (legato a quello dell’activity) • Possono essere combinati in layout muti-pane • Possono essere riutilizzati 1/3
26.
Fragment (cenni) Copyright© 2013
Paolo Montalto http://www.xabaras.it Tipico utilizzo dei Fragment 2/3
27.
Fragment (cenni) Copyright© 2013
Paolo Montalto http://www.xabaras.it 3/3 • Possono essere inseriti nella definizione xml del layout • Possono essere dichiarati via codice
28.
Altri componenti del
framework Copyright© 2013 Paolo Montalto http://www.xabaras.it • Dialog visualizzano finestre di dialogo (es: i classici alert) • Service eseguono codice in background, possono essere in esecuzione anche quando l’app non lo è • Broadcast Receiver ricevono e gestiscono eventi in modo asincrono • Content Provider consentono di accedere ai dati attraverso un’interfaccia standard (possibile definire custom) • Notification mostrano informazioni nella barra delle notifiche
29.
Frammentazione Copyright© 2013 Paolo
Montalto http://www.xabaras.it • Ecosistema frammentato • Frammentazione delle versioni di android • Frammentazione delle dimensioni di schermo • Frammentazione delle densità di schermo • Personalizzazioni dei produttori
30.
Support Library Copyright© 2013
Paolo Montalto http://www.xabaras.it • Introdotta per porre un rimedio alla frammentazione relativa a differenti versioni del sistema operativo • Consente l’accesso a tutta una serie di funzionalità introdotte da android HoneyComb(android 3.0 api v11) in poi su dispositivi con api precedente • Supporta dispositivi android da api v4 in poi • E’ anche detta support-v4 • E’ distribuita sotto forma di .jar da includere nel progetto
31.
Grazie per l’attenzione!