Android Introduzione all architettura, alla programmazione e alla sicurezza. Alessandro Tanasi - -

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Android Introduzione all architettura, alla programmazione e alla sicurezza. Alessandro Tanasi - http://www.tanasi.it - alessandro@tanasi."

Transcript

1 Android Introduzione all architettura, alla programmazione e alla sicurezza Alessandro Tanasi - -

2 Fun & profit Fun Sviluppo applicazioni Invenzione di nuove applicazioni per soddisfare vecchie e nuove esigenze Poter soddisfare le proprie esigenze, personalizzazione Attività di ricerca Profit Vendita delle applicazioni Sviluppo applicazioni su commissione Vendita o abuso dei risultati di ricerca

3 Devices

4 Architettura

5 Android Software stack per device mobili Middleware Sistema operativo Linux con kernel 2.6 Driver per l'hardware (GPS, accelerometri,..) Librerie Android runtime Application framework Applicazioni Native: telefono, contatti, browser, Di terze parti

6 Kernel Linux kernel e driver che fanno da hardware abstraction layer Core system services per security, memory management, process management, network stack

7 Librerie e runtime Librerie (per la gran parte in linguaggio nativo) esposte attraverso l'application framework Android runtime: Dalvik Virtual Machine e sue librerie core

8 Application framework API ad alto livello Le applicazioni native Android e quelle di terze parti usano le stesse API

9 Sequenza di avvio Il bootloader carica il kernel Demoni per la gestione low level dell'hardware Zygote e Dalvik VM Il service manager viene avviato (binders e comunicazioni IPC) Altri manager App rimanenti

10 ps USER PID PPID VSIZE RSS WCHAN PC NAME root c ab0c S /init root c0048eac S kthreadd root c003acf S ksoftirqd/0 root c0045e5c S events/0 root c0045e5c S khelper root c0045e5c S suspend/0 root c0045e5c S kblockd/0 root c0045e5c S cqueue/0 root c0150c S kseriod root c005bed S pdflush root c005bed S pdflush root c005f S kswapd0 root c0045e5c S aio/0 root c014e2f S mtdblockd root c0045e5c S kmmcd root c0045e5c S rpciod/0 root c00386a4 afe092ac S /system/bin/sh root ffffffff 0000ceb4 S /sbin/adbd root ffffffff afe08b9c S /system/bin/usbd root c017c114 afe08e9c S /system/bin/debuggerd root ffffffff afe08b9c S /system/bin/rild root c01dc388 afe083dc S zygote root ffffffff afe0861c S /system/bin/runtime bluetooth c afe0947c S /system/bin/dbus-daemon root ffffffff afe0861c S system_server app_ ffffffff afe09604 S com.google.android.home phone ffffffff afe09604 S com.google.android.phone app_ ffffffff afe09604 S com.google.process.content app_ ffffffff afe09604 S com.google.android.contacts root afe083dc R ps

11 Dalvik Virtual Machine Bytecode interpreter (no JIT) Register based Lente CPU ( MHz), poca RAM (64MB) Senza swap Alta densità semantica Istruzioni speciali Ottimizzata per istanze multiple Ottimizzata per avere un memory footprint minimale Esegue file.dex su OS POSIX compliant Si appoggia al kernel per threading e memory management di basso livello

12 Dalvik Executable Format Riduzione delle dimensioni Sostanziale differenza semantica con il bytecode Java Nessuna compressione Comunque minori di un JAR nel caso medio Vengono gestiti in modo efficace da mmap() Dexdump, undx

13 Compilazione e building Compilazione con il compilatore standard Java Conversion in.dex con l'utility dx Nel caso si usino IPC, processing AIDL Le risorse sono incluse nel package apk

14 Sviluppo

15 Android SDK Android API Development tools Emulatore Android Dalvik Debug Monitoring Service (DDMS) Documentazione ed esempi

16 Native Development Kit (NDK) Permettono l'utilizzo di componenti in codice nativo ( C o C++) Cross-toolchains (compilatori, linkers, etc..) per generare binari ARM Libc, libm, OpenGL ES 1.1, JNI interface, libz Non permette di creare applicazione nativeonly Il runtime applicativo rimane la Dalvik VM

17 Android Scripting Environment Programmare in Python, Perlm, Jruby, BeanShell, Lua.. Per casi particolare in cui bisogna adottare paradigmi di programmazione diversi da quelli imposti dall'sdk Accesso semplificato e non completo alle API Es: web server in 4 righe di python

18 Development Tools Eclipse Plugin: Andreoid Dev Tools CLI: activitycreator.py Compila e crea il pacchetto automaticamente Lancia l'emulatore in debugging mode Genere la struttura del progetto Ant build.xml file IntelliJ project files DroidDraw, SensorSimulator

19 Esempio \

20 Anatomia di un'app

21 Lego per costruzioni Activity: Componente UI (tipicamente una schermata, presentation layer) Service: Task in background Content Provider: Gestisce e condivide dati tra applicazioni Intent: Messaggistica asincrona Intent filter: Dichiarazione XML dei messaggi che possono essere gestiti Broadcast Receiver: attende intents broadcast che corrispondono a certi criteri (Intent filter) Manifest: Proprietà dell'applicazione

22 User interface Composta da oggetti View e ViewGroup (vari tipi) Layout definito in file XML Stringhe memorizzate separatamente Sottoscrizione agli eventi dell'ui tramite listener o overriding callback Definizione dei menu e loro creazione automatica Notifiche Adapter per le viste dinamicamente Stili e temi

23 Esempio <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="hello, I am a TextView" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="hello, I am a Button" /> </LinearLayout>

24 Resource e asset Generalmente sono elementi esterni referenziati dall'applicazione Immagini, audio, video, stringhe di testo, layout, temi Directory per resource (res/) e directory per asset (assets/) La differenza è nel metodo di accesso I18n

25 Data Storage Tecniche differenti per memorizzare dati Shared preferences: meccanismo per memorizzare strutture chiavi-valore SQLite: DBMS relazionale per memorizzare dati articolati Files: RW di file sulla memoria locale ed SD card Network: Utilizzando java.net.* e android.net.*

26 Multimedia Grafica 2D e grafica 3D con OpenGL ES API Offre funzioni built-in di encoding/decoding per alcuni media types MediaPlayer e MediaRecorder android.location e Google Maps library Accelerometro, bussola

27 AndroidManifest.xml Ogni applicazione deve avere un AndroidManifest.xml file Descrive l'applicazione: Nome del package Java Descrive i suoi componenti Permessi richiesti dall'applicazione Permessi richiesti per interagire con i suoi componenti Opzionali informazioni per testing (profiling) Dipendenza dalla versione delle android API Librerie utilizzate

28 Esempio di manifest <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="org.sipdroid.sipua" android:versionname="1.1.3 beta" android:versioncode="32"> <uses-sdk android:minsdkversion="3" /> <application <activity android:name=".ui.sipdroid" android:launchmode="singleinstance" android:configchanges="orientation keyboardhidden"> <intent-filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent-filter> </activity> <receiver android:name=".ui.caller"/> <receiver android:name=".ui.receiver" android:enabled="true"> <intent-filter> <action android:name="android.intent.action.boot_completed" /> </intent-filter> </receiver> </application> <uses-permission android:name="android.permission.internet"></usespermission>

29 Life Cycle Le applicazioni running sono gestite in una gerarchia: foreground process (priorità critica) visible process (alta priorità) service process (bassa priorità) background process empty process Le Activity sono mantenute in un activity stack (LIFO) Un activity ha tre stati: running o active, paused, stopped

30 Life cycle in dettaglio

31 Pubblicare un'applicazione Iscriversi al market come sviluppatore (25 ) Dare un numero di versione Firmare il pacchetto Pubblicare l'applicazione Google trattiene il 30% degli incassi

32 Sicurezza

33 Android Security Model Ogni processo viene eseguito in una DVM separata File non condivisi tra applicazioni Linux + Android permission model UID e GID distinti assegnati all'installazione Stack address randomization

34 Android Permissions Limite alle funzionalità di un software: android.permission Granularità sulle azioni e sull'accesso ai dati Specificate nel file manifest <uses-permission android:name="android.permission.read_contacts"> </uses-permission> <uses-permission android:name="android.permission.write_contacts"> </uses-permission>

35 Ma... Bypass memory protections Vunerabilità riscontrate La sandbox è abbastanza granulare per far girare applicazioni non trusted? Marketing profiling, E.T. chiama sempre casa Non conoscenza del funzionamento interno di un'applicazione (client HTTP o HTTPS?) Rootkit, managed code rootkit

36 Conclusioni

37 Conclusioni L'architettura è disegnata pensando anche allo sviluppatore Lo sviluppo è semplice e veloce Sistemi di security granulari allo scopo di isolare le applicazioni in una sandbox Lo sviluppo può essere divertente e redditizio C'è ampio spazio per la ricerca

38 Approfondimenti

39 Domande

Android Introduzione all architettura, alla programmazione e alla sicurezza. Alessandro Tanasi - http://www.tanasi.it - alessandro@tanasi.

Android Introduzione all architettura, alla programmazione e alla sicurezza. Alessandro Tanasi - http://www.tanasi.it - alessandro@tanasi. Android Introduzione all architettura, alla programmazione e alla sicurezza Alessandro Tanasi - http://www.tanasi.it - alessandro@tanasi.it Fun & profit Fun Sviluppo applicazioni Invenzione di nuove applicazioni

Dettagli

ANDROID. Domenico Talia. Università della Calabria. talia@dimes.unical.it

ANDROID. Domenico Talia. Università della Calabria. talia@dimes.unical.it ANDROID Domenico Talia Università della Calabria talia@dimes.unical.it Sistemi Operativi per Mobile! I sistemi operativi per sistemi mobili seguono i principi dei SO classici ma devono gestire risorse

Dettagli

Programmazione in ambiente

Programmazione in ambiente Università Politecnica delle Marche Dipartimento di Ingegneria dell Informazione Programmazione in ambiente Android Laura Montanini - laura.montanini@univpm.it Corso di Tecnologie per le TLC 2013-2014

Dettagli

Programmazione Android

Programmazione Android Programmazione Android Giovanni Perbellini, Stefano Cordibella Università di Verona EDALab S.r.l. Agenda Introduzione Android Overview Ambiente di sviluppo Esempi Helloworld Weather 2 1 Cos è Android?

Dettagli

Programmazione Android. Luca Morettoni http://www.morettoni.net

Programmazione Android. Luca Morettoni <luca@morettoni.net> http://www.morettoni.net Programmazione Android Luca Morettoni http://www.morettoni.net Android Programming Cos'è Android; Concetti di base sulla programmazione: Q&A AndroidManifest; Activities; Services;

Dettagli

Android world. Sviluppare app per Android. Un insieme di software per dispositivi mobili (smartphone, tablet, portatili...)

Android world. Sviluppare app per Android. Un insieme di software per dispositivi mobili (smartphone, tablet, portatili...) Android world Un insieme di software per dispositivi mobili (smartphone, tablet, portatili...) Contiene un Sistema Operativo, software middleware e applicazioni varie Sviluppato da Open Handset Alliance,

Dettagli

Sistemi Mobili e Wireless Android Introduzione alla piattaforma

Sistemi Mobili e Wireless Android Introduzione alla piattaforma Sistemi Mobili e Wireless Android Introduzione alla piattaforma Stefano Burigat Dipartimento di Matematica e Informatica Università di Udine www.dimi.uniud.it/burigat stefano.burigat@uniud.it Cos'è Android?

Dettagli

Sviluppo di un applicazione mobile per la gestione degli interventi tecnici tramite geolocalizzazione

Sviluppo di un applicazione mobile per la gestione degli interventi tecnici tramite geolocalizzazione UNIVERSITA DEGLI STUDI DI FERRARA Corso di Laurea in informatica Anno Accademico 2011-2012 Sviluppo di un applicazione mobile per la gestione degli interventi tecnici tramite geolocalizzazione Relatore:

Dettagli

Sistemi Mobili e Wireless Android Primi passi

Sistemi Mobili e Wireless Android Primi passi Sistemi Mobili e Wireless Android Primi passi Stefano Burigat Dipartimento di Matematica e Informatica Università di Udine www.dimi.uniud.it/burigat stefano.burigat@uniud.it Ambiente di sviluppo L'ambiente

Dettagli

MagiCum S.r.l. Progetto Inno-School

MagiCum S.r.l. Progetto Inno-School MagiCum S.r.l. Progetto Inno-School Area Sviluppo Software Autore: Sergio Gandola Revisione: 2 Data: 07/06/13 Titolo: Documentazione Tecnica Diario File:Documentazione Tecnica.pdf Sito: http://inno-school.netsons.org/

Dettagli

Tecniche di progettazione e sviluppo di applicazioni mobile

Tecniche di progettazione e sviluppo di applicazioni mobile Slide del corso FSE Tecniche di progettazione e sviluppo di applicazioni mobile svolto presso AREA Science Park Padriciano - Trieste - Italy diegozabot@yahoo.it Android Introduzione diegozabot@yahoo.it

Dettagli

Android. Android. Sviluppo di applicazioni. Dalvik 19/03/2011. A. Ferrari

Android. Android. Sviluppo di applicazioni. Dalvik 19/03/2011. A. Ferrari Android Android A. Ferrari Android è un sistema opera8vo per disposi8vi mobili. Inizialmente sviluppato da Startup Android Inc. acquisita poi nel 2005 da Google Inc. Il cuore di Android è un kernel Linux.

Dettagli

Lezione 1 Primi passi con Android

Lezione 1 Primi passi con Android A cura di Carlo Pelliccia Meno di tre anni fa Google ha rilasciato una versione preliminare del kit di sviluppo di Android, il suo nuovo sistema operativo dedicato agli smartphone. Futurologi e semplici

Dettagli

Sviluppo su Android. Linux Day Torino 2010

Sviluppo su Android. Linux Day Torino 2010 Sviluppo su Android Linux Day Torino 2010 Francesco Ronchi francesco.ronchi@gmail.com - www.synesthesia.it Cos'è Android Sistema operativo dedicato ai device mobili: cellulari, palmari, tablet, navigatori...

Dettagli

Indice generale. Capitolo 1 Introduzione ad Android... 1

Indice generale. Capitolo 1 Introduzione ad Android... 1 Prefazione Introduzione...xvii...xix Capitolo 1 Introduzione ad Android... 1 Che cos è Android... 2 Un po di storia... 3 Android e Java... 4 Confronto con J2ME... 6 La Dalvik Virtual Machine... 9 L architettura

Dettagli

Basi Android. Android si definisce open. Con8ene tecnologie open source. Il codice di Android è open. Licenza Open Source Apache 2.

Basi Android. Android si definisce open. Con8ene tecnologie open source. Il codice di Android è open. Licenza Open Source Apache 2. Basi Android 1 Android Cosa è Android? Android è un insieme di strumen8 e librerie per sviluppare applicazioni mobili è più di un SO Android si definisce open Con8ene tecnologie open source Linux Il codice

Dettagli

INTRODUZIONE ALLA PROGRAMMAZIONE ANDROID

INTRODUZIONE ALLA PROGRAMMAZIONE ANDROID INTRODUZIONE ALLA PROGRAMMAZIONE ANDROID Giuseppe Marziale Bari, 27 Novembre 2013 About Me (Giuseppe Marziale) Sono Laureato in Ingegneria informatica specializzazione in sistema informativi e reti ( Ottobre

Dettagli

Android development. Sviluppo di Mobile Apps sul sistema operativo di Google

Android development. Sviluppo di Mobile Apps sul sistema operativo di Google Android development Sviluppo di Mobile Apps sul sistema operativo di Google Agenda Giorni: Gio 14/04/2011 Ven 15/04/2011 Gio 21/04/2011 Ven 22/04/2011 Suddivisione: Mattina: teoria Pomeriggio: pratica

Dettagli

Scuola Professionale e Filologica Geom. F.Borgogna Vercelli

Scuola Professionale e Filologica Geom. F.Borgogna Vercelli Scuola Professionale e Filologica Geom. F.Borgogna Vercelli Corsi ANDROID 2013/2014 Benvenuti nel mondo dinamico dello sviluppo di applicazioni per smartphone e tablet Android Corsi ANDROID 2013/2014 L

Dettagli

Scaletta. Strumenti di sviluppo Prima applicazione Aspetti peculiari di Android. Conclusioni. Activity e Intent. MoBe s.r.l.

Scaletta. Strumenti di sviluppo Prima applicazione Aspetti peculiari di Android. Conclusioni. Activity e Intent. MoBe s.r.l. Scaletta Strumenti di sviluppo Prima applicazione Aspetti peculiari di Android Activity e Intent Conclusioni Strumenti di sviluppo Disponibili per Windows, Mac OS X (Intel) e Linux Strumenti JDK (Java

Dettagli

Lezione 1 Primi passi con Android

Lezione 1 Primi passi con Android A cura di Carlo Pelliccia Android è una piattaforma software per smartphone e tablet realizzata dal consorzio noto come Open Handset Alliance, di cui Google è capofila e maggiore contributore, ed al quale

Dettagli

INTRODUZIONE ALLE PIATTAFORME

INTRODUZIONE ALLE PIATTAFORME 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

Dettagli

Realizzazione di un servizio per la rilevazione di malfunzionamenti in ambiente Android

Realizzazione di un servizio per la rilevazione di malfunzionamenti in ambiente Android Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica tesi di laurea Realizzazione di un servizio per la rilevazione di malfunzionamenti in ambiente Android Anno Accademico 2011/12 relatore Ch.mo

Dettagli

Laboratorio di Elaborazione e Trasmissione Video

Laboratorio di Elaborazione e Trasmissione Video + Laboratorio di Elaborazione e Trasmissione Video Prof. Christian Micheloni Dott. Marco Vernier Dipartimento di Matematica e Informatica Università degli studi di Udine Outline Lezione 1 - Il sistema

Dettagli

Android. Anatomia di una applicazione

Android. Anatomia di una applicazione Android Anatomia di una applicazione Elementi di base Gli elementi di base per costruire una applicazione Android sono cinque: Activity Intent Broadcast Receiver Service Content Provider 2 Activity (1/3)

Dettagli

Java e la piattaforma Android. Corso di Laurea in Ingegneria Informatica. Anno accademico 2012/2013

Java e la piattaforma Android. Corso di Laurea in Ingegneria Informatica. Anno accademico 2012/2013 Università degli Studi di Bologna Scuola di Ingegneria e Architettura Java e la piattaforma Android Corso di Laurea in Ingegneria Informatica Anno accademico 2012/2013 Prof. ENRICO DENTI Dipartimento di

Dettagli

Sistemi Operativi per Sistemi di Elaborazione Ubiqui

Sistemi Operativi per Sistemi di Elaborazione Ubiqui Griglie e Sistemi di Elaborazione Ubiqui Sistemi Operativi per Sistemi di Elaborazione Ubiqui Griglie e Sistemi Ubiqui - D. Talia - UNICAL 1 Sistemi Operativi per Ubiquitous Computing Palm OS Symbian OS

Dettagli

[AD.AGIO] ANDROID SDK

[AD.AGIO] ANDROID SDK [AD.AGIO] ANDROID SDK 2013.06 Pag. 1 1. PREMESSA Il presente documento riporta informazioni riservate il cui utilizzo è confidenziale e permesso esclusivamente nell'ambito del rapporto di fornitura in

Dettagli

Lo sbarco di Google nel pianeta Mobile Internet: primo impatto ed esempi pratici.

Lo sbarco di Google nel pianeta Mobile Internet: primo impatto ed esempi pratici. Lo sbarco di Google nel pianeta Mobile Internet: primo impatto ed esempi pratici. Riccardo Solimena (Java Italian Portal) Stefano Sanna (JUG Sardegna Onlus) Outline Who we are Android: brevissima introduzione

Dettagli

per favore Android Mobile Programming Prof. R. De Prisco Prof. Roberto De Prisco 29/09/14 e NON RISPONDERE!!!! Slide 3

per favore Android Mobile Programming Prof. R. De Prisco Prof. Roberto De Prisco 29/09/14 e NON RISPONDERE!!!! Slide 3 Prof. Roberto De Prisco 2 per favore 3 o almeno e NON RISPONDERE!!!! Scrivere un app che mehe la vibrazione il lun e gio dalle 16:00 alle 18:00 1 Dress Code 4 Lui Vestito scuro, cravatta, camicia chiara,

Dettagli

Il cellulare 2.0 diventa più personale

Il cellulare 2.0 diventa più personale Il cellulare 2.0 diventa più personale Ing. Antonio Tringali 29/03/2008 Cosa è Android? Il 5/11/2007 Google annuncia Android E' un application environment per cellulari evoluti

Dettagli

Lezione 1. Sviluppo di Applicazioni per ios. Panoramica Tecnologica ios e ios SDK Strumenti di sviluppo per ios. Università di Pisa

Lezione 1. Sviluppo di Applicazioni per ios. Panoramica Tecnologica ios e ios SDK Strumenti di sviluppo per ios. Università di Pisa Lezione 1 Sviluppo di Applicazioni per ios Panoramica Tecnologica ios e ios SDK Strumenti di sviluppo per ios Oggi... ios e ios SDK Strumenti di sviluppo Linguaggio Objective C Fondamenti di OOP Dispositivi

Dettagli

La geolocalizzazione

La geolocalizzazione La geolocalizzazione La maggior parte dei dispositivi mobili di ultima generazione è dotata di un antenna GPS che permette di conoscere, in breve tempo e con la precisione di qualche metro, la propria

Dettagli

Laboratorio di Smart Vision and Sensor Networks. Niki Martinel Marco Vernier Dipartimento di Matematica e Informatica Università degli studi di Udine

Laboratorio di Smart Vision and Sensor Networks. Niki Martinel Marco Vernier Dipartimento di Matematica e Informatica Università degli studi di Udine + Laboratorio di Smart Vision and Sensor Networks Niki Martinel Marco Vernier Dipartimento di Matematica e Informatica Università degli studi di Udine Outline Lezione 1 - Il sistema operativo Android Cos

Dettagli

ANDROID 4.2 JELLY BEAN Installazione e configurazione dell ambiente

ANDROID 4.2 JELLY BEAN Installazione e configurazione dell ambiente INTRODUZIONE Per sviluppare applicazioni in grado di girare su sistemi Android servono tre cose: il Java JDK (Java Development Kit), che contiene tutti gli strumenti necessari a sviluppare nel linguaggio

Dettagli

Sistemi Operativi per Sistemi di Elaborazione Ubiqui

Sistemi Operativi per Sistemi di Elaborazione Ubiqui Griglie e Sistemi di Elaborazione Ubiqui Sistemi Operativi per Sistemi di Elaborazione Ubiqui Griglie e Sistemi Ubiqui - D. Talia - UNICAL 1 Sistemi Operativi per Ubiquitous Computing PalmOS Symbian OS

Dettagli

Programmazione Android. Giovanni Perbellini Università di Verona EDALab S.r.l.

Programmazione Android. Giovanni Perbellini Università di Verona EDALab S.r.l. Programmazione Android Giovanni Perbellini Università di Verona EDALab S.r.l. Agenda Introduzione Android Overview Ambiente di sviluppo Esempi Java Helloworld Weather (HTTP) Esercizio SOAP per Android

Dettagli

Java e la piattaforma Android. Corso di Laurea in Ingegneria Informatica. Anno accademico 2014/2015

Java e la piattaforma Android. Corso di Laurea in Ingegneria Informatica. Anno accademico 2014/2015 Università degli Studi di Bologna Scuola di Ingegneria e Architettura Java e la piattaforma Android Corso di Laurea in Ingegneria Informatica Anno accademico 2014/2015 Prof. ENRICO DENTI Dipartimento di

Dettagli

ANDROID ANDROID & JAVA. DALVIK o ART? STRUMENTI SVILUPPARE CON ECLIPSE. Java e la piattaforma Android. Corso di Laurea in Ingegneria Informatica

ANDROID ANDROID & JAVA. DALVIK o ART? STRUMENTI SVILUPPARE CON ECLIPSE. Java e la piattaforma Android. Corso di Laurea in Ingegneria Informatica Università degli Studi di Bologna Scuola di Ingegneria e Architettura Java e la piattaforma Android Corso di Laurea in Ingegneria Informatica Anno accademico 2014/2015 Prof. ENRICO DENTI Dipartimento di

Dettagli

Modulo 3. Ecosistema Android

Modulo 3. Ecosistema Android Modulo 3 Ecosistema Android 3.1 Introduzione ad Android 3.1 Cos'è Android Sistema operativo open-source inizialmente pensato per dispositivi mobili e poi evolutosi. Attualmente leader del mercato...e lo

Dettagli

Corso App modulo Android. Antonio Gallo info@laboratoriolibero.com

Corso App modulo Android. Antonio Gallo info@laboratoriolibero.com Corso App modulo Android Antonio Gallo info@laboratoriolibero.com Strumentazione: PC + smartphone Android + cavo micro USB per connessione Framework Phonegap SDK di Android JDK (Java) Eclipse (opzionale)

Dettagli

Dott. Ing. Davide Maiorca

Dott. Ing. Davide Maiorca Pattern Recognition and Applications Lab Sicurezza dei Sistemi Android Dott. Ing. Davide Maiorca davide.maiorca@diee.unica.it Corso di Sicurezza Informatica A.A. 2014/2015 Dipartimento di Ingegneria Elettrica

Dettagli

Filippo Druda LO SVILUPPO IN ANDROID

Filippo Druda LO SVILUPPO IN ANDROID 1 Classe 5 A Candidato Filippo Druda LO SVILUPPO IN ANDROID 2 L'EVOLUZIONE TECNOLOGICA NON HA MAI DANNEGGIATO NESSUNO.. ABSTRACT Istituto Tecnico Industriale Don Orione Fano 3 Il progresso tecnologico

Dettagli

Introduzione ad Android

Introduzione ad Android Capitolo 1 Introduzione ad Android La fine del precedente millennio è stata sicuramente caratterizzata da Internet: una vera e propria rivoluzione non solo tecnologica ma soprattutto culturale. La possibilità

Dettagli

Sistemi Operativi per Sistemi di Elaborazione Ubiqui

Sistemi Operativi per Sistemi di Elaborazione Ubiqui Griglie e Sistemi di Elaborazione Ubiqui Sistemi Operativi per Sistemi di Elaborazione Ubiqui Griglie e Sistemi Ubiqui - D. Talia - UNICAL 1 Sistemi Operativi per Ubiquitous Computing Palm OS SymbianOS

Dettagli

Laboratorio di Elaborazione e Trasmissione Video

Laboratorio di Elaborazione e Trasmissione Video + Laboratorio di Elaborazione e Trasmissione Video Prof. Christian Micheloni Dott. Marco Vernier Dipartimento di Matematica e Informatica Università degli studi di Udine Cosa abbiamo visto Nella 1 lezione:

Dettagli

Sviluppo di una applicazione su piattafotma Android con il supporto di un DBMS orientato ad oggetti

Sviluppo di una applicazione su piattafotma Android con il supporto di un DBMS orientato ad oggetti Università degli Studi dell Aquila Facoltà di Ingegneria Tesi di Laurea in Ingegneria Informatica e Automatica Sviluppo di una applicazione su piattafotma Android con il supporto di un DBMS orientato ad

Dettagli

Programmazione Fondi Strutturali 2007/2013 P.O.N. FSE A.S. 2013/2014 SCHEDA PROGETTUALE MODULO. Obiettivo: C Azione: 1 Riferimento interno:

Programmazione Fondi Strutturali 2007/2013 P.O.N. FSE A.S. 2013/2014 SCHEDA PROGETTUALE MODULO. Obiettivo: C Azione: 1 Riferimento interno: ISTITUTO ISTRUZIONE SECONDARIA SUPERIORE GUGLIELMO MARCONI Piazza Poerio 2, 70126 Bari - Tel.080-5534450 Fax.080-5559037 - www.marconibari.it - info@marconibari.it Programmazione Fondi Strutturali 2007/2013

Dettagli

14/10/2015 ALESSANDRAZULLO SVILUPPO DI APPLICAZIONI ANDROID- VERSIONE 1. http://alessandrazullo.altervista.org Alessandra Zullo

14/10/2015 ALESSANDRAZULLO SVILUPPO DI APPLICAZIONI ANDROID- VERSIONE 1. http://alessandrazullo.altervista.org Alessandra Zullo 14/10/2015 ALESSANDRAZULLO SVILUPPO DI APPLICAZIONI ANDROID- VERSIONE 1 http://alessandrazullo.altervista.org Alessandra Zullo Indice Provvisorio INTRODUZIONE... 3 COMPONENTI PRINCIPALI... 3 PROCESSI...

Dettagli

Android. Elenco dei package

Android. Elenco dei package Android Elenco dei package Introduzione In questa lezione vedremo l'elenco completo dei package Android che raggruppano le classi che è possibile utilizzare per sviluppare una applicazione utilizzando

Dettagli

CFU ATTIVITÀ FORMATIV A. ORE DI STUDIO INDIVIDUALE, DI GRUPPO, TIROCINIO CORE 12 corsi 18 CFU 108 342 TOOLS 4 corsi 14 CFU 84 266

CFU ATTIVITÀ FORMATIV A. ORE DI STUDIO INDIVIDUALE, DI GRUPPO, TIROCINIO CORE 12 corsi 18 CFU 108 342 TOOLS 4 corsi 14 CFU 84 266 3.2 STRUTTURA DEL CORSO MODULO NUMERO DI CORSI CFU ATTIVITÀ FORMATIV A ORE DIDATTICA FRONTALE ORE DI STUDIO INDIVIDUALE, DI GRUPPO, TIROCINIO CORE 12 corsi 18 CFU 108 342 TOOLS 4 corsi 14 CFU 84 266 Mobile

Dettagli

Lezione 3 Le attività

Lezione 3 Le attività A cura di Carlo Pelliccia Le applicazioni Android, come si è accennato durante la prima lezione, si compongono di quattro mattoni fondamentali: le attività (activity), i servizi (service), i broadcast

Dettagli

STRUTTURA DEL PERCORSO DIDATTICO

STRUTTURA DEL PERCORSO DIDATTICO STRUTTURA DEL PERCORSO DIDATTICO MODULO NUMERO DI CORSI CFU ATTIVITÀ FORMATIVA ORE DIDATTICA FRONTALE ORE DI STUDIO INDIVIDUALE, DI GRUPPO, TIROCINIO CORE 12 corsi 18 CFU 108 342 TOOLS 4 corsi 14 CFU 84

Dettagli

La piattaforma Android

La piattaforma Android Sistemi Embededd a.a. 2013/2014 La piattaforma Android Raffaele Di Natale raffaele.dinatale@dieei.unict.it rdinatale@dieei.unict.it Bibliografia Web sites http://developer.android.com/ E-books http://it-ebooks.info/book/659/

Dettagli

Realizzazione di una semplice applicazione HelloWorld con una introduzione delle API di base del SDK Android.

Realizzazione di una semplice applicazione HelloWorld con una introduzione delle API di base del SDK Android. HelloWorld App Realizzazione di una semplice applicazione HelloWorld con una introduzione delle API di base del SDK Android. Introduzione Programmiamo una applicazione di base Android, prendendo confidenza

Dettagli

Componenti di Sistemi Operativi. System Call Programmi di sistema Componenti di un SO Servizi di SO

Componenti di Sistemi Operativi. System Call Programmi di sistema Componenti di un SO Servizi di SO Componenti di so 1 Componenti di Sistemi Operativi System Call Programmi di sistema Componenti di un SO Servizi di SO 2 System Call Le system call forniscono l'interfaccia tra running program e SO Generalmente

Dettagli

Corso di Laurea Magistrale in Ingegneria Informatica. Android. Ingegneria del Software 2 - Android 1

Corso di Laurea Magistrale in Ingegneria Informatica. Android. Ingegneria del Software 2 - Android 1 Corso di Laurea Magistrale in Ingegneria Informatica Android Ingegneria del Software 2 - Android 1 What is Android? (da developer.android.com) Android is a software stack for mobile devices that includes

Dettagli

Corso di Laurea Specialistica in Ingegneria delle Telecomunicazioni

Corso di Laurea Specialistica in Ingegneria delle Telecomunicazioni UNIVERSITÀ DEGLI STUDI DI CAGLIARI FACOLTÀ DI INGEGNERIA Corso di Laurea Specialistica in Ingegneria delle Telecomunicazioni ATTACCHI AVANZATI SU PIATTAFORMA ANDROID: STUDIO, SVILUPPO E IMPLEMENTAZIONE

Dettagli

Una tecnica ibrida manuale/sistematica per la generazione di casi di test per applicazioni Android

Una tecnica ibrida manuale/sistematica per la generazione di casi di test per applicazioni Android Scuola Politecnica e delle Scienze di Base Corso di Laurea Magistrale in Ingegneria Informatica Tesi di Laurea Magistrale in Ingegneria Informatica Una tecnica ibrida manuale/sistematica per la generazione

Dettagli

Android Porting on a Mobile Device

Android Porting on a Mobile Device Android Porting on a Mobile Device git commit --author Michael Trimarchi Simboli Parte abbordabile Parte che presenta alcune difficoltà Parte estremamente difficile Che cos'è

Dettagli

Modello di sicurezza di Android

Modello di sicurezza di Android Capitolo 1 Modello di sicurezza di Android In questo capitolo vengono presentati in breve l architettura di Android, il meccanismo di comunicazione tra processi (IPC, Inter-Process Communication) e i componenti

Dettagli

Strumenti per il testing di applicazioni in ambiente Android

Strumenti per il testing di applicazioni in ambiente Android tesi di laurea Strumenti per il testing di applicazioni in ambiente Android Anno Accademico 2010\2011 relatore Ch.mo prof. Marcello Cinque candidato Nome Domenico Paone Matr. 534\003571 Android Testing

Dettagli

Video Streaming. dal player standard Android verso device non convenzionali. GDG Fest Roma 2014 Matteo Bonifazi & Alessandro Martellucci

Video Streaming. dal player standard Android verso device non convenzionali. GDG Fest Roma 2014 Matteo Bonifazi & Alessandro Martellucci Video Streaming dal player standard Android verso device non convenzionali Chi siamo? +MatteoBonifazi m.bonifazi[at]reply.it @mbonifazi +AlessandroMartelluc ci a.martellucci[at]reply.i t @martellux http://www.reply.e

Dettagli

UNIVERSITÀ DEGLI STUDI

UNIVERSITÀ DEGLI STUDI UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea in Informatica etour: Progetto e Sviluppo di una guida interattiva per dispositivi mobili

Dettagli

Lezione 1 Primi passi con Android

Lezione 1 Primi passi con Android A cura di Carlo Pelliccia Lezione 1 Primi passi con Android Meno di tre anni fa Google ha rilasciato una versione preliminare del kit di sviluppo di Android, il suo nuovo sistema operativo dedicato agli

Dettagli

2 Android Market e la commercializzazione delle applicazioni 35

2 Android Market e la commercializzazione delle applicazioni 35 Prefazione Prima di iniziare xiv xxii 1 Introduzione ad Android 31 1.1 Introduzione 32 1.2 Panoramica di Android 34 1.3 Android 2.2 (Froyo) 37 1.4 Android 2.3 (Gingerbread) 40 1.5 Android 3.0 (Honeycomb)

Dettagli

Introduzione ad Android

Introduzione ad Android Capitolo 1 Introduzione ad Android La fine del precedente millennio è stata sicuramente caratterizzata da Internet: una vera e propria rivoluzione non solo tecnologica, ma soprattutto culturale. Il fatto

Dettagli

Android. Memorizzazione di dati

Android. Memorizzazione di dati Android Memorizzazione di dati Introduzione In questa lezione vedremo quali sono i metodi principali messi a disposizione da una applicazione Android per memorizzare dei dati in maniera permanente e successivamente

Dettagli

STUDIO E SVILUPPO DI UN APPLICAZIONE DI SICUREZZA PERSONALE IN AMBIENTE ANDROID

STUDIO E SVILUPPO DI UN APPLICAZIONE DI SICUREZZA PERSONALE IN AMBIENTE ANDROID POLITECNICO DI MILANO FACOLTA DI INGEGNERIA CORSO DI LAUREA IN INGEGNERIA INFORMATICA STUDIO E SVILUPPO DI UN APPLICAZIONE DI SICUREZZA PERSONALE IN AMBIENTE ANDROID Relatore: Prof. Capone ANTONIO Correlatore:

Dettagli

PORTING DI APPLICAZIONI MOBILE DI TIPO MISSION CRITICAL DA JAVA ME A GOOGLE ANDROID

PORTING DI APPLICAZIONI MOBILE DI TIPO MISSION CRITICAL DA JAVA ME A GOOGLE ANDROID Università degli studi di Padova Dipartimento di Ingegneria dell'informazione Corso di Laurea Magistrale in Ingegneria Informatica TESI DI LAUREA PORTING DI APPLICAZIONI MOBILE DI TIPO MISSION CRITICAL

Dettagli

Corso Android New Edition Corso Online Programmatore Android New Edition

Corso Android New Edition Corso Online Programmatore Android New Edition Corso Android New Edition Corso Online Programmatore Android New Edition Accademia Domani Via Pietro Blaserna, 101-00146 ROMA (RM) info@accademiadomani.it Programma Generale del Corso di Programmatore

Dettagli

Sistemi Mobili e Wireless Android Localizzazione utente

Sistemi Mobili e Wireless Android Localizzazione utente Sistemi Mobili e Wireless Android Localizzazione utente Stefano Burigat Dipartimento di Matematica e Informatica Università di Udine www.dimi.uniud.it/burigat stefano.burigat@uniud.it Localizzazione utente

Dettagli

Android e Java per Android

Android e Java per Android Capitolo 1 Android e Java per Android Come accennato nell Introduzione, il primo capitolo è dedicato alla preparazione di tutto ciò che ci serve per sviluppare la nostra applicazione, che illustreremo

Dettagli

Un Sistema Location-based per la mappatura degli Access Point

Un Sistema Location-based per la mappatura degli Access Point 1 Un Sistema Location-based per la mappatura degli Access Point Pasquale Cautela pasquale.cautela@studio.unibo.it Marco Peca marco.peca@studio.unibo.it Rosario Salpietro rosario.salpietro@studio.unibo.it

Dettagli

Il.NET Framework. By Dario Maggiari. L architettura del.net Framework è riassunta, nel complesso, nella figura seguente:

Il.NET Framework. By Dario Maggiari. L architettura del.net Framework è riassunta, nel complesso, nella figura seguente: Il.NET Framework By Dario Maggiari L architettura del.net Framework è riassunta, nel complesso, nella figura seguente: Il cuore del.net Framework è costituito dal CLR (Common Language Runtime) che, secondo

Dettagli

Indice generale. Prefazione...xiii. Introduzione...xv

Indice generale. Prefazione...xiii. Introduzione...xv Prefazione...xiii Introduzione...xv Destinatari del libro...xvi Prerequisiti...xvi Versioni di Android...xvii Organizzazione del libro...xvii Convenzioni...xviii Ringraziamenti...xix L autore...xix Il

Dettagli

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Sistema operativo Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Architettura a strati di un calcolatore

Dettagli

Corso Programmazione Java ed Android

Corso Programmazione Java ed Android Corso Programmazione Java ed Android Codice: ITAJ0114 Durata: 72 ore Descrizione corso Il corso Programmazione Java ed Android è rivolto agli amanti del mobile che intendono entrare in questo affascinante

Dettagli

MagiCum S.r.l. Progetto Inno-School

MagiCum S.r.l. Progetto Inno-School MagiCum S.r.l. Progetto Inno-School Area applicazioni Autore: Alessio Salandi Revisione: 1.0 Data: 23/05/2013 Titolo: Documentazione tecnica - Grafica Diario File:Documentazione.pdf Sito: http://inno-school.netsons.org/

Dettagli

Progetto e sviluppo di un applicazione client-server per la raccolta dati su fallimenti in ambiente Android

Progetto e sviluppo di un applicazione client-server per la raccolta dati su fallimenti in ambiente Android Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica Elaborato finale in Sistemi operativi Progetto e sviluppo di un applicazione client-server per la raccolta dati su fallimenti in Anno Accademico

Dettagli

:;<47==<=7>?;*@7*!?*A;:B7?<4;* 37A>C>?73>*.70*.!*07:B<* 7@

:;<47==<=7>?;*@7*!?*A;:B7?<4;* <!@7>37A>C>?73>*.70*.!*07<AA<C>:B<* <?@:>7@ !"#$%&'#()*+%,-#*.(/+#*+#*01+2$1 32&'2*+#*41/&%1*.5%6#1-#'(#61*#"*7",%,"%*7"82&91(#61 :;?73>*.70*.!*07

Dettagli

Capitolo 2 -- Silberschatz

Capitolo 2 -- Silberschatz Struttura dei Sistemi Operativi Capitolo 2 -- Silberschatz Struttura di un sistema operativo Servizi di un sistema operativo Interfaccia Utente Chiamate di sistema Tipi di chiamate Programma di sistema

Dettagli

La genealogia di Windows. Windows NT e Windows 95/98. Dimensioni del codice. Parte IX. Windows

La genealogia di Windows. Windows NT e Windows 95/98. Dimensioni del codice. Parte IX. Windows La genealogia di Windows Parte IX Windows Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 IX - 1 DOS: sistema operativo monoutente Windows 3.1 interfaccia a finestre che gira su DOS Windows 95/98

Dettagli

Parte IX. Windows. Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 IX - 1

Parte IX. Windows. Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 IX - 1 Parte IX Windows Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 IX - 1 La genealogia di Windows DOS: sistema operativo monoutente Windows 3.1 interfaccia a finestre che gira su DOS Windows 95/98

Dettagli

Android. Installare l'sdk

Android. Installare l'sdk Android Installare l'sdk Introduzione Per sviluppare una applicazione per Android è necessario scaricare l'sdk dal sito ufficiale. SDK sta per Software Development Kit e contiene una serie di tool ed un

Dettagli

Applicazioni Android Domotica NETBUS

Applicazioni Android Domotica NETBUS SPILLER MICHELE Applicazioni Android Domotica NETBUS Versione 1.1.0 2 SOMMARIO PREFAZIONE... 9 PREREQUISITI... 9 PRESENTAZIONE PERCHE ANDROID... 10 LE VERSIONI... 11 LEZIONE 1 INTRODUZIONE E CONFIGURAZIONE

Dettagli

Struttura di un sistema operativo. Struttura dei Sistemi Operativi. Servizi per l utente generico. Servizi per l utente generico

Struttura di un sistema operativo. Struttura dei Sistemi Operativi. Servizi per l utente generico. Servizi per l utente generico Impossibile visualizzare l'immagine. Struttura di un sistema operativo Struttura dei Sistemi Operativi Servizi di un sistema operativo Interfaccia Utente Capitolo 2 -- Silberschatz Chiamate di sistema

Dettagli

Lezione 3 Le attività

Lezione 3 Le attività A cura di Carlo Pelliccia Le applicazioni Android, come si è accennato durante la prima lezione, si compongono di quattro mattoni fondamentali: le attività (activity), i servizi (service), i broadcast

Dettagli

Programmazione. Android

Programmazione. Android Lezioni 4 e 5 Programmazione Android Componenti di un'applicazione AndroidManifest.xml Le Activity Definizione Ciclo di vita Layout & View Interazione Laboratorio 9 e 12 Ottobre 2012 2 Componenti di un'applicazione

Dettagli

Corso Programmazione Android

Corso Programmazione Android Corso Programmazione Android Codice: ITAM0114 Durata: 40 ore Descrizione corso Il corso Programmazione Android è rivolto agli amanti del mobile che intendono entrare in questo affascinante mondo, in continua

Dettagli

Prof. Pagani Corrado INGEGNERIA DEL SOFTWARE

Prof. Pagani Corrado INGEGNERIA DEL SOFTWARE Prof. Pagani Corrado INGEGNERIA DEL SOFTWARE INTRODUZIONE L ingegneria del software è la disciplina tecnologica e gestionalerelativa alla realizzazione sistematica e alla manutenzione di un software rispettando

Dettagli

Indice: Introduzione 1 Strumenti di lavoro 2 Istallare Eclipse e SDK 3 Istallare l ADT in eclipse 4. Powered by: Vincenzo Acinapura

Indice: Introduzione 1 Strumenti di lavoro 2 Istallare Eclipse e SDK 3 Istallare l ADT in eclipse 4. Powered by: Vincenzo Acinapura Indice: Introduzione 1 Strumenti di lavoro 2 Istallare Eclipse e SDK 3 Istallare l ADT in eclipse 4 Introduzione Salve a tuttiù Mi presento mi chiamo Vincenzo Acinapura e studio ingegneria informatica,

Dettagli

Come valutare e scegliere un Sistema Operativo Embedded

Come valutare e scegliere un Sistema Operativo Embedded Come valutare e scegliere un Sistema Operativo Embedded Valter Minute Adeneo Embedded vminute@adeneo-embedded.com ARM e sistemi operativi Milioni di dispositivi contengono processori ARM Per sfruttare

Dettagli

Android AppInventor. Argomenti trattati. Introduzione. AppInventor. etc. Google Android Android SDK, Android Market

Android AppInventor. Argomenti trattati. Introduzione. AppInventor. etc. Google Android Android SDK, Android Market Android v. 1.0.1 Argomenti trattati Android AppInventor Introduzione Google Android Android SDK, Android Market AppInventor Architettura Sviluppo di applicazioni etc Storia Introduzione Android Android

Dettagli

CUSTOMIZZAZIONE DI ANDROID

CUSTOMIZZAZIONE DI ANDROID ALMA MATER STUDORIUM UNIVERSITÀ DI BOLOGNA FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Informatica CUSTOMIZZAZIONE DI ANDROID Tesi di Laurea in Architettura degli Elaboratori

Dettagli

ALMA MATER STUDIORUM UNIVERSITÀ DI BOLOGNA

ALMA MATER STUDIORUM UNIVERSITÀ DI BOLOGNA ALMA MATER STUDIORUM UNIVERSITÀ DI BOLOGNA Seconda Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica SVILUPPO DI APPLICAZIONI MOBILE SU PIATTAFORMA ANDROID: ANALISI DEL MODELLO DI PROGRAMMAZIONE

Dettagli

Analisi dei meccanismi di basso livello per l IPC su piattaforma Android

Analisi dei meccanismi di basso livello per l IPC su piattaforma Android Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica Elaborato finale in Sistemi Operativi Analisi dei meccanismi di basso livello per l IPC su piattaforma Android Anno Accademico 2011/2012 Candidato:

Dettagli

Architettura di un sistema operativo

Architettura di un sistema operativo Architettura di un sistema operativo Struttura di un S.O. Sistemi monolitici Sistemi a struttura semplice Sistemi a livelli Virtual Machine Sistemi basati su kernel Sistemi con microkernel Sistemi con

Dettagli

Potenza Elaborativa, Sistemi Operativi e Virtualizzazione

Potenza Elaborativa, Sistemi Operativi e Virtualizzazione Potenza Elaborativa, Sistemi Operativi e Virtualizzazione Roma, Febbraio 2011 Operating Systems & Middleware Operations Potenza Elaborativa e Sistemi Operativi La virtualizzazione Operating Systems & Middleware

Dettagli