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 Architettura SW Ambiente di sviluppo (Android Studio) Esempi Helloworld MVC programming 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: 6.0 (Marshmallow) Ultima versione delle API: 23 (API level) O.S. per embedded systems: smartphone, netbooks, tablet PC, smart watch, TV, etc. 4

5 Architettura Android Dalvik Virtual machine ART 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) eseguita durante l esecuzione ART (Android Runtime) A partire da Android 4.3/4.4 Esegue file nel formato.dex (Dalvik Executable) Introduce la compilazione AOT (Ahead-of-Time) eseguita durante l installazione 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. Android Studio Android Virtual Device (AVD) 3. Android Native Development Kit (NDK) 14

15 Android SDK Contiene API, compilatore, debugger, emulatore (Android Virtual Device), etc. SDK Manager Aggiornamento pacchetti Platforms API Tools USB device 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 L emulatore traduce dinamicamente il codice macchina del dispositivo sul OS guest della macchina di sviluppo Utilizza le configurazioni Android Virtual Device (AVD) Definisce le caratteristiche HW dell emulatore (Display, RAM, etc.) 16

17 Android SDK emulator (ii) Caratteristiche HW supportate dall emulatore ARMv5, ARMv7, o CPU x86 16-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 Android SDK emulator (iii) Path SDK (elenco dei dispositivi installati) 18

19 Android Studio Basato su IntelliJ IDEA Sistema Gradle per la compilazione 19

20 Android Virtual Device Inserire un nuovo Virtual Device 20

21 Progetti command line Possibilità di creare un progetto Android senza Android Studio IDE Strumenti necessari IDE Android SDK: include il tool android per creare tutto il codice sorgente, directory, file per la compilazione Esempio di creazione del progetto HelloAndroid android create project --package com.android.helloandroid --name <your_project_name> --activity <my activity> --target <target id> --path <path-to-your-project>/firstapp 21

22 22

23 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 (per esempio quando l utente selezione l app dallo schermo) 23

24 Activity ciclo di vita (II) 24

25 Esempio: First App (I) Creare il nuovo progetto: File -> New -> New Project... 25

26 Esempio: First App (II) Selezione SDK 26

27 Esempio: First App (III) Impostare il nome dell Activity, Layout, etc 27

28 Esempio: First App (IV) Accedere al file contenente Activity Java 28

29 Esempio: First App (V) Editare il file MainActivity.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); Commentare la riga: setcontentview(r.layout.activitymain); 29

30 Esempio: run First App (VI) Esecuzione dell applicazione (emulatore o device fisico) Premere Run App Selezionare il dispositivo 30

31 Esempio: run First App (VII) Dispositivo fisico Plug-in USB Installa il device driver del tuo dispositivo Abilita USB-debugging sul tuo dispositivo Emulatore Selezione AVD 31

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

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

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

35 Esempio: programmazione XML (I) Aggiunta di elementi grafici attraverso la modalità visuale (XML) Modifica del file res -> layout -> activity_main.xml Modifica del file res -> values -> string.xml 35

36 Esempio: programmazione XML (II) Modifica file activity_main.xml Inserisci un pulsante sul layout attraverso il drag/drop dall insieme dei widget disponibili Editare activity_main.xml impostare android:text= Click me" Salvare i cambiamenti 36

37 Esempio: programmazione XML (III) 37

38 Esempio: programmazione XML (III) 38

39 Esempio: programmazione XML (IV) 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(MainActivity.this, /=\\ Message /=\\ World",Toast.LENGTH_SHORT).show(); } 39

40 Esempio: programmazione XML (V) 40

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

42 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(); } }); }} 42

43 Esempio: HTTP connection (III) private void connect() { try { InputStream is = null; int len = 1500; //HttpClient client = new DefaultHttpClient(); URL url = new URL(" serclientbyday.php?&lat=39.91&lon= &format=24+hourly&numdays=1"); Toast.makeText(MainActivity.this,"HTTP GET Connection",Toast.LENGTH_SHORT).show(); Log.i("QUERY", url.tostring()); //HttpGet get = new HttpGet(getURL); HttpURLConnection conn = (HttpURLConnection) url.openconnection(); conn.setreadtimeout(10000 /* milliseconds */); conn.setconnecttimeout(15000 /* milliseconds */); conn.setrequestmethod("get"); conn.setdoinput(true); 43

44 Esempio: HTTP connection (IV) // Starts the query conn.connect(); is = conn.getinputstream(); } // Convert the InputStream into a string String contentasstring = readit(is, len); txt.settext(contentasstring); } catch (Exception e) { e.printstacktrace(); Log.e("ERROR HELLO",e.toString()); } 44

45 Esempio: HTTP connection (V) Aggiunta al manifest <uses-permission android:name="android.permission.internet" /> <uses-permission android:name="android.permission.access_network_st ATE" /> 45

46 Esempio: HTTP connection (VI) Main.xml <LinearLayout xmlns: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" /> 46

47 Esempio: HTTP connection (VII) <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> 47

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

ProgettAzione tecnologie in movimento - V anno Unità 4 - Applicazioni per i sistemi mobili

ProgettAzione tecnologie in movimento - V anno Unità 4 - Applicazioni per i sistemi mobili ProgettAzione tecnologie in movimento - V anno Unità 4 - Applicazioni per i sistemi mobili Compito in classe proposto Partendo dall App appena realizzata sul volume di riferimento, modificarla affinché,

Dettagli

Corso di programmazione di sistemi mobile 1. Android. Architettura, ambiente di sviluppo e struttura di un progetto

Corso di programmazione di sistemi mobile 1. Android. Architettura, ambiente di sviluppo e struttura di un progetto Corso di programmazione di sistemi mobile 1 Android Architettura, ambiente di sviluppo e struttura di un progetto Corso di programmazione di sistemi mobile 2 Android e Java Android non esegue bytecode

Dettagli

L00_Introduction. E. Falzone ITIS Magistri Cumacini

L00_Introduction. E. Falzone ITIS Magistri Cumacini L00_Introduction 1 Chi sono? Emanuele Falzone Contatti: emanuele.falzone@mail.polimi.it @emanuele_falzone Telegram 2 Perchè siamo qui? 3 Cosa vedremo oggi? Breve storia di android Presentazione del corso

Dettagli

Fondamenti di sviluppo mobile su Android

Fondamenti di sviluppo mobile su Android Fondamenti di sviluppo mobile su Android Dott. Ing. A. Tedeschi antonio.tedeschi@uniroma3.it Corso di Telecomunicazioni Wireless a.a. 2016-2017 1 Chi sono Dott. Ing. Antonio Tedeschi Ph.D. Student Signal

Dettagli

Introduzione alla programmazione Android. Emanuel Di Nardo

Introduzione alla programmazione Android. Emanuel Di Nardo Introduzione alla programmazione Android 1 Emanuel Di Nardo emanuel.dinardo@gmail.com Architettura di base Insieme software composto da: Sistema operativo Middleware Applicazioni di base Utilizzo del linguaggio

Dettagli

Corso di programmazione di sistemi mobile 1. Android. Activity, View e Layout

Corso di programmazione di sistemi mobile 1. Android. Activity, View e Layout Corso di programmazione di sistemi mobile 1 Android Activity, View e Layout Corso di programmazione di sistemi mobile 2 Activity In qualsiasi programma è sicuramente richiesta un interfaccia grafica che

Dettagli

Android. Android01: Introduzione alle Activity.

Android. Android01: Introduzione alle Activity. Android Android01: Introduzione alle Activity diegozabot@yahoo.it Applicazioni Android (1) Una applicazione android è un insieme di task ognuno dei quali è detto Activity. Ogni Activity ha un unico scopo

Dettagli

Lezione 3 su Android: I button in Android

Lezione 3 su Android: I button in Android Lezione 3 su Android: I button in Android In questa terza lezione su Android, vedremo alcuni esempi sull utilizzo di uno dei componenti più importanti in un interfaccia grafica, ovvero i button. Attraverso

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

Android. Google Maps v2.

Android. Google Maps v2. Android Google Maps v2 diegozabot@yahoo.it Uso delle mappe Google v2 (1) Per poter utilizzare le mappe di Google v2 bisogna prima di tutto ottenere una API map key registrandosi sulla console delle api

Dettagli

Indice generale. Prefazione...xiii. Introduzione...xv. Android e Java per Android...1

Indice generale. Prefazione...xiii. Introduzione...xv. Android e Java per Android...1 Indice generale Prefazione...xiii Introduzione...xv Ringraziamenti...xviii Capitolo 1 Capitolo 2 Android e Java per Android...1 Cos è Android... 2 Architettura di Android... 2 La Dalvik Virtual Machine...

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

Programmazione Android. Luca Morettoni <luca@morettoni.net> 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. 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

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

Analisi e comparazione dei Framework OpenSwing e Google Web Toolkit per lo sviluppo di interfacce utente con paradigma MVC.

Analisi e comparazione dei Framework OpenSwing e Google Web Toolkit per lo sviluppo di interfacce utente con paradigma MVC. tesi di laurea Analisi e comparazione dei Framework OpenSwing e Google Web Toolkit. Anno Accademico 2009/2010 relatore Ch.mo prof. Porfirio Tramontana correlatore Ing. Luca Anniciello candidato Gianluca

Dettagli

SISTEMI OPERATIVI ANDROID

SISTEMI OPERATIVI ANDROID SISTEMI OPERATIVI ANDROID Argomenti» Introduzione al sistema Android» Generalità sull architettura del sistema» Architettura a livello Kernel» Architettura a livello applicazione» Gestione dei permessi

Dettagli

Esplorare e modificare il file system Compilare con gcc Lanciare un programma da linea di comando

Esplorare e modificare il file system Compilare con gcc Lanciare un programma da linea di comando Eclipse: Cos è? Utilizzare Eclipse: Creare un progetto Creare file sorgenti nel progetto Compilare Lanciare il programma Strumenti alternativi agli IDE La linea di comando su Linux Esplorare e modificare

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

SISTEMI OPERATIVI ANDROID. Argomenti

SISTEMI OPERATIVI ANDROID. Argomenti SISTEMI OPERATIVI ANDROID Argomenti» Introduzione al sistema Android» Generalità sull architettura del sistema» Architettura a livello Kernel» Architettura a livello applicazione» Gestione dei permessi

Dettagli

Corso di programmazione di sistemi mobile 1. Android Laboratorio. Activity, ListView e Adapter

Corso di programmazione di sistemi mobile 1. Android Laboratorio. Activity, ListView e Adapter Corso di programmazione di sistemi mobile 1 Android Laboratorio Activity, ListView e Adapter Corso di programmazione di sistemi mobile 2 Passaggio di dati tra activity Il passaggio di tra activity può

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

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

Corso di programmazione

Corso di programmazione Corso di programmazione per android 1 Introduzione (corso completo per imparare a programmare con il S.O. Google) Android è il sistema operativo per dispositivi mobili più diffuso al mondo. Si è imposto

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

Android Material. Toolbar, FAB buttons, Dailogs

Android Material. Toolbar, FAB buttons, Dailogs Android Material Toolbar, FAB buttons, Dailogs Material Desing Il Material Design è l insieme delle linee guida dettate da Google per l interfaccia del nuovo sistema operativo Android «L». Il material

Dettagli

Introduzione ad Android. Lucidi del corso di Programmazione III A.A. 2015/16

Introduzione ad Android. Lucidi del corso di Programmazione III A.A. 2015/16 Introduzione ad Android Lucidi del corso di Programmazione III A.A. 2015/16 Indice Cellulari e mobile computing Android Applicazioni e loro componenti Activity e loro ciclo di vita Presentazione del tool

Dettagli

Eclipse e SDK. Capiamo che sistema operativo abbiamo

Eclipse e SDK. Capiamo che sistema operativo abbiamo Eclipse e SDK Capiamo che sistema operativo abbiamo 1 2 Cliccare su impostazioni 3 Cliccare su Sistema 1 Cliccare 4 Cliccare su Informazioni su 2 Eclipse ECLIPSE: http://www.eclipse.org/ Esistono versioni

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

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

CORSO PROGRAMMAZIONE ANDROID

CORSO PROGRAMMAZIONE ANDROID I.I.S. G. COSSALI - ORZINUOVI CORSO PROGRAMMAZIONE ANDROID Febbraio Maggio 2017 Prof. Dario Tomasoni 1 CHI Dario Tomasoni; Docente di Informatica; 1984; Ing. Delle Telecomunicazioni; Altro, curiosità?

Dettagli

Esercitazione sul Sistema Android

Esercitazione sul Sistema Android Pattern Recognition and Applications Lab Esercitazione sul Sistema Android Davide Maiorca, Ph.D. davide.maiorca@diee.unica.it Corso di Sistemi Operativi A.A. 2016/2017 Dipartimento di Ingegneria Elettrica

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. Mobile Web Design. Corso di programmazione di sistemi mobile 1

ANDROID. Mobile Web Design. Corso di programmazione di sistemi mobile 1 ANDROID Mobile Web Design Corso di programmazione di sistemi mobile 1 Cos è Android Android è un sistema operativo per dispositivi mobili (mobile OS) sviluppato da Google Inc. e basato su kernel Linux.

Dettagli

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

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

Dettagli

Struttura dei Sistemi Operativi

Struttura dei Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1 Struttura dei Componenti Servizi di un sistema operativo System Call Programmi di sistema Struttura del sistema operativo Macchine virtuali Progettazione e Realizzazione

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

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

Corso Base. Lezione 5. Maurizio Cozzetto, Francesco Sarasini

Corso Base. Lezione 5. Maurizio Cozzetto, Francesco Sarasini Corso Base Lezione 5 Maurizio Cozzetto, Francesco Sarasini AdapterView An AdapterView is a view whose children are determined by an Adapter. ListView A viewgroup that creates a list of scrollable items

Dettagli

Ingegneria del Software 1: Eclipse

Ingegneria del Software 1: Eclipse Ingegneria del Software 1: Eclipse Da completare entro Marzo 15, 2016 S. Krstić and M. Scavuzzo and F. Marconi and A. Rizzi and C. Menghi 1 Contents 1 Introduzione 3 1.1 Java (JRE vs JDK)..........................................

Dettagli

Il sistema operativo Android

Il sistema operativo Android Il sistema operativo Android Introduzione ed Architettura Letture consigliate: Il sistema operativo Android http://www-ictserv.poliba.it/piscitelli/doc/lucidiso_eltlc_270/il%20sistema%20operativo%20android.pdf

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

Francesco V. Buccoli Microsoft Student Evangelist

Francesco V. Buccoli Microsoft Student Evangelist Francesco V. Buccoli Microsoft Student Evangelist f.buccoli@academicclub buccoli@academicclub.orgorg Academic Club Metodologie di virtualizzazione Desktop Virtualization Application Virtualization Server

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

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

2. Cenni di sistemi operativi

2. Cenni di sistemi operativi 2. Cenni di sistemi operativi Andrea Marongiu (andrea.marongiu@unimore.it) Paolo Valente Contiene slides dal corso «Sistemi Operativi» dei prof. Gherardi/Scandurra dell Università degli studi di Bergamo

Dettagli

Orchestra Control. Caso di Studio Scambiatore Pezzi SPI

Orchestra Control. Caso di Studio Scambiatore Pezzi SPI POLITECNICO DI MILANO V Facoltà di Ingegneria Orchestra Control Caso di Studio Scambiatore Pezzi SPI Sistemi ad Eventi Discreti A.A. 2010-2011 Sommario Orchestra Control Scambiatore pezzi Controllo Modulare

Dettagli

Prof. Pagani corrado APP PER SISTEMI MOBILE: ANDROID

Prof. Pagani corrado APP PER SISTEMI MOBILE: ANDROID Prof. Pagani corrado APP PER SISTEMI MOBILE: ANDROID INTRODUZIONE Per mobile si intendono: Smartphone Tablet Phablet e altri dispositivi assimilati Sistemi operativi più diffusi: Android (Google) ios (Apple)

Dettagli

Corso sul linguaggio Java

Corso sul linguaggio Java Corso sul linguaggio Java Modulo JAVA0 0 Linguaggio Java 1 Prerequisiti Utilizzo elementare di un pc Utilizzo di Internet per il downloading di file 2 1 Introduzione In questa lezione si descrivono gli

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

Buildroot. Making Embedded Linux Easy. Luca Ceresoli Linux Day 2018 BgLUG

Buildroot. Making Embedded Linux Easy. Luca Ceresoli   Linux Day 2018 BgLUG Buildroot Making Embedded Linux Easy Luca Ceresoli luca@lucaceresoli.net http://lucaceresoli.net Linux Day 2018 BgLUG Agenda Introduzione Buildroot Packages Conclusioni 1 Introduzione Che cosa è un sistema

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

Guida introduttiva su Eclipse. Ing. Marco Dell'Unto marco.dellunto@iet.unipi.it

Guida introduttiva su Eclipse. Ing. Marco Dell'Unto marco.dellunto@iet.unipi.it Guida introduttiva su Eclipse Ing. Marco Dell'Unto marco.dellunto@iet.unipi.it Introduzione Eclipse è un ambiente di sviluppo (IDE) multilinguaggio e multipiattaforma scritto in Java. E Open Source. Può

Dettagli

Elaborazione di documenti XML

Elaborazione di documenti XML Elaborazione di documenti XML Corso di Applicazioni Telematiche A.A. 2006-07 Lezione n.13 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria XML e i linguaggi di

Dettagli

Principi operativi dei computer. Capitolo 7 Fluency Conoscere e usare l informatica

Principi operativi dei computer. Capitolo 7 Fluency Conoscere e usare l informatica Principi operativi dei computer Capitolo 7 Fluency Conoscere e usare l informatica I soliti sospetti Processore Sistema operativo Software Istruzioni Ciclo macchina Memoria Hardware componente Com è fatto

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

Progetto e sviluppo di un applicazione Android per il controllo di reti di sensori senza filo

Progetto e sviluppo di un applicazione Android per il controllo di reti di sensori senza filo tesi di laurea Progetto e sviluppo di un applicazione Android per il controllo di reti di sensori senza filo 2011/2012 relatore Ch.mo prof. Marcello Cinque candidato Antonio Annunziata Matr. 534/00197

Dettagli

Fondamenti di Informatica T-1. Guida al LAB3 Introduzione a JDK e Eclipse

Fondamenti di Informatica T-1. Guida al LAB3 Introduzione a JDK e Eclipse Guida al LAB3 Introduzione a JDK e Eclipse 2 Laboratorio Pratica sui contenuti trattati a lezione. L esame prevede la scrittura di codice Java: esercitarsi in laboratorio e a casa è fortemente consigliato!

Dettagli

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

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

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

PROGRAMMAZIONE DIDATTICA DI DIPARTIMENTO A.S. 2017/2018

PROGRAMMAZIONE DIDATTICA DI DIPARTIMENTO A.S. 2017/2018 ISTITUTO ISTRUZIONE SUPERIORE EINAUDI - SCARPA TECNOLOGICO - ECONOMICO PROFESSIONALE Via J. Sansovino, 6-31044 MONTEBELLUNA (TV) 0423 23587 - Fax 0423 602717 web: www.iiseinaudiscarpa.gov.itemail: info@iiseinaudiscarpa.gov.it

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

NetBeans. Dott. Ing. Rossella Rubino A.A. 2007/2008 Laboratorio II CdL: Operatore Informatico Giuridico

NetBeans. Dott. Ing. Rossella Rubino A.A. 2007/2008 Laboratorio II CdL: Operatore Informatico Giuridico NetBeans Dott. Ing. Rossella Rubino rossella.rubino@unibo.it A.A. 2007/2008 Laboratorio II CdL: Operatore Informatico Giuridico Software necessario J2SE(TM) Development Kit (JDK) http://java.sun.com/javase/downloads/index.jsp

Dettagli

SOFTWARE MA GPS - FAGI

SOFTWARE MA GPS - FAGI SOFTWARE MA GPS - FAGI Versione 1.0.1 Le semplici operazioni preliminari sono rappresentate dall inserimento della chiavetta modem nella porta USB del proprio PC, nella individuazione della porta COM ad

Dettagli

RedbearLabs Nano Una delle più piccola board di sviluppo esistenti esistente Caratteristiche Piccolissimo: solo 18.5mm x 21.0mm supporta Bluetooth low energy: 2.4GHz ultra low-power wireless applications

Dettagli

Cosa è importante: pom.xml Goal Plug-in Repository

Cosa è importante: pom.xml Goal Plug-in Repository Cos è Maven? Maven è un software usato principalmente per la gestione di progetti Java e build automation, ma è utile anche per gestire documentazione, report, dipendenze... Cosa è importante: pom.xml

Dettagli

Università degli Studi di Padova

Università degli Studi di Padova Università degli Studi di Padova SCUOLA DI INGEGNERIA Corso di Laurea in INGEGNERIA DELL INFORMAZIONE Laboratorio di Fondamenti di Informatica A.A. 2017/2018 SOMMARIO 1) (Java Development Kit) Cos è Struttura

Dettagli

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

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

Dettagli

Avviare il sistema operativo Linux Debian su Macchina Virtuale (VM) Guida per VirtualBox & VMware

Avviare il sistema operativo Linux Debian su Macchina Virtuale (VM) Guida per VirtualBox & VMware Avviare il sistema operativo Linux Debian su Macchina Virtuale (VM) Guida per VirtualBox & VMware Istruzioni per VMware - 1 Cliccare su «Create a New Virtual Machine» Selezionare l installazione da immagine

Dettagli

SOFTWARE. Programmi e dati che indicano al computer come svolgere un determinato compito

SOFTWARE. Programmi e dati che indicano al computer come svolgere un determinato compito SOFTWARE MODULO 3 SOFTWARE Programmi e dati che indicano al computer come svolgere un determinato compito Programma: sequenza di istruzioni, scritte in un determinato linguaggio, con le quali si fa eseguire

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

Android. Project, Activity, Layout e Toast

Android. Project, Activity, Layout e Toast Android Project, Activity, Layout e Toast ANDROID PROJET Un progetto android è composto da diverse cartelle, ogni cartella può contenere uno o più file. Android_20150310 : cartella principale, contiene

Dettagli

PG5 Starter Training Applicazione File System Daniel Ernst EN02 2012-02-26 Stefano Peracchi IT01 2013-05-20

PG5 Starter Training Applicazione File System Daniel Ernst EN02 2012-02-26 Stefano Peracchi IT01 2013-05-20 PG5 Starter Training Applicazione File System Daniel Ernst EN02 2012-02-26 Stefano Peracchi IT01 2013-05-20 Introduzione Materiale richiesto Notebook o computer Controllore PCD1 E Cavo USB Scheda «Training»

Dettagli

Flutter: innovazione tecnologica per lo sviluppo multipiattaforma

Flutter: innovazione tecnologica per lo sviluppo multipiattaforma Flutter: innovazione tecnologica per lo sviluppo multipiattaforma Durante il seminario ci sarà una breve introduzione su Flutter e poi si passerà allo sviluppo di un applicazione. È consigliato configurare

Dettagli

Prof. Pagani corrado JAVA

Prof. Pagani corrado JAVA Prof. Pagani corrado JAVA NASCITA DI JAVA Java è stato creato, a partire da ricerche effettuate alla Stanford University agli inizi degli anni Novanta, da un gruppo di esperti sviluppatori capitanati da

Dettagli

ArcGIS for Windows Mobile

ArcGIS for Windows Mobile Il mondo da tutti i punti di vista. ArcGIS for Windows Mobile 10.1.1 ArcGIS for Windows Mobile, è un applicazione GIS pronta all uso per la raccolta dei dati, l ispezione e la mappatura sul campo. Include

Dettagli

Tecnologie di Sviluppo per il Web

Tecnologie di Sviluppo per il Web Tecnologie di Sviluppo per il Web Programmazione su Basi di Dati: JDBC Concetti Fondamentali versione 1.0 G. Mecca mecca@unibas.it Università della Basilicata JDBC >> Sommario Concetti Fondamentali Introduzione

Dettagli

Metodi e Tecniche per il Riuso di componenti in Applicazioni Android

Metodi e Tecniche per il Riuso di componenti in Applicazioni Android Metodi e Tecniche per il Riuso di componenti in Applicazioni Metodologie e strumenti per il reengineering del workflow management Tesi di laurea Metodi e Tecniche per il Riuso di componenti in Applicazioni

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

Fondamenti di Informatica T2 Modulo 2

Fondamenti di Informatica T2 Modulo 2 Università degli Studi di Bologna Facoltà di Ingegneria Fondamenti di Informatica T2 Modulo 2 Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009 Integrated Development Environment (IDE)

Dettagli

Installazione. Eclipse. Workspace. Primo Avvio. Fondamenti di Informatica T2 Modulo 2. Università di Bologna A.A. 2008/2009

Installazione. Eclipse. Workspace. Primo Avvio. Fondamenti di Informatica T2 Modulo 2. Università di Bologna A.A. 2008/2009 Università degli Studi di Bologna Facoltà di Ingegneria Fondamenti di Informatica T2 Modulo 2 Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009 Integrated Development Environment (IDE)

Dettagli

Guida all uso dell ambiente di sviluppo 1 integrato o IDE JCreator LE

Guida all uso dell ambiente di sviluppo 1 integrato o IDE JCreator LE Guida all uso dell ambiente di sviluppo 1 integrato o IDE JCreator LE Inizializzazione: creazione del nuovo progetto e del file sorgente in ambiente JCreator Al lancio del programma si apre la finestra

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica Corso di Laurea in Informatica e Tecnologie per la Produzione del Software (Track B) - A.A. 2017/2018 Laboratorio di Informatica Utilizzo di Eclipse CDT docente: Cataldo Musto cataldo.musto@uniba.it Programmare

Dettagli

3.3.6 Gli operatori Le funzioni di accesso al tipo Le strutture di controllo Le funzioni

3.3.6 Gli operatori Le funzioni di accesso al tipo Le strutture di controllo Le funzioni IIndice Capitolo 1 Da dove partiamo: pagine web statiche 1 1.1 Principi di base.............................. 1 1.1.1 Il paradigma client-server.................... 1 1.1.2 Ipertesto, multimedia, ipermedia................

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

Sviluppo di un applicazione di front-end per il monitoraggio di un Isola Ecologica

Sviluppo di un applicazione di front-end per il monitoraggio di un Isola Ecologica Sviluppo di un applicazione di front-end per il monitoraggio di un Isola Ecologica Candidato: Lorenzo D Eri Relatore: Prof. Sergio Carrato Correlatore: Ing. Vojko Croselli 2 dicembre 2015 Università degli

Dettagli

Università di Ferrara. Facoltà di Ingegneria. Esercitazioni di

Università di Ferrara. Facoltà di Ingegneria. Esercitazioni di Università di Ferrara Facoltà di Ingegneria Esercitazioni di Giuseppe Cota: Riccardo Zese: giuseppe.cota@unife.it riccardo.zese@unife.it 1 Orario delle lezioni Due turni da 3h00min in laboratorio, con

Dettagli

Analisi e sviluppo di un client per l accesso a dati su server remoto da dispositivi embedded

Analisi e sviluppo di un client per l accesso a dati su server remoto da dispositivi embedded tesi di laurea Analisi e sviluppo di un client per l accesso a dati su server remoto da dispositivi embedded Anno Accademico 2007-2008 relatore Ch.mo prof. Porfirio Tramontana correlatore Dott. Antonio

Dettagli

Esempio di architettura software

Esempio di architettura software Esempio di architettura software Corso di Principi di Progettazione del Software, a.a. 2012/13 29 novembre 2016 Ing. Roberto Vergallo 1 Esempio di architettura software View (GUI) Action Listener Business

Dettagli

Ambienti di Sviluppo. Linguaggi compilati

Ambienti di Sviluppo. Linguaggi compilati Insieme omogeneo di strumenti adatti allo sviluppo di progetti software. Compilatori e/o interpreti; Editor; Ambienti di Sviluppo Strumenti di debug e/o test; 1 Linguaggi compilati Codice sorgente convertito

Dettagli

Mobile apps. Android - I

Mobile apps. Android - I Mobile apps Cloud Computing SaaS enables Ubiquitous Computing servizi e dati nella nuvola accessibili in modalità ubiquitous (anywhere and anytime) NB L'accesso da device mobile ha caratteristiche diverse

Dettagli

MOBILE WEB DESIGN TUTORIAL ANDROID METAIO AUGMENTED REALITY

MOBILE WEB DESIGN TUTORIAL ANDROID METAIO AUGMENTED REALITY MOBILE WEB DESIGN TUTORIAL ANDROID METAIO AUGMENTED REALITY 1 Sommario 1. INTRODUZIONE... 3 2. GET METAIO... 4 2.1. PREREQUISITI... 4 2.2. INTALLAZIONE... 4 2.3. PROGETTI ESEMPLIFICATIVI... 4 3. USARE

Dettagli

Tesina esame Programmazione di Sistemi Mobile realizzata da Roberto Giuliani matricola Sicurezza e Permission in Android

Tesina esame Programmazione di Sistemi Mobile realizzata da Roberto Giuliani matricola Sicurezza e Permission in Android Tesina esame Programmazione di Sistemi Mobile realizzata da Roberto Giuliani matricola 633688 Sicurezza e Permission in Android La sicurezza al giorno d oggi è uno degli aspetti più importanti dell informatica!

Dettagli