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

Dimensione: px
Iniziare la visualizzazioe della pagina:

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

Transcript

1 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 Informatica Scienza e Ingegneria (DISI) ANDROID Android è un sistema operativo per smartphone & tablet basato sul kernel di Linux che adotta Java come linguaggio di programmazione e incorpora quasi tutto il framework Java Android 4.2: macchina virtuale Dalvik diversa da JVM standard architettura a registri formato ottimizzato Dalvik Executable (.dex) anziché bytecode (.class) Android 5: nuova macchina virtuale ART Già disponibile in Android 4.4 a titolo sperimentale DALVIK o ART? Dalvik ha accompagnato Android fin dagli esordi architettura a registri, formato ottimizzato....ma prestazioni non del tutto soddisfacenti ( e qualche problema di licenza fra Google e Oracle ) ART (Android Run Time) mira a prestazioni migliori disponibile da Android 4.4 (kit kat) ma non impostata per default diventa la VM di default in Android 5 migliora le prestazioni perché sostituisce il compilatore JIT (just-in-time) di Dalvik con un compilatore AOT (ahead-of-time), che pre-compila tutto il codice durante l'installazione dell'app anziché dopo durante la migrazione da Android 4.4 a 5 dice «sto ottimizzando le app» - le converte tutte! miglior gestione energia (durata batteria +20% ~) MA: installazione più lenta, occupazione memoria maggiore (+10-20%) ANDROID & JAVA Android è anche una piattaforma con i suoi strumenti di sviluppo: Android SDK di ambiente: plugin Eclipse (ADT) Cosa significa che "Android adotta Java"? stesso linguaggio: lo conoscete già! "quasi" stesse librerie (TRANNE la grafica.. comprensibilmente!) MA diversa macchina virtuale nell'infrastruttura, quindi diverso formato del codice oggetto e quindi diverso modello di sviluppo NON PIÙ bytecode (.class) MA Dalvik Executable (.dex) NON PIÙ archivi jar (.jar) MA application packages (.apk) NON PIÙ solo javac, MA ANCHE altri strumenti MA soprattutto diversa organizzazione delle applicazioni NON PIÙ main classico: le app sono organizzate in attività NON PIÙ console con stdout, stdin: le app sono solo grafiche STRUMENTI COME SI SVILUPPA in Android? con Eclipse + alcuni strumenti aggiuntivi Android SDK ADT plugin per Eclipse Problema: configurazione complicata con l'android Developer Tool (ADT) una versione speciale di Eclipse con quei tool già inclusi dal 2014, non più supportata con Android Studio basato su uno strumento alternativo a Eclipse più completo e moderno, ma con ambiente "piuttosto diverso" dal classico Eclipse SVILUPPARE CON ECLIPSE Non basta installare gli strumenti bisogna anche configurarli....e non è semplicissimo PASSI NECESSARI: installare una o più "Platforms" creare uno o più "Virtual Devices" configurare l'emulatore Android per tali dispositivi Sembra facile.. ma è piuttosto faticoso.. però alla fine funziona NB: l'emulatore è pesante e lento a partire.. ma poi è ottimo.

2 SVILUPPARE CON ADT ANDROID STUDIO ADT è un Eclipse preconfigurato PROCEDURA Installazione manuale degli strumenti in Eclipse Oggi non più necessaria operativamente..ma da conoscere per capire "cosa c'è dietro" 1) Installazione dell'android SDK scaricare da scompattarlo e lanciare il setup configurarlo tramite l'sdk Manager (scelta e installazione piattaforme) 2) Installazione dell'adt Plugin per Eclipse DENTRO ECLIPSE: istruire Eclipse per lo scaricamento e installare il plugin aggiungere al plugin le informazioni sulla posizione dell'sdk 3) Configurazione dell'adt Plugin DENTRO ECLIPSE: riconoscimento piattaforme installate configurazione di uno o più dispositivi virtuali Android (AVD) 1. INSTALLAZIONE SDK 2. CONFIGURAZIONE SDK Si può fare anche dopo, ma tanto vale farlo ora. INDISPENSABILI: SDK Tools almeno una platform Android (nuovi device) Android (smartphone) oppure Android 3.x (dipende..) UTILI: USB driver (per scaricare app su dispositivi reali via cavo USB)

3 3. INSTALLAZIONE PLUGIN (1) 3. INSTALLAZIONE PLUGIN (2) DENTRO ECLIPSE: menu Help > Install New Software 3. INSTALLAZIONE PLUGIN (3) 3. INSTALLAZIONE PLUGIN (4) Normale, perché il plugin è ha bisogno di sapere la posizione dell'sdk. Fare quindi clic su Open Preferences (NON Close). 3. INSTALLAZIONE PLUGIN (5) Premere Browse e selezionare la cartella con l'sdk. Verificare che vengano trovate le piattaforme installate. 3. INSTALLAZIONE PLUGIN (5) Premere Browse e selezionare la cartella con l'sdk. Verificare che vengano trovate le piattaforme installate.

4 4. CONFIGURAZIONE PLUGIN (1) 4. CONFIGURAZIONE PLUGIN (2) Al momento, non ci sono dispositivi virtuali installati. Dal menu Window, selezionare AVD Manager Bisogna crearne almeno uno premendo New.. Definire un nome (in alto) Scegliere la piattaforma (es ) Scegliere la SD card size (1 GB) Scegliere la risoluzione (WVGA tipicam.) 4. CONFIGURAZIONE PLUGIN (3) Se ne volete altri, ripetete la procedura. Ora c'è almeno un dispositivo virtuale installato. Creare applicazioni Android La Console di Eclipse mostra il log della creazione avvenuta. ANDROID & JAVA ANDROID: L'EMULATORE Sviluppare applicazioni per Android è molto simile a svilupparle per Java Standard sempre Eclipse, solito ambiente, soliti tool MA la diversa macchina virtuale (Dalvik/ART) implica qualche passaggio in più PRIMA bastava generare il bytecode (.class) ORA, in più, occorre generare il «suo» formato (.dex /.elf) INOLTRE, per eseguirle occorre un emulatore emula un terminale Android con relativa GUI, tasti, etc possibile emulare vari dispositivi con diverse caratteristiche Soprattutto, è diversa l' organizzazione delle applicazioni NON HANNO PIÙ IL MAIN: sono organizzate in attività NON C'È PIÙ LA CONSOLE con stdout, stdin: sono grafiche

5 CONFIGURAZIONE DELL'EMULATORE L' Android Virtual Device manager gestisce i "finti terminali Android" da emulare Se ne possono definire molti, con diverse caratteristiche hw/sw - piattaforma (es. Android 2.3.3) - dimensione SD card size (es. 1 GB) - risoluzione (es. WVGA) - SVILUPPO DI APPLICAZIONI Per sviluppare un'applicazione, la prima cosa da fare è creare un apposito progetto (Eclipse o Android Studio) New > Android Application project Per definirne altri, premere NEW e compilare la form APPLICAZIONI ANDROID (1) Perché una Applicazione Android ("app") non ha main? Perché c'è dietro un'idea diversa di scenario: un dispositivo smartphone/tablet è ben diverso da un pc! e, conseguentemente, di modello di runtime: le app devono essere fatte secondo un ben preciso schema perché così Android ne riconoscerà le parti costitutive e le integrerà nel suo framework d'esecuzione tale schema semplifica la realizzazione perché molti aspetti generali sono ereditati: SI SFRUTTA L'EREDITARIETÀ FIN DALLE FONDAMENTA un'app è fatta di una o più Activity ed è sempre descritta da un manifest (se non ha GUI, può essere un Service) APPLICAZIONI ANDROID (2) E la grafica? Android NON HA Swing: fornisce la sua libreria i componenti grafici sono tutti sottoclassi di View sono sottoclassi di View anche text field, bottoni, etc strutturalmente, le View sono organizzate in gruppi un layout è quindi composto da View e da ViewGroups (invisibili) opportunamente annidati Soprattutto, a differenza di Java, le GUI non si programmano: si descrivono tramite un idoneo vocabolario XML ACTIVITY (1/4) L'attività (Activity) è il nucleo base di ogni applicazione una Activity "base" di per sé non fa nulla ma esiste! Attività vuota (di default) in esecuzione nell'emulatore ACTIVITY (2/4) La classe Activity definisce vari metodi, che le singole attività possono (devono) specializzare il principale metodo è oncreate, chiamato quando l'attività inizia riceve un argomento Bundle, da usare per chiamare l'omonimo metodo padre via super (come Graphics in paintcomponent..) import android.app.activity; import android.os.bundle; public class CodFiscAndroidActivity extends Activity public void oncreate(bundle savedinstancestate) { // il codice dell'attività

6 ACTIVITY (3/4) Una semplice attività di prova che stampa HelloWorld può essere ottenuta semplicemente specializzando la view il metodo setcontentview specifica cosa mostrare a video lo "strano" argomento R.layout.main indica di visualizzare ciò che è specificato in un file XML esterno, main.xml di default, tale file specifica di mostrare un messaggio di saluto ACTIVITY (4/4) La prima Activity col messaggio di saluto predefinito: Nome della nostra Activity e messaggio di saluto (personalizzabile) import android.app.activity; import android.os.bundle; public class CodFiscAndroidActivity extends Activity public void oncreate(bundle savedinstancestate) { setcontentview(r.layout.main); Il Codice Fiscale su Android ESEMPIO: portare il codice fiscale su Android la logica dell'applicazione è immutata CodFisc resta com'è cambia l'interazione con l'utente: non più console, ma una GUI! Come si fa la nuova GUI? ci vuole una Activity, che specializzi oncreate e poi gestisca gli eventi, ad esempio il tasto DONE (Fatto) E come si programma una GUI in Android? non c'è Swing, ma la nuova libreria android.widget, con i suoi componenti e i suoi eventi un utile componente di testo è la TextView (non editabile) una sua sottoclasse editabile è EditView, a cui va associato l'apposito oneditoractionlistener che definisce il metodo oneditoraction CodFiscAndroid ACTIVITY (1/2) import android.app.activity; import android.os.bundle; import android.widget.edittext; public class CodFiscAndroidActivity extends Activity public void oncreate(bundle savedinstancestate) { EditText txt = new EditText(this); txt.setsingleline(); txt.settext("immettere i dati della persona: "); txt.setoneditoractionlistener(new MyListener(txt)); setcontentview(txt); Anziché il contenuto di default espresso da R.layout.main, si mostra il nostro componente. Ascoltatore degli eventi separato (per leggibilità) CodFiscAndroid ACTIVITY (2/2) LA NOSTRA APP EMULATA import android.view.keyevent; import android.view.inputmethod.editorinfo; import android.widget.edittext; import android.widget.textview; public class MyListener implements TextView.OnEditorActionListener { private EditText output; public MyListener(EditText output){ this.output = output; public boolean oneditoraction(textview v, int actionid, KeyEvent event) { if (actionid!= EditorInfo.IME_ACTION_DONE) return false; String line = v.gettext().tostring(); String[] args = line.split("\\s+"); // separa args per calcolacodice String codice = CodFisc.calcolaCodice(args[1], args[0], Integer.parseInt(args[2]), Integer.parseInt(args[3]), Integer.parseInt(args[4]), args[5].equals("m")? CodFisc.MASCHIO : CodFisc.FEMMINA, args[6] ); output.settext(codice); return true; Per convenzione, si restituisce true se l'evento è stato gestito, false altrimenti La costante IME_ACTION_DONE rappresenta il tasto DONE (enter): se il tasto premuto non è quello, usciamo senza fare nulla.

7 DEPLOYMENT DELL'APPLICAZIONE E per installarla su un vero telefono? o lo si collega via USB a Eclipse (tramite l'usb driver), spegnendo l'emulatore, così da usarlo al suo posto; oppure, più semplicemente, si copia l'apk manualmente LA NOSTRA APP: INSTALLAZIONE doppio clic Come si copia l'apk manualmente? l'apk (analogo del jar) è generata automaticamente da Eclipse basta copiarla nel telefono (ad esempio nella cartella download) dopo averlo collegato via USB Screenshot catturati da Samsung Galaxy S I9000 LA NOSTRA APP: ESECUZIONE Il linguaggio non cambia Java è sempre Java RIASSUMENDO Il framework applicativo è diverso diverso processo di sviluppo diversi strumenti diversa libreria grafica diverso modo di organizzare l'applicazione TUTTO QUI..? NULL'ALTRO DA SEGNALARE..? in realtà no : c'è molto altro..! Screenshot catturati da Samsung Galaxy S I9000..ovvero? GUI definite tramite risorse anziché programmaticamente altri concetti oltre all'activity (Intent.. e non solo) GUI TRAMITE RISORSE?? In Swing, le GUI vengono programmate scrivendo codice (eventualmente con l'aiuto di strumenti come WindowBuilder) In Android, fare le GUI in tal modo è possibile.. l'abbiamo appena fatto! ma non è ciò che si fa di solito, perché c'è una alternativa migliore: descrivere la GUI senza programmarla! per evitare che piccoli cambiamenti grafici comportino grandi (e faticosi) cambiamenti nel codice NUOVO APPROCCIO: il codice Java si limita a caricare un layout descritto altrove la descrizione del layout è fatta in un opportuno file XML esterno che specifica quali componenti grafici ci sono, dove sono, che dimensione hanno. e tutte le loro proprietà IL NUOVO APPROCCIO L'activity NON definisce più i componenti setcontentview carica sempre e solo R.layout.main il suo vero (e unico) compito è agganciare i listener Il layout desiderato si definisce nel file main.xml Eclipse lo genera sempre automaticamente: in effetti c'era anche prima.. ma l'abbiamo volutamente ignorato! ORA, invece, lo apriamo e modifichiamo opportunamente! gli strumenti per farlo sono già presenti nell'android plugin con tanto di preview! RISULTATO: fare una GUI anche complessa è mooolto più semplice e non è finita: le risorse esterne comprendono anche stringhe e immagini, che quindi non è più necessario cablare nel codice!

8 CodFiscAndroid REVISED import android.app.activity; import android.os.bundle; import android.widget.edittext; public class CodFiscAndroidActivity extends Activity public void oncreate(bundle savedinstancestate) { setcontentview(r.layout.main); EditText txt = findviewbyid(r.id.mytxt); txt.setoneditoractionlistener(new MyListener(txt)); Il listener ovviamente è identico Il contenuto è sempre espresso da R.layout.main, che però ora è personalizzato e specifica un EditText di nome mytxt Per recuperare un riferimento allo EditText di nome mytxt (necessario per agganciargli il listener), si usa la funzione findviewbyid CodFiscAndroid -main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" Namespace obbligatorio per Android android:orientation="vertical" > Descrizione layout desiderato <EditText android:singleline="true" android:layout_width="fill_parent" android:layout_height="wrap_content" </EditText> </LinearLayout> La frase che appare nel campo di testo è specificata dalla stringa di nome immissione, a sua volta specificata nel file ausiliario strings.xml Header obbligatorio in tutti i file XML ELENCO COMPONENTI presenti nel layout Qui ce n'è uno solo, un EditText di nome mytxt Di seguito, le sue proprietà: singleline hint (la frase che appare) CodFiscAndroid -strings.xml CodFiscAndroid -strings.xml La stringa di nome immissione ha come valore "Immettere i dati della persona:" Ma scrivere direttamente strings.xml è scomodo, quindi c'è un editor visuale già incluso! NOMI delle stringhe definite in strings.xml Cliccandoci sopra. La stringa di nome immissione ha come valore "Immettere i dati della persona:" LA NUOVA APP CodFiscAndroid -main.xml In realtà, non è solo strings.xml ad avere un editor: anche main.xml ne ha uno, per non scrivere XML a mano! Preview Strumenti di zoom DUNQUE, non è necessario programmare la GUI a mano: si usa l'editor visuale! Palette con tutti i componenti disponibili

9 L'ULTIMA CURIOSITÀ Nel codice così riorganizzato, c'era sempre quello "strano" riferimento a un argomento R.layout.main Chi è questo R? È il file delle RISORSE: generato automaticamente da Eclipse, contiene in forma Java le definizioni delle risorse definite nei vari file XML Più precisamente, contiene gli identificativi univoci di: identificatori (nomi di componenti grafici) layout (non è detto ci sia solo main ) stringhe immagini e icone OLTRE LE ACTIVITY: Intent Per connettere più attività fra loro, Android introduce il concetto di Intent come descrizione astratta di una operazione da eseguire e può essere: esplicito, quando si specifica per nome l'attività da eseguire; implicito, quando si specifica solo l azione da eseguire (non l'attività esatta che dovrà eseguirla) Idea chiave: scrivere applicazioni i cui pezzi interagiscono fra di loro senza necessariamente doversi conoscere ESEMPIO 1 Applicazione articolata in due attività, una che mostra una lista di URL e un'altra che visualizza l'url scelto. l'intent creato dalla prima attività contiene il nome della seconda attività da attivare (ovvero, il nome esatto della classe visualizzatrice) ESEMPIO 2 Applicazione articolata in due attività, una che mostra una lista di URL e un'altra che invia l'url scelto. l'intent creato dalla prima attività contiene il nome della azione da svolgere (ACTION_SEND), non CHI la svolgerà sarà Android a scegliere la classe da attivare fra chi accetta quell'intent Un Intent INTENT è un'istanza di android.content.intent può essere definito programmaticamente o come risorsa è assimilabile a un "segnale" (evento) asincrono, che viene ricevuto da quei componenti (attività o servizi) registrati per esso può contenere dati, utili al ricevente per decidere cosa fare ESPLICITO: l'attività Pippo attiva l'attività Pluto Intent i = new Intent( this, Pluto.class); IMPLICITO l'attività Pippo attiva una attività capace di svolgere l'azione VIEW Intent i = new Intent( Intent.ACTION_VIEW, Uri.parse("http://...")); Se ci sono più componenti capaci di svolgere l'azione, apparirà un dialog per scegliere quale attivare. ESEMPIO (1/10) Singolarmente presa, questa attività mostra a video una lista di voci fra cui scegliere ma per ora non fa nulla (non ci sono gestori di eventi) public class MyActivity extends ListActivity { protected void onresume() { super.onresume(); Estendiamo direttamente ListActivity (anziché genericamente Activity) setlistadapter(new ArrayAdapter<String>( this, android.r.layout.simple_list_item_1, android.r.id.text1, new String[] { "http://edenti.deis.unibo.it", "http://www.unibo.it", "http://www.google.it" ));... // da completare ESEMPIO (2/10) Aggiungiamo perciò un event listener, che: gestisca l'evento "voce scelta" attivando una URLActivity passandole un Intent ESPLICITO contenente, come dato extra, l'url da aprire (recuperato dalla lista) e infine attivando tale nuova attività public class MyActivity extends ListActivity {... // parte precedente protected void onlistitemclick(listview l, View v, int pos, long id) { Intent intent = new Intent(this, URLActivity.class); intent.putextra("url", (String) getlistadapter().getitem(pos)); startactivity(intent);... // da completare ESEMPIO (3/10) A sua volta, la nuova attività, chiamata esplicitamente: recupera il dato rilevante (l'url da aprire) dall' Intent ricevuto e lo visualizza tramite un opportuno componente di sistema (una WebView) public class URLActivity extends Activity { protected void oncreate(bundle savedinstancestate){ WebView webview = new WebView(this); setcontentview(webview); String url = getintent().getstringextra("url"); settitle(url); webview.loadurl(url);

10 ESEMPIO (4/10) Infine permettiamo alla prima attività di reagire all'evento "long touch" sull'indirizzo selezionato a tale fine, aggiungiamo alla MyActivity un listener per l'evento ItemLongClick (in aggiunta al listener per ItemClick che c'era già) public class MyActivity extends ListActivity {... // parte precedente protected void oncreate(bundle savedinstancestate) { getlistview().setonitemlongclicklistener(new MyLongClickListener( )); Due argomenti: l'attività sui cui agire (this) e il msg da mostrare nel chooser (String) In particolare, vogliamo che la reazione al "long touch" sia l'offerta di condividere il valore selezionato (qui, un URL) di conseguenza, MyLongClickListener dovrà costruire un apposito INTENT per attivare una attività "condividi elemento" ESEMPIO (5/10) L'attività "condividi elemento" non la definiamo: c'è già! nei sistemi Android, "condividi con " è parte dei servizi standard (condividi via Bluetooth, via Facebook, etc) usiamo perciò un Intent IMPLICITO per avvisare tutte le attività esistenti, potenzialmente interessate a questo tipo di lavoro public class MyLongClickListener implements OnItemLongClickListener{ public boolean onitemlongclick(adapterview<?> adapterview, View view, int pos, long id) { final Intent intent = new Intent(Intent.ACTION_SEND); intent.settype("text/plain"); intent.putextra(intent.extra_text, (String) adapterview.getitematposition(pos)); mymainact.startactivity( Intent.createChooser(intent, mymsg))); return true;...// da completare Messaggio personalizzato da mostrare nel chooser Azione da svolgere (si cercano volontari ) Dati extra per l'intent Attivazione di un'ulteriore attività: un chooser per scegliere fra tutte le attività capaci di gestire l'action_send ESEMPIO (6/10) Ovviamente, c'è qualche dettaglio da sistemare: il listener agisce sull'activity principale (mymainact), che quindi deve essere ricevuta come parametro dal costruttore del listener idem per il messaggio personalizzato (mymsg) public class MyLongClickListener implements OnItemLongClickListener{ private String mymsg; private Activity mymainact; public MyLongClickListener(Activity mymainact, String mymsg) { this.mymsg = mymsg; this.mymainact = mymainact;...// tutto il resto public class MyActivity extends ListActivity { // nel metodo oncreate, la creazione del listener avverrà così: // new MyLongClickListener(this, getstring(r.string.my_msg)) ESEMPIO (7/10) Da ultimo, occorrono le giuste dichiarazioni nel manifest <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="it.unibo.deis.edenti" android:versioncode="1" android:versionname="1.0" > <uses-sdk android:minsdkversion="10" /> <uses-permission android:name="android.permission.internet"/> <application > <activity android:name=".myactivity" > <intent-filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent-filter> </activity> <activity android:name=".urlactivity"/> </application> </manifest> e nelle risorse stringa: ESEMPIO (8/10) ESEMPIO (9/10) click semplice Qui non è apprso alcun chooser: evidentemente, questo emulatore conosce un'unica attività capace di gestire l'action_send long touch Qui non è apparso alcun chooser: evidentemente, in questo emulatore è registrata un'unica attività per l'action_send, quella che effettua l'invio via mail.

11 ESEMPIO (10/10) long touch È il titolo che abbiamo definito noi nelle risorse (my_msg) Su questo smartphone, invece, il chooser appare e offre la scelta fra parecchie applicazioni RIFERIMENTI Ci sono molti libri (in inglese e in italiano) spesso però non pensati per chi conosce già Java Fast track for Java developers index.html

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

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

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

Dettagli

ANDROID 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Lezione 3 Le attività

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

Dettagli

[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

Corso Eclipse. Prerequisiti. 1 Introduzione

Corso 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

Dettagli

Android. Anatomia di una applicazione

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

Dettagli

Lezione 3 Le attività

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

Dettagli

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

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

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

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

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

Dettagli

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

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

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

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

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

Android. Intent e intent-filter. diegozabot@yahoo.it

Android. Intent e intent-filter. diegozabot@yahoo.it Android Intent e intent-filter diegozabot@yahoo.it Intent Cos è un Intent Un intent è una richiesta da parte di un componente di una funzionalità che viene implementata in un altro componente. Viene utilizzato

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

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

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

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

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

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

Configurare TPTP in Eclipse e testare un applicazione

Configurare TPTP in Eclipse e testare un applicazione Configurare TPTP in Eclipse e testare un applicazione Questa guida concentra la sua attenzione sul tool TPTP (Test & Performance Tools Platform) presente nell ambiente di sviluppo Eclipse. Verrà descritta

Dettagli

Lezione 1 Primi passi con Android

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

Dettagli

Corso Programmazione Java ed Android

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

Dettagli

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

Installazione 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 Antonio Gallo info@laboratoriolibero.com Installazione e Configurazione della strumentazione necessaria Programmi accessori per poter sviluppare

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

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

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

Dettagli

Corso Eclipse. Prerequisiti. 3 Window Builder

Corso 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

Dettagli

TESTARE E CREARE APPLICAZIONI TESTUALI JAVA PER ANDROID CON ANDROID

TESTARE E CREARE APPLICAZIONI TESTUALI JAVA PER ANDROID CON ANDROID TESTARE E CREARE APPLICAZIONI TESTUALI JAVA PER ANDROID CON ANDROID Ho deciso di scrivere questa guida per tre motivi principali: 1) Avendo un tablet che ha la possibilità di essere usato per programmare,

Dettagli

INTRODUZIONE ALLA PROGRAMMAZIONE ANDROID

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

Dettagli

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

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

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

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

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

Android. Adapter e ListView. diegozabot@yahoo.it

Android. Adapter e ListView. diegozabot@yahoo.it Android Adapter e ListView diegozabot@yahoo.it Funzionamento di un Adapter Quando il contenuto del layout non è predeterminato o è dinamico possono essere utilizzati gli Adapter. Un Adapter recupera i

Dettagli

Programmazione. Android

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

Dettagli

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

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

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

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

Dettagli

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

Android. Deploy di una App. diegozabot@yahoo.it

Android. Deploy di una App. diegozabot@yahoo.it Android Deploy di una App diegozabot@yahoo.it Deploy di una app (1) Per poter creare una app da caricare su Google Play dobbiamo seguire i seguenti passi: 1. Recuperare materiali e risorse 2. Configurare

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

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

SimpleFeedReader App

SimpleFeedReader App SimpleFeedReader App Realizzazione di un semplice feed reader Android. Introduzione Programmiamo una semplice applicazione Android. La nostra applicazione dovrà essere in grado di scaricare un feed RSS

Dettagli

Capitolo 1 Introduzione a Gambas

Capitolo 1 Introduzione a Gambas Capitolo 1 Introduzione a Gambas Gambas è stato creato inizialmente da Benoit Minisini, un residente della periferia di Parigi. Secondo Benoit, Gambas è un linguaggio Basic con estensioni per la programmazione

Dettagli

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

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

Dettagli

Fondamenti di Informatica T-1 CdS Ingegneria Informatica a.a. 2011/2012. Introduzione a Visual Studio 2005/2008/2010

Fondamenti di Informatica T-1 CdS Ingegneria Informatica a.a. 2011/2012. Introduzione a Visual Studio 2005/2008/2010 Fondamenti di Informatica T-1 CdS Ingegneria Informatica a.a. 2011/2012 Introduzione a Visual Studio 2005/2008/2010 1 Outline Solution e Project Visual Studio e linguaggio C Visual Studio schermata principale

Dettagli

Java: Compilazione e Traduzione. Fondamenti di Informatica L-B Esercitazione n 3 Introduzione a JAVA. C: Editing, compilazione, esecuzione

Java: Compilazione e Traduzione. Fondamenti di Informatica L-B Esercitazione n 3 Introduzione a JAVA. C: Editing, compilazione, esecuzione Fondamenti di Informatica L-B Esercitazione n 3 Introduzione a JAVA A.A. 2007/08 Tutor: Barbara Pettazzoni barbara.pettazzoni@studio.unibo.it Java: Compilazione e Traduzione Editing, compilazione, esecuzione

Dettagli

Java? Sì, grazie. Scopo del corso

Java? Sì, grazie. Scopo del corso Modulo di Java? Sì, grazie Il linguaggio di Internet? Portabilità su qualunque piattaforma (non solo calcolatori): It works everywhere Supporto e disponibilità di strumenti, librerie e documentazione garantiti

Dettagli

Fondamenti di sviluppo mobile su Android

Fondamenti di sviluppo mobile su Android Fondamenti di sviluppo mobile su Android Dott. A. Tedeschi antonio.tedeschi@uniroma3.it Corso di Telecomunicazioni Wireless a.a. 2015-2016 1 Outline Fondamenti di programmazione Android Creare un nuovo

Dettagli

Corso Programmazione Android

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

Dettagli

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

Programmazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013

Programmazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013 Programmazione a Oggetti e JAVA Prof. B.Buttarazzi A.A. 2012/2013 Sommario Contenuti del Corso Riferimenti Regole del Corso Materiale Didattico Scheduling Esami Strumenti Software 16/01/2013 2 Contenuti

Dettagli

Introduzione a Visual Studio 2005

Introduzione a Visual Studio 2005 Fondamenti di Informatica e Laboratorio T-AB Ingengeria Elettronica e Telecomunicazioni a.a. 2008/2009 Introduzione a Visual Studio 2005 Outline Solutions e Projects Visual Studio e il linguaggio C Visual

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

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

APPENDICE. Appendice. Strumenti per lo sviluppo dei programmi Java

APPENDICE. Appendice. Strumenti per lo sviluppo dei programmi Java APPENDICE Appendice Strumenti per lo sviluppo dei programmi Java Per imparare a programmare non è sufficiente leggere gli esempi del testo, ma è necessario scrivere ed eseguire realmente i programmi. Tutti

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

Corso Base. Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO

Corso Base. Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO Corso Base Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO Java Java è un Linguaggio di Programmazione orientato agli oggetti. Un Linguaggio di Programmazione è un linguaggio ad alto livello, dotato

Dettagli

Strumenti per la programmazione

Strumenti per la programmazione Editing del programma Il programma deve essere memorizzato in uno o più files di testo editing codice sorgente 25 Traduzione del programma Compilazione: è la traduzione effettuata da un compilatore Un

Dettagli

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

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

Dettagli

Android. Android03: Ciclo di vita di una Activity. diegozabot@yahoo.it

Android. Android03: Ciclo di vita di una Activity. diegozabot@yahoo.it Android Android03: Ciclo di vita di una Activity diegozabot@yahoo.it Ciclo di vita Ciclo di vita La classe Activity gestisce i propri stati definendo una serie di eventi che ne governano il ciclo. Spetta

Dettagli

ARGO PRESENZE LEGGIMI DEGLI AGGIORNAMENTI. Argo Presenze. Leggimi Aggiornamento 3.2.0. Data Pubblicazione 15-10-2013.

ARGO PRESENZE LEGGIMI DEGLI AGGIORNAMENTI. Argo Presenze. Leggimi Aggiornamento 3.2.0. Data Pubblicazione 15-10-2013. Argo Presenze Leggimi Aggiornamento 3.2.0 Data Pubblicazione 15-10-2013 Pagina 1 di 18 Aggiornamento 3.2.0 Variazioni Con la release 3.2.0 viene introdotto un nuovo driver per lo scarico delle transazioni

Dettagli

2 - Introduzione al linguaggio Java

2 - Introduzione al linguaggio Java 2 - Introduzione al linguaggio Java Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo

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

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

Free Android Software Development. Ugo Raffaele Piemontese

Free 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

Dettagli

Programmazione Android A cura di Carlo Pelliccia. Lezione 7 Menù

Programmazione Android A cura di Carlo Pelliccia. Lezione 7 Menù A cura di Carlo Pelliccia I menù sono una parte importante di qualsiasi applicazione moderna. Da anni gli utenti sono abituati ad avere a che fare con questi strumenti, ai quali si rivolgono ogni volta

Dettagli

Scrivere un programma in Java

Scrivere un programma in Java Programmare in JAVA Leonardo Rigutini Dipartimento Ingegneria dell Informazione Università di Siena Via Roma 56 53100 SIENA uff. 0577 234850 - interno: 7102 Stanza 119 rigutini@dii.unisi.it http://www.dii.unisi.it/~rigutini/

Dettagli

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Traduzione ed esecuzione di programmi. Dispensa 08

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Traduzione ed esecuzione di programmi. Dispensa 08 Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 08 Traduzione ed esecuzione di programmi Traduzione ed esecuzione di programmi 1 Nota bene Alcune parti del presente materiale didattico

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

Approfondimenti tematici Android PROGRAMMING. Il corso completo per imparare a programmare con il S.O. Google dedicato agli smartphone

Approfondimenti tematici Android PROGRAMMING. Il corso completo per imparare a programmare con il S.O. Google dedicato agli smartphone Approfondimenti tematici Android PROGRAMMING Il corso completo per imparare a programmare con il S.O. Google dedicato agli smartphone Android programming Questo approfondimento tematico è pensato per chi

Dettagli

1 PRIMI PASSI CON ANDROID

1 PRIMI PASSI CON ANDROID 1 PRIMI PASSI CON ANDROID Il primo passo nella realizzazione di un applicazione Android è l installazione dei tool e dell SDK. Se avete già prodotto una prima applicazione Android, farvi le congratulazioni

Dettagli

Programmazione ad oggetti

Programmazione ad oggetti DAIS Univ. Ca' Foscari Venezia Programmazione ad oggetti Samuel Rota Bulò Informazioni generali Docente: Samuel Rota Bulò @email: srotabul@dais.unive.it Homepage: http://www.dais.unive.it/~srotabul/ ooprogramming2012.html

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

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

ESAME DI FONDAMENTI DI INFORMATICA T-2 del 15/07/2015 Proff. E. Denti G. Zannoni Tempo a disposizione: 4 ore MAX

ESAME DI FONDAMENTI DI INFORMATICA T-2 del 15/07/2015 Proff. E. Denti G. Zannoni Tempo a disposizione: 4 ore MAX ESAME DI FONDAMENTI DI INFORMATICA T-2 del 15/07/2015 Proff. E. Denti G. Zannoni Tempo a disposizione: 4 ore MAX NB: il candidato troverà nell archivio ZIP scaricato da Esamix anche il software Start Kit

Dettagli

Android. Ambrosi Michele Rigo Francesco Marcantoni Francesco. mastergap@gmail.com. 4 giugno 2009

Android. Ambrosi Michele Rigo Francesco Marcantoni Francesco. mastergap@gmail.com. 4 giugno 2009 Ambrosi Michele Rigo Francesco Marcantoni Francesco mastergap@gmail.com 4 giugno 2009 Ambrosi Michele Rigo Francesco Marcantoni Francesco 4 giugno 2009 1 / 12 Indice 1 Ambiente di sviluppo 2 Sviluppo di

Dettagli