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

Dimensione: px
Iniziare la visualizzazioe della pagina:

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

Transcript

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

2 Agenda Introduzione Android Overview Ambiente di sviluppo Esempi Java Helloworld Weather (HTTP) Esercizio SOAP per Android Programmazione nativa Esempio Android C++ 2

3 Cos è Android? Stack software che include: Sistema operativo Middleware Applicazioni Android SDK Fornisce gli strumenti e le API per sviluppare applicazioni su terminali mobili Android utilizzando il linguaggio di programmazione Java 3

4 Android overview Sviluppato da Google Inc. Linguaggio di programmazione: C/C++ e Java Basato su Kernel Linux (monolithic kernel) Ultima versione stabile: 5.0 (Lollipop) Ultima versione delle API: 21 (API level) O.S. per embedded systems: smartphone, netbooks, tablet PC,etc. 4

5 Architettura Android 5

6 Application Calendar Agenda Maps Browser SMS program Etc. 6

7 Application framework (I) Insieme di componenti, API e servizi utili per lo sviluppo di nuove applicazioni. Stesse API usate per lo sviluppo delle core applications Si sfrutta il concetto del riuso dei componenti ogni applicazione può usare le potenzialità/caratteristiche di altre applicazioni 7

8 Application framework (II) Include i seguenti servizi: View Lists, grids, buttons, text boxes, web browser, etc. Content providers Permette alle applicazioni di accedere ai dati di altre applicazioni (e.g., Agenda) oppure di condividere i propri dati ad altre applicazioni. Resourse manager Accesso a risorse del tipo: file esterni (XML, PNG, JPEG) inclusi nell applicazione a build-time. Notification manager Per fornire alle applicazioni uno strumento di notifica Activity manager Gestisce il ciclo di vita di ogni applicazione 8

9 Libraries Insieme di librerie C/C++ usate dai vari componenti di Android Esportate allo sviluppatore attraverso Android application framework Alcuni esempi: System C library: implementazione della libc per embedded system SQLite: DB embedded Media libraries: gestione di componenti audio video etc. 9

10 Android runtime Include le librerie che forniscono le funzionalità principali di Java Collections, I/O, etc. Dalvik Virtual Machine Esegue file nel formato.dex (Dalvik Executable) Sfrutta la compilazione JIN (Just-in-Time) ART (android runtime) A partire da Android 4.3 Esegue file nel formato.dex (Dalvik Executable) Introduce la compilazione AOT (Ahead-of-Time) 10

11 11

12 Linux kernel Sfrutta Linux kernel 2.6 (kernel 3.10.x per Android 5.0) per i servizi principali come: Security, memory management, process management, network stack, driver model. Include l HW Abstraction Layer (HAL) 12

13 Monolithic kernel Kernel Android 13

14 Ambiente di sviluppo 1. Android standard Development Kit (SDK) Insieme di tool per sviluppare applicazioni Android 2. Eclipse IDE 3. Android Development Tools Plugin (ADT Plugin) Eclipse Plugin 4. Android Native Development Kit (NDK) 14

15 Ambiente di sviluppo Android SDK Contiene API, compilatore, debugger, emulatore (Android Virtual Device), etc. Android: creare nuovi progetti Android e creare/cancellare AVD Android Emulator: permette di caricare le applicazioni su una piattaforma Android emulata Log, Interrupt (SMS), etc. Android Debug Bridge: permette di interfacciarsi con l emulatore o il dispositivo fisico (installare applicazioni, inviare comandi, etc.) AVD Manager: aggiungere Android platform (e.g. 1.6, 2.3 etc.) 15

16 Android SDK emulator (i) Fornisce un dispositivo virtuale sul quale caricare le App Android Pulsanti di controllo e navigazione con i quali si possono generare eventi Utilizza le configurazioni Android Virtual Device (AVD) Definisce le caratteristiche HW dell emulatore 16

17 Android SDK emulator (ii) Caratteristiche HW supportate dall emulatore Una CPU ARMv5 e la corrispondente memory-management unit (MMU) 6-bit LCD display Una o più keyboards (Qwerty-based keyboard e Dpad/Phone buttons) Chip sound con funzionalità output e input Flash memory (emulata attraverso immagini di file su disco) Modem GSM, inclusa SIM Card simulata Camera, usando una webcam connessa al Pc di sviluppo Sensors come accelerometer 17

18 Ambiente di sviluppo Eclipse Eclipse 3.5 o superiore è raccomandato 18

19 Ambiente di sviluppo ADT Plugin Eclipse Plugin Necessario l Android SDK ADT (Android Development Tools) Permette di creare un progetto Android Aggiunge componenti basati su Android Framework API Debug applicazioni tramite Android SDK tools Crea l APK (Android Package) file per distribuire l applicazione Ultima versione: ADT

20 Ambiente di sviluppo - NDK Permette di scrivere applicazioni in codice nativo (C/C++) Migliora le prestazioni (non sempre vero) Fornisce header e librerie che permettono di gestire input dell utente (keyboard, touchscreen), sensori HW (accelerometri), accesso a risorse applicative, etc. Operazioni CPU-intensive che non allocano molta memoria Include una toolchain basata su GNU GCC

21 Ambiente di sviluppo No Eclipse Possibilità di creare un progetto Android senza Eclipse Strumenti necessari IDE (Emacs, nedit) Ant: compilare e costruire il progetto Android Android SDK: include il tool android per creare tutto il codice sorgente, directory, file ant per la compilazione Tools per creare la private key da assegnare a gli.apk file Esempio di creazione del progetto HelloAndroid android create project --package com.android.helloandroid --name <your_project_name> --activity HelloAndroid --target path <path-to-your-project>/helloandroid 21

22 22

23 Esempio: Helloworld (I) Creare il nuovo progetto: File -> New -> Project... Selezionare Android -> Android Project -> Next 23

24 Esempio: Helloworld (II) Riempire i campi: Project Name -> HelloAndroid Selezionare la piattaforma desiderata Application Name : HelloAndroid Package Name: org.edalab Create Activity: Hello Finish 24

25 Activity (I) E un singolo task di una applicazione Android Per esempio è la rappresentazione di una window dove l utente può inserire la sua UI oncreate(bundle): e' richiamato quando l'activity viene avviata per la prima volta 25

26 Activity ciclo di vita (II) 26

27 Esempio: Helloworld (III) Editare il file in src -> org.edalab -> Hello.java aggiungendo: // We want to view some very simple text, so we need a TextView TextView tv = new TextView(this); // Put some text to the newly created TextView tv.settext("laboratorio di SOA"); // Tell our App to display the textview this.setcontentview(tv); eliminare la riga: setcontentview(r.layout.main); 27

28 Esempio: Helloworld (IV) Esecuzione dell applicazione sull emulatore Selezionare Run -> Run Selezionare Android application 28

29 Model View Controller (MVC) (I) Definisce tre oggetti per implementare un applicazione Model, View, Controller Definisce l interazione (comunicazione) tra gli oggetti Benefici Riusabilità del codice, interfacce meglio definite, facilità di estensione dell applicazione 29

30 Model View Controller (MVC) (II) Model View Rappresenta i dati dell applicazione e definisce la logica di manipolazione dei dati (definisce i metodi di accesso) Nessuna esplicita connessione con View objects che presenta i dati (agevola la riusabilità del codice) Comunicazione: e.g., la modifica dei dati (ricevuti esternamente) notifica il Controller object che aggiorna il View object Presentazione dei dati del Model object dell applicazione (interazione con l utente) Comunicazione: e.g., inserimenti di dati in un Textfield passano attraverso il Controller object che aggiorna il Model object Controller Intermediario tra il Model object e il View object 30

31 MVC in Android Data XML Format Activity View Controller Model 31

32 Esempio: programmazione XML (I) Si possono aggiungere elementi grafici attraverso una modalità visuale (XML) Per esempio aggiunta di un Button Modifica del file res -> layout -> main.xml Modifica del file res -> layout -> string.xml 32

33 Esempio: programmazione XML (II) Modifica file main.xml Inserisci un pulsante sul layout attraverso il drag/drop dall insieme dei widget disponibili Editare main.xml cambiare in android:text="labsoa" Salvare i cambiamenti 33

34 Esempio: programmazione XML (III) Modifica del file.java setcontentview(r.layout.main); Button bnt = (Button)findViewById(R.id.Button01); bnt.setonclicklistener(new View.OnClickListener() { public void onclick(view view) { Toast.makeText(Hello.this,"Hello World",Toast.LENGTH_SHORT).show(); } }); 34

35 Esempio: HTTP connection (I) Interazione con le API HTTP Android per il recupero di informazioni legate alle previsioni metereologiche: Esempio di connessione HTTP GET: wser_interface/ndfdbrowserclientbyday.php?&lat=39.91&lon= &format=24+hourly&numdays=1 35

36 Esempio: HTTP connection (II) public class MainActivity extends Activity { TextView protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); Button bnt = (Button)findViewById(R.id.button1); txt = (TextView)findViewById(R.id.lblTextViewBig); StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); StrictMode.setThreadPolicy(policy); bnt.setonclicklistener(new View.OnClickListener() { public void onclick(view view) { connect(); }); } 36

37 Esempio: HTTP connection (III) private void connect() { try { HttpClient client = new DefaultHttpClient(); URI geturl = new URI("http://graphical.weather.gov/xml/sample_products/browser_interface/ndfdBrowserCli entbyday.php?&lat=39.91&lon= &format=24+hourly&numDays=1"); Toast.makeText(MainActivity.this,"HTTP GET Connection",Toast.LENGTH_SHORT).show(); Log.i("QUERY",getURL.toString()); } HttpGet get = new HttpGet(getURL); ResponseHandler<String> responsehandler = new BasicResponseHandler(); Log.i("Respond Handler","Step 1"); String responsebody = client.execute(get, responsehandler); Log.i("response from httpclient: \n ", responsebody); txt.settext(responsebody); } catch (Exception e) { e.printstacktrace(); Log.e("ERROR HELLO",e.toString()); } 37

38 Esempio: HTTP connection (IV) Aggiunta al manifest <uses-permission android:name="android.permissio n.internet" /> 38

39 Esempio: HTTP connection (V) Main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margintop="55dp" android:text="start" /> 39

40 Esempio: HTTP connection (VI) <ScrollView android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="..." /> </ScrollView> </LinearLayout> 40

41 Web Service SOAP (I) Protocollo per lo scambio di messaggi tra componenti SW Può operare su differenti protocolli di rete Standardizzato dal W3C per lavorare su HTTP Si basa sul metalinguaggio XML Segue la configurzione Header-Body Header: contiene le informazioni che riguardano la trasmissione Body: il contenuto informativo del messaggio SOAP Vantaggi Interoperabilità Utilizzo di standard come HTTP Astrazione

42 Web Service SOAP (II) WSDL

43 Esercizio 1: SOAP (I) Implementare un applicazione che usa il Web Service TopGoalScorers pgoalscorers Returns an array with the top N goal scorers and their current score. Pass 0 as TopN and you get them all. Utilizzo della libreria KSOAP2 43

44 Esercizio 1: SOAP (II) Aggiunta al manifest <uses-permission android:name="android.permission.internet" /> Aggiunta della libreria nella cartella libs dentro package explorer Aggiunta della libreria KSOAP2 al progetto Android 44

45 Esercizio 1: SOAP (III) public class MainActivity extends Activity { private static final String METHOD_NAME = "TopGoalScorers"; private static final String SOAP_ACTION = "http://footballpool.dataaccess.eu/data/topgoalscorers"; private static final String NAMESPACE = "http://footballpool.dataaccess.eu"; private static final String URL = "http://footballpool.dataaccess.eu/data/info.wso?wsdl"; TextView txt; protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); } Button bnt = (Button)findViewById(R.id.button1); txt = (TextView)findViewById(R.id.lblTextViewBig); StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); StrictMode.setThreadPolicy(policy); bnt.setonclicklistener(new View.OnClickListener() { public void onclick(view view) { connect(); } }); 45

46 Esercizio 1: SOAP (IV) private void connect() { try { //set up request SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); //variable name, value. I got the variable name, from the wsdl file! request.addproperty("itopn", "5"); //put all required data into a soap envelope SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); envelope.setoutputsoapobject(request); //prepare request } AndroidHttpTransport httptransport = new AndroidHttpTransport(URL); httptransport.debug = true; httptransport.call(soap_action, envelope); //send request SoapObject result=(soapobject)envelope.getresponse(); //get response //TextView tv = new TextView(this); txt.settext("result = "+result.getproperty(0).tostring()); } catch (Exception e) { e.printstacktrace(); Log.e("ERROR HELLO",e.toString()); Toast.makeText(MainActivity.this,"ERROR"+e.toString(),Toast.LENGTH_SHORT).show(); } 46

47 Programmazione nativa (I) Tool necessari: Android NDK Cygwin (se si lavora su Windows) Android SDK 47

48 Android NDK Le ultime versioni di NDK supportano I seguenti set di istruzioni ARM: ARMv5TE ARM-based Android devices ARMv7-A Verizon Droid o Google Nexus One X86, MIPS Il cambio di architettura si fa attraverso il file makefile (e.g., Android.mk) NDK fornisce headers per libc (the C library), libm (the Math library), OpenGL ES (3D graphics library), interfaccia JNI, etc. 48

49 Programmazione nativa (II) 49

50 NDK esempio (I) Creare la cartella Test_NDK in C:\ Crea un progetto Android Test_NDK (HelloWorld template) Crea il file NativeLib.java dentro /src/com.marakana/nativelib.java package com.marakana; public class NativeLib { } static { } /** System.loadLibrary("ndk_demo"); * Adds two integers, returning their sum */ public native int add( int v1, int v2 ); /** * Returns Hello World string */ public native String hello(); 50

51 NDK esempio (II) Crea la cartella <EclipseWorkspace>/Test_NDK/jni Entra nella cartella <EclipseWorkspace>/Test_NDK/bin/ Genera Header file USANDO cygwin javah -jni com.marakana.nativelib Muovi il file com_marakana_nativelib.h nella cartella <EclipseWorkspace>/Test_NDK/jni 51

52 NDK esempio (III) Entra nella cartella <EclipseWorkspace>/Test_NDK/jni Aggiungi il file ndk_demo.c 52

53 NDK esempio (IV) File ndk_demo.c #include "com_marakana_nativelib.h" JNIEXPORT jstring JNICALL Java_com_marakana_NativeLib_hello (JNIEnv * env, jobject obj) { return (*env)->newstringutf(env, "Hello World!"); } JNIEXPORT jint JNICALL Java_com_marakana_NativeLib_add (JNIEnv * env, jobject obj, jint value1, jint value2) { return (value1 + value2); } 53

54 NDK esempio (V) Entra nella cartella <EclipseWorkspace>/Test_NDK/jni Aggiungi il file Android.mk LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := ndk_demo LOCAL_SRC_FILES := ndk_demo.c include $(BUILD_SHARED_LIBRARY) Entra nella cartella <EclipseWorkspace>/Test_NDK/jni Esegui il comando ndk-build presente nella cartella NDK 54

55 NDK esempio (VI) Modifica l applicazione Android import com.marakana.nativelib; public class NDKDemo extends Activity { NativeLib public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); nativelib = new NativeLib(); String hellotext = nativelib.hello(); // Update the UI TextView outtext = (TextView) findviewbyid(r.id.textout); outtext.settext(hellotext); // Setup the UI Button buttoncalc = (Button) findviewbyid(r.id.buttoncalc); 55

56 NDK esempio (VII) Modifica l applicazione Android buttoncalc.setonclicklistener(new View.OnClickListener() { TextView result = (TextView) findviewbyid(r.id.result); EditText value1 = (EditText) findviewbyid(r.id.value1); EditText value2 = (EditText) findviewbyid(r.id.value2); public void onclick(view v) { int v1, v2, res = -1; v1 = Integer.parseInt(value1.getText().toString()); v2 = Integer.parseInt(value2.getText().toString()); } } } }); res = nativelib.add(v1, v2); result.settext(new Integer(res).toString()); 56

57 NDK esempio (VIII) Modifica il file main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="ndk Demo" android:textsize="22sp" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="output"></textview> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:hint="value 1"></EditText> 57

58 NDK esempio (IX) Modifica il file main.xml <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="+" android:textsize="36sp"></textview> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:hint="value 2"></EditText> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="="></button> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="result" android:textsize="36sp" </LinearLayout> 58

59 Programmazione nativa (example) NativeLib.java TestNDK_Activity.java libndk_demo.so Android.mk ndk_demo.c com_marakana_nativelib.h 59

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

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

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

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

Caratteristiche principali. la struttura open source (escluse alcune versioni intermedie) il suo basarsi su kernel Linux.

Caratteristiche principali. la struttura open source (escluse alcune versioni intermedie) il suo basarsi su kernel Linux. Android s.o. Androidè un sistema operativo per dispositivi mobili costituito da uno stack software che include: un sistema operativo di base, i middleware per le comunicazioni le applicazioni di base.

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

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

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

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

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

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

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

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

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

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

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

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

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

L ambiente di sviluppo Android Studio

L ambiente di sviluppo Android Studio L ambiente di sviluppo Android Studio Android Studio è un ambiente di sviluppo integrato (IDE, Integrated Development Environment) per la programmazione di app con Android. È un alternativa all utilizzo

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

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

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

Lezione 11 Accesso al file system

Lezione 11 Accesso al file system A cura di Carlo Pelliccia Qualunque applicazione Android può leggere e scrivere file dalla memoria interna del telefono o da una scheda esterna inserita nel dispositivo. I principi da osservare per compiere

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

Introduzione ecos. Agenda. Giovanni Perbellini

Introduzione ecos. Agenda. Giovanni Perbellini Introduzione ecos Giovanni Perbellini Agenda Introduzione ecos Toolchain Download codice sorgente Binutils GCC/G++ Newlib GDB/Insight Compilazione toolchain Selezione Target Compilazione ecos Configtool

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

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

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

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

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

Applicazione con due attività

Applicazione con due attività T Applicazione con due attività Tutorial per Eclipse P. Gallo M.L. Pietramala Java Blocco tematico E Le apps e ANDROID Unità E2 Eventi Prerequisiti Obiettivi Unità E2 Eventi al termine dell esercitazione,

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

Lezione 5 Widget e Layout (XML)

Lezione 5 Widget e Layout (XML) A cura di Carlo Pelliccia Con la precedente lezione abbiamo imparato a disporre sullo schermo i principali widget messi a disposizione da Android: bottoni, caselle di testo, check box e via discorrendo.

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

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. 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

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

Prova Finale a.a. 2011/2012. Laboratorio 1: Introduzione a Java e Eclipse

Prova Finale a.a. 2011/2012. Laboratorio 1: Introduzione a Java e Eclipse Prova Finale a.a. 2011/2012 Laboratorio 1: Introduzione a Java e Eclipse 1 Java 6 Standard Edition Linguaggio Java (... (javac, Tool di sviluppo Librerie per l'interfaccia grafica Librerie di base Macchina

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

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

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

ez publish, un CMS Open Source di classe Enterprise Introduzione di base all estensibilità del sistema

ez publish, un CMS Open Source di classe Enterprise Introduzione di base all estensibilità del sistema ez publish, un CMS Open Source di classe Enterprise Introduzione di base all estensibilità del sistema Pag. 1 a cura di Francesco Trucchia un phpbreakfast offerto dal GrUSP

Dettagli

Piattaforme Software Distribuite. Roberto Beraldi

Piattaforme Software Distribuite. Roberto Beraldi Piattaforme Software Distribuite Roberto Beraldi Programma Applicazioni oggi Cloud computing Python Javascript Php Mobile app(cenni) Esame Progetto individuale Scritto Introduzione Ecosistema applicazioni

Dettagli

Josef Vitanostra INFORMATICA PARTHENOPE

Josef Vitanostra INFORMATICA PARTHENOPE Josef Vitanostra INFORMATICA PARTHENOPE Introduzione Java Native Interface o brevemente JNI è un framework di programmazione che ha lo scopo di permettere ad applicazioni Java di interfacciarsi con funzioni

Dettagli

Mobile Programming. Prova scritta del 28/01/2015. Prof. De Prisco. Corso di laurea in Informatica

Mobile Programming. Prova scritta del 28/01/2015. Prof. De Prisco. Corso di laurea in Informatica Corso di laurea in Informatica Mobile Prof. De Prisco Prova scritta del 28/01/2015 NOME: COGNOME: MATRICOLA: Domande Punti 1 /100 2 /100 3 /100 4 /100 5 /100 6 /100 7 /100 8 /100 9 /100 10 /100 TOTALE

Dettagli

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011 Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Installazione SOFTWARE JDK ECLIPSE 03/03/2011 2 ALGORITMI E PROGRAMMI PROBLEMA ALGORITMO PROGRAMMA metodo risolutivo linguaggio di

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

J2ME Platform. Symbian OS. Nokia property platform: Series 60. Microsoft Windows CE.NET Microsoft Windows Mobile Mobile client-server communication

J2ME Platform. Symbian OS. Nokia property platform: Series 60. Microsoft Windows CE.NET Microsoft Windows Mobile Mobile client-server communication Dott. Giovanni Perbellini giovanni.perbellini@univr.it J2ME Platform J2ME Wireless Toolkit (WTK 2.2) Symbian OS Symbian SDK Nokia property platform: Series 60 Nokia Developer s Suite SDK Microsoft Windows

Dettagli

Java. Traditional portability (ideal)

Java. Traditional portability (ideal) 1 Java JAVA: una introduzione 2 Traditional portability (ideal) C-code (Linux) (Pentium) Executable (Linux) Executable (Win32) Linux Windows 32 (Mac) Executable (Mac) Mac 1 1 3 Portability of Java programs

Dettagli

Esercizi lezione 7. Esercizio A Progettate un'applicazione Android che consenta di fare una telefonata. Pag. 1/9

Esercizi lezione 7. Esercizio A Progettate un'applicazione Android che consenta di fare una telefonata. Pag. 1/9 Pag. 1/9 Esercizi lezione 7 Esercizio A Progettate un'applicazione Android che consenta di fare una telefonata. Suggerimenti: si può usare un intent e il metodo startactivity(), seguendo il frammento di

Dettagli

Lezione 6 Gestione degli eventi dei widget

Lezione 6 Gestione degli eventi dei widget A cura di Carlo Pelliccia Nelle due precedenti lezioni abbiamo conosciuto i principali widget di Android e le tecniche utili per richiamarli e disporli nel display dello smartphone. In questa lezione impareremo

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

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

Sviluppare Applicazioni per Android

Sviluppare Applicazioni per Android Sviluppare Applicazioni per Android ArrayAdapter ndroid disegna i componenti di una schermata attraverso oggetti della classe View, raccolti all'interno di oggetti ViewGroup (che possono raccogliere, a

Dettagli

Telematica II 5. Esercitazione/Laboratorio 1

Telematica II 5. Esercitazione/Laboratorio 1 IDE Ambiente di sviluppo IDE - Integrated Development Environment Telematica II 5. Esercitazione/Laboratorio 1 e un Ambiente di Sviluppo Integrato che consente di creare in modo semplice progetti composti

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

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

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

La prima applicazione Java con NetBeans IDE. Dott. Ing. M. Banci, PhD

La prima applicazione Java con NetBeans IDE. Dott. Ing. M. Banci, PhD La prima applicazione Java con NetBeans IDE Dott. Ing. M. Banci, PhD Creare la prima applicazione 1. Creare un progetto: Quando si crea un progetto IDE occorre creare un ambiente nel quale costruire e

Dettagli

Programmazione Java Avanzata Concetti su Java

Programmazione Java Avanzata Concetti su Java Programmazione Java Avanzata Concetti su Java Ing. Giuseppe D'Aquì Testi di Riferimento Java ( R. Liguori, P. Liguori), O'Reilly Hops Tecniche Nuove (2008) Java Virtual Machine Il codice scritto in Java

Dettagli

Quando si sa chiaramente come si deve comportare l applicazione si può analizzare una possibile soluzione applicativa.

Quando si sa chiaramente come si deve comportare l applicazione si può analizzare una possibile soluzione applicativa. Introduzione alla tecnologia JMX 1 Viene analizzata l architettura sottostante le Java Managment Extensions (JMX) mostrandone un utilizzo applicativo e analizzando altri possibili scenari d uso di Ivan

Dettagli

Cosa consente di fare Gea.Net App

Cosa consente di fare Gea.Net App Cosa consente di fare Gea.Net App Gea.Net App per Android e una piccola app che gira su device con sistema operativo Android condividendo i dati del gestionale Gea.Net. Questa versione permette di disporre

Dettagli

Installazione Qt/Qt Quick per target Android

Installazione Qt/Qt Quick per target Android Tutorial Qt-Italia.org Installazione Qt/Qt Quick per target Android Prima edizione, Giugno 2015 P. S e r e n o ( h t t p : / / w w w. q t - i t a l i a. o r g ) P a g. 1 19 Questo tutorial è rilasciato

Dettagli

Linguaggio Java. Robusto. Orientato agli oggetti. Protegge e gestisce dagli errori. Non permette costrutti pericolosi

Linguaggio Java. Robusto. Orientato agli oggetti. Protegge e gestisce dagli errori. Non permette costrutti pericolosi Linguaggio Java Robusto Non permette costrutti pericolosi Eredità Multipla Gestione della Memoria Orientato agli oggetti Ogni cosa ha un tipo Ogni tipo è un oggetto (quasi) Protegge e gestisce dagli errori

Dettagli

Android. Location, Maps, Servizi di Sistema

Android. Location, Maps, Servizi di Sistema Android Location, Maps, Servizi di Sistema Introduzione In questa lezione ci occuperemo di analizzare due casi d'uso che fanno uso dei servizi di localizzazione e della Google Maps LocationManager Project

Dettagli

Lezione 13 Content Provider

Lezione 13 Content Provider A cura di Carlo Pelliccia Come si è visto nelle due lezioni precedenti, secondi i meccanismi di gestione della sicurezza di Android, sia i file che i database sono solitamente di esclusiva proprietà dell

Dettagli

Tale attività non è descritta in questa dispensa

Tale attività non è descritta in questa dispensa Fondamenti di informatica Oggetti e Java ottobre 2014 1 Nota preliminare L installazione e l uso di Eclipse richiede di aver preliminarmente installato Java SE SDK Tale attività non è descritta in questa

Dettagli

JDBC di base. Le classi/interfacce principali di JDBC

JDBC di base. Le classi/interfacce principali di JDBC JDBC di base Java Database Connectivity è il package Java per l accesso a database relazionali il package contiene interfacce e classi astratte completa indipendenza del codice dal tipo di database o di

Dettagli

Processamento audio e video

Processamento audio e video Ing. Simone SCARDAPANE Un seminario per Laboratorio per l Elaborazione Multimediale Anno Accademico 2012/2013 Parte 1 1. (Brevissima) Introduzione ad Android 2. Fondamenti di OOP 3. Programmare su Android

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

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

Eclipse. Avviare un progetto e compilare un semplice programma

Eclipse. Avviare un progetto e compilare un semplice programma Eclipse Avviare un progetto e compilare un semplice programma Descrizione di Eclipse Eclipse è un ambiente di sviluppo che facilita la scrittura ed il debug di programmi java Permette di: Scrivere il codice

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

JDBC: Introduzione. Java Database Connectivity (JDBC): parte 1. Schema dei legami tra le classi principali. Principali classi/interfacce di JDBC

JDBC: Introduzione. Java Database Connectivity (JDBC): parte 1. Schema dei legami tra le classi principali. Principali classi/interfacce di JDBC JDBC: Introduzione Java Database Connectivity (JDBC): parte 1 Gianluca Moro DEIS - Università di Bologna gmoro@deis.unibo.it Java Database Connectivity è il package Java per l accesso a database relazionali

Dettagli

JDBC versione base. Le classi/interfacce principali di JDBC

JDBC versione base. Le classi/interfacce principali di JDBC JDBC versione base Java Database Connectivity è il package Java per l accesso a database relazionali il package contiene interfacce e classi astratte uno dei pregi è la completa indipendenza del codice

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

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

Sviluppo di un applicazione Android per il controllo remoto di robot

Sviluppo di un applicazione Android per il controllo remoto di robot UNIVERSITÀ DI BRESCIA FACOLTÀ DI INGEGNERIA Dipartimento di Ingegneria dell Informazione Laboratorio di Robotica Avanzata Advanced Robotics Laboratory Corso di Robotica Mobile (Prof. Riccardo Cassinis)

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

MA GLI ANDROIDI SOGNANO PINGUINI ELETTRICI? Introduzione ad Android. Il futuro prossimo dei telefoni cellulari.

MA GLI ANDROIDI SOGNANO PINGUINI ELETTRICI? Introduzione ad Android. Il futuro prossimo dei telefoni cellulari. MA GLI ANDROIDI SOGNANO PINGUINI ELETTRICI? Introduzione ad Android. Il futuro prossimo dei telefoni cellulari. 8 aprile 2008 Case delle Culture di Ponziana via Orlandini 38 - Trieste Cos'è Android? Android

Dettagli

PROGETTO LAUREE SCIENTIFICHE

PROGETTO LAUREE SCIENTIFICHE 1 PROGETTO LAUREE SCIENTIFICHE Write once, write everywhere è il motto dei progettisti del linguaggio java. Infatti questo linguaggio è il risultato dell esigenza di programmare per quello che si può chiamare

Dettagli

drag & drop visual programming appinventor storia appinventor un esempio di drag & drop programming: Scratch

drag & drop visual programming appinventor storia appinventor un esempio di drag & drop programming: Scratch drag & drop visual programming appinventor realizzazione app per Google Android OS appinventor è un applicazione drag & drop visual programming Contrariamente ai linguaggi tradizionali (text-based programming

Dettagli

Lezione 8 Notifiche e finestre di dialogo

Lezione 8 Notifiche e finestre di dialogo A cura di Carlo Pelliccia Andiamo ad aggiungere un ulteriore tassello nel quadro dell interazione fra un attività Android e l utente che ne fa uso. Nelle lezioni precedenti abbiamo già appreso numerose

Dettagli

Ambienti di Sviluppo

Ambienti di Sviluppo Ambienti di Sviluppo Insieme omogeneo di strumenti adatti allo sviluppo di progetti software. Editor; Compilatori e/o interpreti; Strumenti di test; Applicazioni che permettono di editare / disegnare il

Dettagli

Architettura di un sistema operativo

Architettura di un sistema operativo Architettura di un sistema operativo Dipartimento di Informatica Università di Verona, Italy Struttura di un S.O. Sistemi monolitici Sistemi a struttura semplice Sistemi a livelli Virtual Machine Sistemi

Dettagli

RESTful Web Service. Andrea Pinazzi. 10 Maggio 2010

RESTful Web Service. Andrea Pinazzi. 10 Maggio 2010 RESTful Web Service Andrea Pinazzi 10 Maggio 2010 Che cos è REST? REST, Representational State Transfer, è uno stile architetturale per sistemi software distribuiti. Il termine è stato introdotto e definito

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

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

Corso Base. Lezione 6. Maurizio Cozzetto, Francesco Sarasini

Corso Base. Lezione 6. Maurizio Cozzetto, Francesco Sarasini Corso Base Lezione 6 Maurizio Cozzetto, Francesco Sarasini Database SQLite (1/2) Android provides full support for SQLite databases. Any databases you create will be accessible by name to any class in

Dettagli

Utilizzare il NetBeans GUI Builder. Dott. Ing. M. Banci, PhD

Utilizzare il NetBeans GUI Builder. Dott. Ing. M. Banci, PhD Utilizzare il NetBeans GUI Builder Dott. Ing. M. Banci, PhD Lavorare con i Beans Queste slide ci guidano nel processo di creazione di un bean pattern nel progetto NetBeans 15 Giugno 2007 Esercitazione

Dettagli

Università degli Studi di Modena e Reggio Emilia. Paolo Piccinini WASCANA ECLIPSE MANUALE UTENTE

Università degli Studi di Modena e Reggio Emilia. Paolo Piccinini WASCANA ECLIPSE MANUALE UTENTE Università degli Studi di Modena e Reggio Emilia Paolo Piccinini WASCANA ECLIPSE MANUALE UTENTE Corso di Fondamenti di Informatica 2010-2011 Sommario Introduzione... 3 Installazione di Wascana Eclipse

Dettagli

Classificazione dei Web Services

Classificazione dei Web Services Web Services Programmazione in ambienti distribuiti Anno 2004-2005 Claudio Zunino Classificazione dei Web Services Interattiva il client è umano ed utilizza tipicamente un web browser Sviluppati usando

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

Web Service: Introduzione. Algoritmi e sistemi di elaborazione - Vittorio Maniezzo - Università di Bologna

Web Service: Introduzione. Algoritmi e sistemi di elaborazione - Vittorio Maniezzo - Università di Bologna Web Service: Introduzione 1 Contenuti Background.NET Framework ASP.NET Web Service Concetti e architetture Progettazione e sviluppo di Web Service Utilizzo di Web Service 2 Sezione 1: Introduzione Inquadramento

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

ecos for AT91SAM9G20 Introduction to ecos O.S. for Atmel AT91SAM9G20 and Vulcano G20

ecos for AT91SAM9G20 Introduction to ecos O.S. for Atmel AT91SAM9G20 and Vulcano G20 ecos for AT91SAM9G20 Introduction to ecos O.S. for Atmel AT91SAM9G20 and Vulcano G20 Agenda EDALab and Metodo2 overview Vulcano G20 + ecos O.S. Drivers Boot sequence Integrated Development Environment

Dettagli

ProgettAzione V anno Unità 3 - Architetture per applicazioni web Lezione: Esempio sviluppo applicazioni

ProgettAzione V anno Unità 3 - Architetture per applicazioni web Lezione: Esempio sviluppo applicazioni Unità 3 - Architetture per applicazioni web Lezione: Esempio sviluppo applicazioni Web service Hello world con Visual Studio 2012 Si tratta di un semplice esempio di web service, infatti come tutti I programmi

Dettagli

Android per sistemi embedded

Android per sistemi embedded Android per sistemi embedded Valter Minute valter@valterminute.com Vminute By PresenterMedia.com Agenda or Summary Layout A second line of text could go here 1 2 3 4 5 Cos è Android Parenti serpenti Android

Dettagli

Introduzione a API e game engine per la programmazione grafica

Introduzione a API e game engine per la programmazione grafica Introduzione a API e game engine per la programmazione grafica OpenGL e WebGL Davide Gadia Corso di Programmazione Grafica per il Tempo Reale Laurea Magistrale in Informatica per la Comunicazione a.a.

Dettagli

CREARE APP PER ANDROID

CREARE APP PER ANDROID CREARE APP PER ANDROID L'ambiente di lavoro per progettare applicazioni per Android TUTORIAL 1 - In questo capitolo vedremo tutti i passaggi per scaricare il software Android Developer Tools, necessario

Dettagli