Programmazione Android. Giovanni Perbellini Università di Verona EDALab S.r.l.
|
|
- Concetta Blasi
- 8 anni fa
- Visualizzazioni
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(" 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=" 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 = " private static final String NAMESPACE = " private static final String URL = " 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=" 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 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?
DettagliProgrammazione 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 Architettura SW Ambiente di sviluppo (Android Studio) Esempi Helloworld MVC programming
DettagliTecniche 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
DettagliBasi 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
DettagliIntroduzione 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
DettagliL 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
DettagliSistemi 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
DettagliProgrammazione 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;
DettagliANDROID 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
DettagliCorso App modulo Android. Antonio Gallo info@laboratoriolibero.com
Corso App modulo Android Antonio Gallo info@laboratoriolibero.com Strumentazione: PC + smartphone Android + cavo micro USB per connessione Framework Phonegap SDK di Android JDK (Java) Eclipse (opzionale)
DettagliFondamenti 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
DettagliProgrammazione 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
DettagliMOBILE 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
DettagliTale 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
DettagliINTRODUZIONE 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
DettagliANDROID. 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
DettagliScuola 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
DettagliProva 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
DettagliLa 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
DettagliLa 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
DettagliIl sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione
Il sistema di I/O Hardware di I/O Interfacce di I/O Software di I/O Introduzione 1 Sotto-sistema di I/O Insieme di metodi per controllare i dispositivi di I/O Obiettivo: Fornire ai processi utente un interfaccia
DettagliSviluppo 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...
DettagliJosef 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
DettagliScaletta. 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
DettagliCaratteristiche 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.
DettagliArchitettura 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
DettagliCorso Eclipse. Prerequisiti. 1 Introduzione
Corso Eclipse 1 Introduzione 1 Prerequisiti Uso elementare del pc Esecuzione ricerche su Internet Esecuzione download Conoscenza elementare della programmazione 2 1 Cos è Eclipse Eclipse è un IDE (Integrated
DettagliAndroid 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
DettagliLezione 1 Introduzione
Lezione 1 Introduzione Ingegneria dei Processi Aziendali Modulo 1 Servizi Web Unità didattica 1 Protocolli Web Ernesto Damiani Università di Milano I Servizi Web Un Servizio Web è un implementazione software
DettagliCorso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008)
Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008) Introduzione a Java: primo programma, installazione dell ambiente di sviluppo, compilazione ed esecuzione 1 Introduzione Java è un linguaggio
DettagliEclipse. 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
DettagliAndroid 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
DettagliSistemi 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?
DettagliProgrammazione 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
DettagliSistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL
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
DettagliCorso di programmazione di sistemi mobile 1. Android. Google Cloud Messaging
Corso di programmazione di sistemi mobile 1 Android Google Cloud Messaging Corso di programmazione di sistemi mobile 2 Cos è Il Google Cloud Messaging o GCM è un servizio di Google che permette di inviare
DettagliIntroduzione all uso di Eclipse
Introduzione all uso di Eclipse Daniela Micucci Programmazione Outline Eclipse: concetti generali Definire un workspace Creare un project Importare un file Utilizzo 1 Introduzione Eclipse è un ambiente
DettagliLezione 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
DettagliCome 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
DettagliCorso Corso di di programmazione di di sistemi mobile 1 1. Android Laboratorio. Primo Progetto, Toast
Corso Corso di di programmazione di di sistemi mobile 1 1 Android Laboratorio Primo Progetto, Toast Corso Corso di di programmazione di di sistemi mobile 2 2 Android Studio Per realizzare le nostre applicazioni
DettagliAndroid 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,
DettagliAndroid. 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.
DettagliAmbienti 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
DettagliIndice 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
DettagliTelematica 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
DettagliSoftware di base. Corso di Fondamenti di Informatica
Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Software di base Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti
DettagliMobile 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
DettagliStartUp programmazione C++ con EVC4 1. SVILUPPO APPLICAZIONI VISUAL C++...2
MNL140A000 StartUp programmazione C++ con EVC4 ELSIST S.r.l. Sistemi in elettronica Via G. Brodolini, 15 (Z.I.) 15033 CASALE M.TO ITALY Internet: http://www.elsist.it Email: elsist@elsist.it TEL. (39)-0142-451987
DettagliGuida all uso dell ambiente di sviluppo 1 integrato o IDE. JCreator LE 4.50
Guida all uso dell ambiente di sviluppo 1 integrato o IDE JCreator LE 4.50 Inizializzazione: creazione del nuovo progetto e del file sorgente in ambiente JCreator Al lancio del programma si apre la finestra
DettagliIngegneria del Software 1: Eclipse
Ingegneria del Software 1: Eclipse Da completare entro Aprile 21, 2015 Srđan Krstić and Marco Scavuzzo 1 Contents 1 Introduzione 3 1.1 Java (JRE vs JDK).......................................... 3 1.2
DettagliInstallazione e Configurazione della strumentazione necessaria. Antonio Gallo info@laboratoriolibero.com
Installazione e Configurazione della strumentazione necessaria Antonio Gallo info@laboratoriolibero.com Installazione e Configurazione della strumentazione necessaria Programmi accessori per poter sviluppare
Dettagli2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine.
ESERCIZIARIO Risposte ai quesiti: 2.1 Non sono necessarie modifiche. Il nuovo protocollo utilizzerà i servizi forniti da uno dei protocolli di livello trasporto. 2.2 Il server deve essere sempre in esecuzione
DettagliIntroduzione ad Eclipse
Introduzione ad Eclipse Corso di Metodi Avanzati di Programmazione 2014-2015 Docente: Dr. Annalisa Appice Tutor di Laboratorio: dott. Roberto Corizzo Ambiente Eclipse Sommario Java: ambiente Eclipse L
DettagliMagiCum 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/
DettagliCorso Android New Edition Corso Online Programmatore Android New Edition
Corso Android New Edition Corso Online Programmatore Android New Edition Accademia Domani Via Pietro Blaserna, 101-00146 ROMA (RM) info@accademiadomani.it Programma Generale del Corso di Programmatore
DettagliAndroid 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'è
DettagliAndroid. Implementare una interfaccia utente
Android Implementare una interfaccia utente Introduzione In questa lezione vedremo come implementare una interfaccia utente sullo schermo di Android. Vedremo gli elementi di base visualizzabili sullo schermo
DettagliIntroduzione a GCC: GNU Compiler Collection
Introduzione a GCC: GNU Compiler Collection Caratteristiche di GCC Compilatore multipiattaforma modulare Disponibile per tutti i principali sistemi operativi Può produrre programmi per la maggior parte
Dettagliez 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[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
DettagliSoftware di interfacciamento sistemi gestionali Manuale di installazione, configurazione ed utilizzo
01595 Software di interfacciamento sistemi gestionali Manuale di installazione, configurazione ed utilizzo INDICE DESCRIZIONE DEL SOFTWARE DI INTERFACCIAMENTO CON I SISTEMI GESTIONALI (ART. 01595) 2 Le
DettagliArchitetture Informatiche. Dal Mainframe al Personal Computer
Architetture Informatiche Dal Mainframe al Personal Computer Architetture Le architetture informatiche definiscono le modalità secondo le quali sono collegati tra di loro i diversi sistemi ( livello fisico
DettagliArchitetture Informatiche. Dal Mainframe al Personal Computer
Architetture Informatiche Dal Mainframe al Personal Computer Architetture Le architetture informatiche definiscono le modalità secondo le quali sono collegati tra di loro i diversi sistemi ( livello fisico
DettagliGESCO MOBILE per ANDROID
GESCO MOBILE per ANDROID APPLICAZIONE PER LA GESTIONE DEI DISPOSITIVI GSM GESCO aggiornamenti su www.gesco.it GUIDA ALL USO Vi ringraziamo per aver scelto la qualità dei prodotti GESCO. Scopo di questa
DettagliIntroduzione ai Web Services Alberto Polzonetti
PROGRAMMAZIONE di RETE A.A. 2003-2004 Corso di laurea in INFORMATICA Introduzione ai Web Services alberto.polzonetti@unicam.it Introduzione al problema della comunicazione fra applicazioni 2 1 Il Problema
DettagliSviluppo 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:
DettagliSoftware di gestione della stampante
Questo argomento include le seguenti sezioni: "Uso del software CentreWare" a pagina 3-11 "Uso delle funzioni di gestione della stampante" a pagina 3-13 Uso del software CentreWare CentreWare Internet
DettagliBreve introduzione curata da Alessandro Benedetti. Struts2-Introduzione e breve guida
Breve introduzione curata da Alessandro Benedetti Struts2-Introduzione e breve guida 22-11- 2008 1 Struts 2 Costruisci,attiva e mantieni! Apache Struts 2 è un framework elegante ed estensibile per creare
DettagliIntel One Boot Flash Update Utility Guida dell utente
Intel One Boot Flash Update Utility Guida dell utente Informazioni legali La Guida dell utente Intel One Boot Flash Update Utility, e il software in essa descritto sono forniti in licenza e possono essere
DettagliCorso Eclipse. Prerequisiti. 3 Window Builder
Corso Eclipse 3 Window Builder 1 Prerequisiti Conoscenza elementare ambiente Eclipse Conoscere la nomenclatura dei componenti delle interfacce grafiche Conoscere attributi e metodi dei principali componenti
DettagliIstruzioni per l utilizzo di file KML (Google Earth) con Software dei navigatori satellitari TELE System
Istruzioni per l utilizzo di file KML (Google Earth) con Software dei navigatori satellitari TELE System 1. Introduzione KML file... 1 2. Creazione e condivisione dei file KML usando Google Earth... 1
DettagliIl Web-Service SDMX dell ISTAT
Il Web-Service SDMX dell ISTAT Versione: 1.0.0 Data: 26/06/2014 Autore: Approvato da: Modifiche Versione Modifiche Autore Data Indice dei contenuti 1 Introduzione... 4 2 Esempio d uso... 5 2.1 Riferimento
DettagliLa VPN con il FRITZ!Box Parte II. La VPN con il FRITZ!Box Parte II
La VPN con il FRITZ!Box Parte II 1 Introduzione In questa mini-guida mostreremo com è possibile creare un collegamento su Internet tramite VPN(Virtual Private Network) tra il FRITZ!Box di casa o dell ufficio
DettagliCorso 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
DettagliIl CMS Moka. Giovanni Ciardi Regione Emilia Romagna
Il CMS Moka Giovanni Ciardi Regione Emilia Romagna Moka è uno strumento per creare applicazioni GIS utilizzando oggetti (cartografie, temi, legende, database, funzioni) organizzati in un catalogo condiviso.
DettagliEsercitazioni di PROGETTAZIONE DEL SOFTWARE A.A. 2011-2012
Sapienza Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica Corso di Laurea in Ingegneria Informatica ed Automatica Corso di Laurea in Ingegneria dei Sistemi Informatici
DettagliProgettazione e Implementazione di API WebSocket per il Gateway Dog
Corso di Laurea in Ingegneria Informatica Tesi di Laurea Magistrale Progettazione e Implementazione di API WebSocket per il Gateway Dog Relatori: Fulvio Corno Luigi De Russis Candidato: Teodoro Montanaro
DettagliProtocolli e architetture per WIS
Protocolli e architetture per WIS Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di informazioni e servizi Le architetture moderne dei WIS
DettagliIndice. Introduzione. Capitolo 1
Indice Introduzione XI Capitolo 1 Pagine dei fornitori: applicazione dei fogli di stile CSS in XML 1 1.1 Introduzione a HTML e XHTML 1 1.2 Controllo della presentazione: fogli di stile CSS 8 1.3 Approfondimento
DettagliGESTIONE DEI PROCESSI
Sistemi Operativi GESTIONE DEI PROCESSI Processi Concetto di Processo Scheduling di Processi Operazioni su Processi Processi Cooperanti Concetto di Thread Modelli Multithread I thread in Java Concetto
DettagliJava. 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
DettagliPiattaforme 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
Dettagli1 http://desvino.altervista.org JSPDynPage, componenti portale e Java Server Pages
1 http://desvino.altervista.org JSPDynPage, componenti portale e Java Server Pages Le JSP DynPages sono un utile strumento, fornito da SAP Netweaver, per una gestione più evoluta di event handling e session
DettagliLe command line di Java
Le command line di Java Esercitazioni di Programmazione 2 Novella Brugnolli brugnoll@science.unitn.it Ambiente di lavoro Per compilare ed eseguire un programma Java abbiamo bisogno di: The JavaTM 2 Platform,
DettagliPanoramica: che cosa è necessario
Scheda 02 L installazione dell SDK G IOVANNI PULITI Panoramica: che cosa è necessario Per poter lavorare con applicazioni Java o crearne di nuove, il programmatore deve disporre di un ambiente di sviluppo
DettagliSeminario di Sistemi Distribuiti RPC su SOAP
Seminario di Sistemi Distribuiti RPC su SOAP Massimiliano Vivian [777775] Massimiliano Vivian 1 Introduzione La comunicazione delle informazioni è l elemento fondamentale per lo sviluppo dei sistemi. SOAP
DettagliClient e Server comunicano tramite il protocollo SOAP.
In questo tutorial implementeremo un semplice SOAP web service in PHP che un client Java richiamerà. In questo modo mostreremo l'interoperabilità fra linguaggi diversi che SOAP permette di avere. La struttura
DettagliDefinizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base
Sistema operativo Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Architettura a strati di un calcolatore
DettagliFree Android Software Development. Ugo Raffaele Piemontese
Free Android Software Development Ugo Raffaele Piemontese Sommario Presentazione della piattaforma Android Strumenti di sviluppo e requisiti software LibreChat demo App: Criteri di progettazione Layout
DettagliVIRTUALIZZAZIONE LUG - CREMONA. Linux Day - 25 Ottobre 2008
VIRTUALIZZAZIONE LUG - CREMONA Linux Day - 25 Ottobre 2008 VIRTUALIZZAZIONE In informatica la virtualizzazione consiste nella creazione di una versione virtuale di una risorsa normalmente fornita fisicamente
DettagliJava 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
DettagliIstruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito)
Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito) Le seguenti istruzioni sono relative all installazione di IBM SPSS Modeler Text Analytics versione 15 mediante un licenza
DettagliIntroduzione ai Sistemi Operativi
Introduzione ai Sistemi Operativi Sistema Operativo Software! Applicazioni! Sistema Operativo! È il livello di SW con cui! interagisce l utente! e comprende! programmi quali :! Compilatori! Editori di
DettagliIndice: 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,
DettagliScaletta. Estensioni UML per il Web. Applicazioni web - 2. Applicazioni web. WAE: Web Application Extension for UML. «Client page»
Scaletta Estensioni UML per il Web Michele Zennaro 14-05-2004 Le applicazioni web Scopo di un estensione UML per il web Due punti di vista Uno più astratto Uno più vicino ai file fisici conclusivo Commenti
DettagliMagiCum S.r.l. Progetto Inno-School
MagiCum S.r.l. Progetto Inno-School Area Web Autore: Davide Revisione: 1.2 Data: 23/5/2013 Titolo: Innopedia File: Documentazione_tecnica Sito: http://inno-school.netsons.org/ Indice: 1. Presentazione
DettagliGuida all utilizzo a cura di Francesco Lattari. Guida all utilizzo di moodle per studenti
Guida all utilizzo a cura di Francesco Lattari Indice Introduzione p. 01 Come collegarsi p. 02 Come registrarsi p. 03 Come effettuare il login p. 04 La Home dello studente p. 05 Header e Funzionalità p.
DettagliProgrammazione 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
DettagliApplicazioni web. Sommario. Parte 6 Servlet Java. Applicazioni web - Servlet. Alberto Ferrari 1. Servlet Introduzione alle API ed esempi
Applicazioni web Parte 6 Java Alberto Ferrari 1 Sommario Introduzione alle API ed esempi Tomcat Server per applicazioni web Alberto Ferrari 2 Alberto Ferrari 1 Java: da applet a servlet In origine Java
Dettagli