ANDROID Introduzione alla programmazione per applicativi Android Dott. Ing. Ivan Ferrazzi V1.1 del 05/08/2013

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "ANDROID Introduzione alla programmazione per applicativi Android Dott. Ing. Ivan Ferrazzi V1.1 del 05/08/2013"

Transcript

1 ANDROID Introduzione alla programmazione per applicativi Android Dott. Ing. Ivan Ferrazzi V1.1 del 05/08/2013 1/78

2 Copyright 2013 Dott.Ing. Ivan Ferrazzi Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. 2/78

3 Indice generale INTRODUZIONE...5 Installazione dell'ambiente di lavoro...5 Configurazione dell'ambiente di lavoro...6 Concetti base...7 Activity...7 Intents...7 Service...7 Un primo progetto...9 Creiamo il nostro progetto...9 Compilare il progetto...11 Installare l'applicazione...11 Installazione su dispositivi virtuali...11 Installazione su dispositivi reali...12 File presenti all'interno di un progetto...12 local.properties...12 project.properties...13 AndroidManifest.xml...13 res/values/strings.xml...14 res/layout/main.xml...15 gen/com/example/myfirstapp/r.java...16 I layout...18 LinearLayout...18 RelativeLayout...19 ListView...20 GridView...22 Oggetti di output...25 TextView...25 Struttura XML...25 ImageView...26 Struttura XML...26 Oggetti di input...27 EditText...27 Struttura XML...27 Codice Java...29 Button...31 Struttura XML...31 Codice Java...32 Checkbox...32 Struttura XML...32 Codice Java...33 RadioGroup e RadioButton...34 Struttura XML...34 Codice Java...34 ToggleButton...34 Struttura XML...34 Codice Java...35 Spinner...35 Struttura XML /78

4 Codice Java...36 Le Activity in dettaglio...37 I metodi per il cambio degli stati...37 Da starting a running...37 Da running a paused...37 Da paused a running...37 Da paused a stopped...37 Da stopped a running...37 Da paused a destroyed...38 Da stopped a destroyed...38 I View...39 Esempio: utilizzo Activity...39 Esempio: passaggio informazioni tra Activity...42 Salvare e recuperare i dati...49 Salvare e recuperare copie di dati...49 Utilizzare SQLite...50 Animazione 2D...56 Nuovo progetto TestGame...56 Come prima cosa creiamo un nuovo progetto come segue...56 Nuova superficie di visualizzazione...57 Gestione del ciclo di gioco...59 Aggiungiamo l'iterazione con lo schermo...62 Aggiungiamo un'immagine...63 Animiamo l'immagine...65 Un'oggetto per lo sprite...68 Colpire il nemico...70 Effetti sonori...73 Google Play...76 Registrazione sviluppatore...76 Certificare le nostre applicazioni...76 Creare la nostra chiave privata...77 Configurazione del progetto...77 Creare la nostra release /78

5 INTRODUZIONE Questo tutorial è stato realizzato per introdurre gli interessati all'interno del mondo di sviluppo per applicazioni Android. Cercheremo di installare un ambiente di lavoro idoneo allo sviluppo con Linux per poi continuare nella realizzazione di un progetto. Come distribuzione abbiamo utilizzato Debian, ma si potrà naturalmente utilizzare anche delle distribuzioni diverse come ad esempio Ubuntu. Cercheremo di evitare l'utilizzo di Eclipse per riuscire ad entrare nel vivo della programmazione e per capire al meglio tutti i passaggi necessari. Installazione dell'ambiente di lavoro Per lo sviluppo di applicativi Android ci basiamo sul software di Android per gli sviluppatori (Android Software Development Kit SDK) che possiamo scaricare al seguente indirizzo Consigliamo di scaricare il file bundle che contiene tutto quello che serve (o quasi) per iniziare a programmare. Il file scaricato è un file compresso (nel nostro caso adt-bundle-linux-x86.zip) che possiamo decomprimere all'interno di una cartella creata per il nostro sistema, ad esempio /home/ {user/android, oppure {SYSTEM_DIR/Users/{user/android, dove {user è il nome dell'utente che stiamo utilizzando. 5/78

6 Configurazione dell'ambiente di lavoro Come prima cosa aggiungiamo per Linux i seguenti percorsi alla nostra variabile di ambiente PATH /home/user/android/adt-bundle-linux-x86/sdk/tools /home/user/android/adt-bundle-linux-x86/sdk/platform-tools Per Windows aggiungiamo alla stessa variabile di ambiente i seguenti percorsi utilizzando la seguente forma set PATH=%PATH%;{SYSTEM_DIR\Users\user\android\adt-bundle-windowsx86\sdk\tools;{SYSTEM_DIR\Users\user\android\adt-bundle-windowsx86\sdk\platform-tools Per poter compilare i nostri progetti utilizzeremo il programma ant, un compilatore basato su Java, simile al make, che utilizza file XML al posto di file Makefile (utilizzati da make). Per questo motivo è indispensabile avere sulla propria macchina anche una Java Development Kit (JDK). Una volta installati su Windows sia ant che il JDK sarà necessario eseguire le seguenti righe dal prompt dei comandi set ANT_HOME=C:\Users\Ivan\android\ant set JAVA_HOME=C:\Program Files\Java\jdk1.7.0_21 set PATH=%PATH%;%ANT_HOME%\bin Inoltre abbiamo bisogno di uno spazio di lavoro (workspace) all'interno del quale andremo a depositare tutti i nostri progetti. Creiamo quindi semplicemente la nostra cartella di lavoro come segue mkdir /home/user/android/workspace per quanto riguarda gli ambienti Linux, mentre sotto Windows possiamo creare la cartella {SYSTEM_DIR/Users/user/android/workspace Facciamo ora partire l'ambiente Android SDK Manager con il seguente comando android update sdk Questo ci metterà a disposizione le varie versioni di Android disponibile che possiamo installa a piacere. 6/78

7 Concetti base Activity Un'attività (activity) equivale ad un pannello contenitore che l'utente può vedere. Un'applicazione è normalmente composta da più activities e l'utente ha la possibilità di passare da un activity all'altra. Se prendiamo come esempio un semplice gioco le activies necessarie saranno: activity per la visualizzazione del menu iniziale, activity per il gioco e activity per l'elenco dei punteggi. Un'applicazione Android è composta da un'attività principale (main activity) ed una serie di attività che possono essere richiamate a piacere. Lo stato in qui si trova un'attività viene gestita dall'activity Manager di Android. Gli stati possibili sono: Starting L'attività viene fatta partire inizialmente caricando il necessario in memoria. Running L'utente sta attualmente interagendo con l'attività in questione. Paused L'utente sta attualmente interagendo con un'altra attività. Stopped Se l'utente interagisce con un pannello sovrapposto all'attività principale questa viene messa in modalità di pausa anche se in parte visibile sullo schermo. Un'attività viene definita come stopped quando l'utente esce dall'applicazione. L'applicazione non viene rimossa completamente dalla memoria, ma rimane in attesa di un'eventuale riavvio dell'applicazione stessa. Destroyed Solo se l'applicazione non viene utilizzata per un determinato periodo di tempo questa verrà completamente rimossa dalla memoria per liberare le risorse occupate. Intents Un'intenzione (intent) identifica un'azione che vogliamo svolgere all'interno della nostra applicazione. Mediante intenzione riusciamo a far capire al sistema come effettuare il passaggio da un'attività all'altra. Service Un servizio è simile ad un'attività con l'unica differenza che non contiene componenti grafici in grado di interagire con l'utente, ma viene eseguito in background (es. riproduttore di musica). La vita di un servizio viene gestita dallo sviluppatore piuttosto che dal sistema Android. Non avendo a disposizione un'interfaccia grafica gli stati di un servizio sono di meno. Gli stati possibili sono: Starting Il servizio viene fatto partire inizialmente caricando il necessario in memoria. Running 7/78

8 Il servizio è attualmente in esecuzione. Destroyed Il servizio viene terminato e non ha più bisogno di esistere. 8/78

9 Un primo progetto Vediamo ora come creare un semplice progetto iniziale con il quale potremmo controllare il corretto funzionamento dell'intero ambiente di lavoro. Creiamo il nostro progetto Eseguiamo come prima cosa il seguente comando per verificare i così chiamati target, che identificano le versioni di Android attualmente disponibili all'interno del nostro ambiente. android list targets Il comando restituisce un risultato simile al seguente: Available Android targets: id: 1 or android-17 Name: Android 4.2 Type: Platform API level: 17 Revision: 1 Skins: WQVGA432, WVGA800 (default), QVGA, WXGA800-7in, WXGA720, HVGA, WXGA800, WSVGA, WQVGA400, WVGA854 ABIs : armeabi-v7a In base a queste informazioni creiamo il nostro progetto con il seguente comando sotto Linux android create project --target {target_id --name MyFirstApp \ --path /home/user/android/workspace/myfirstapp \ 9/78

10 --activity MainActivity --package com.example.myfirstapp mentre per Windows modifichiamo il percorso alla cartella base con android create project --target {target_id --name MyFirstApp \ --path c:\users\user\android\workspace\myfirstapp \ --activity MainActivity --package com.example.myfirstapp Dove target_id corrisponde all'id (numerico o testuale) presente nel risultato precedente. Nel nostro caso scriviamo quindi su Linux: android create project --target 1 --name MyFirstApp \ --path /home/user/android/workspace/myfirstapp \ --activity MainActivity --package com.example.myfirstapp su Windows android create project --target 1 --name MyFirstApp \ --path c:\users\user\android\workspace\myfirstapp \ --activity MainActivity --package com.example.myfirstapp Il sistema crea la cartella indicata con path all'interno della quale deporrà una struttura di cartelle e file iniziale in base agli altri parametri forniti. I file inseriti corrispondono al semplice esempio funzionante HelloWorld. Vediamo qui di seguito alcune delle risorse più importanti: AndroidManifest.xml Questo file contiene le caratteristiche base del nostro progetto, come versione minima e massima supportata. src/ res/ Questa cartella contiene il sorgente dell'intero progetto. Con il parametro package del comando precedente il sistema crea la struttura a cartelle e sottocartelle conosciuta nel mondo Java. All'interno dell'ultima cartella (quindi myfirstapp) il sistema crea il file.java che rappresenta l'attività iniziale lanciata da Android quando si clicca sull'apposita icona. Il nome del file è definito grazie al parametro activity. Questa cartelle contiene delle sottocartelle che a loro volta contengono le varie risorse della nostra applicazione. drawable-*/ Contiene file immagine che possono essere utilizzati per dispositivi con risoluzioni (densità di schermo) differenti. layout/ Contiene i file che definiscono la disposizione dell'interfaccia 10/78

11 grafica per l'utente finale. values/ Questa cartella può contenere diverse risorse della nostra applicazione come i file XML che definiscono le stringe o i colori da utilizzare. Compilare il progetto Ora possiamo provare a compilare l'esempio di default messo a disposizione dopo la creazione del nostro progetto iniziale. Ci spostiamo all'interno della cartella del nostro progetto, quindi in /home/user/android/workspace/myfirstapp ed eseguiamo il seguente comando ant debug che ci porterà ad avere il progetto compilato e pronto per Android depositato all'interno della cartella bin del nostro progetto. Installare l'applicazione Installazione su dispositivi virtuali Se non siamo in possesso di un dispositivo Android possiamo creare dei dispositivi virtuali che ci permetteranno di emulare le versioni di Android a piacere. Ora possiamo provare a compilare l'esempio di default messo a disposizione dopo la creazione del nostro progetto iniziale. Eseguiamo nuovamente l'ambiente Android SDK Manager con android update sdk e apriamo la finestra per la gestione dei dispositivi virtuali dal menu Tools -> Manage AVDs... Nella scheda Android Virtual Devices presente nella finestra clicchiamo sul pulsane New... per aggiungere un nuovo dispositivo. Confermando dovremo trovare il nuovo dispositivo nell'elenco della finestra. Clicchiamo sul dispositivo per selezionarlo e premiamo sul pulsante Start... per avviare l'emulatore. A emulatore caricato ci spostiamo nella cartella root del nostro progetto e digitiamo il seguente comando da terminale per installare il nostro piccolo progetto sul dispositivo in questione. 11/78

12 adb install bin/myfirstapp-debug.apk Ad installazione terminata troviamo l'applicazione MainActivity tra i programmi installati. Clicchiamoci sopra per avviare ed ammirare la nostra prima applicazione. Per rimpiazzare un'applicazione attualmente presente sul dispositivo usiamo il parametro -r come segue adb install -r bin/myfirstapp-debug.apk Installazione su dispositivi reali Se si possiede un dispositivo reale basta collegare il dispositivo al nostro pc ed attivare la funzione USB debugging. Infine ci spostiamo nella cartella root del nostro progetto e digitiamo il seguente comando da terminale per installare il nostro piccolo progetto sul dispositivo in questione. adb install bin/myfirstapp-debug.apk Ad installazione terminata troviamo l'applicazione MainActivity tra i programmi installati. Clicchiamoci sopra per avviare ed ammirare la nostra prima applicazione direttamente dal nostro dispositivo. In caso di necessità possiamo disinstallare il pacchetto con adb uninstall com.example.myfirstapp File presenti all'interno di un progetto La programmazione per dispositivi Android si basa su dei file XML intuitivi e facili da comprendere. Questo mette a disposizione la possibilità di creare progetti adattabili a dispositivi dalle dimensioni diverse e di gestire più lingue basandosi solamente sulle traduzioni dei testi necessari. local.properties Questo file contiene il riferimento alla cartella che al suo interno ha il ADT utilizzato in fase di creazione del progetto. Nel nostro caso dovremmo trovare la riga sdk.dir=/home/user/android/adt-bundle-linux-x86/sdk su sistemi Linux e sdk.dir={system_dir\\users\\user\\android\\adt-bundle-windows-x86\\sdk su sistemi Windows, dove {SYSTEM_DIR è la cartella di sistema di Windows. Siccome il backslash (\) ha una funzionalità particolare sui sistemi Windows è indispensabile sostituire ogni backslash con un doppo backslash. 12/78

13 Se trasferiamo un progetto da un computer all'altro dobbiamo verificare la presenza della cartella specificata. project.properties Questo file contiene il target utilizzato per la creazione del nostro progetto. Il contenuto potrebbe essere target=android-17 L'id del target utilizzato può variare da computer a computer mentre l'identificatore testuale (es. android-17) rimane invariato perché identifica direttamente la versione SDK utilizzata. In base di compilazione ant prende come punto di riferimento la versione SDK presente all'interno di questo file. Per evitare quindi problemi in fase di compilazione dobbiamo scaricare da Internet la versione SDK richiesta, oppure modificare il contenuto di questo file con la versione di SDK installata sul nostro computer. AndroidManifest.xml Questo file è il file base all'interno del quale si definisce da cosa è composta l'applicazione, qual'è l'attività principale (quella che viene fatta partire da Android quando clicchiamo sull'apposita icona) e quali permessi sono necessari per l'avvio. Vediamo un semplice esempio iniziale <?xml version= 1.0 encoding= utf-8?> <manifest xmlns:android= package= com.example.myfirstapp android:versioncode= 1 android:versionname= 1.0 > <uses-sdk android:minsdkversion= 8 android:targetsdkversion= 17 /> <application > <activity android:name= MainActivity > <intent-filter> <action android:name= android.intent.action.main /> <category android:name= android.intent.category.launcher /> </intent-filter> </activity> </application> </manifest> Nel tag manifest si definiscono le proprietà principali dell'applicazione come il percorso del pacchetto (package), la versione numerica (android:versioncode) ed il nome della versione (android:versionname) dell'applicazione. Nel tag uses-sdk si definisce la versione più bassa funzionante per l'applicazione (android: minsdkversion) e quella utilizzata come target base (android:targetsdkversion). Si consiglia di utilizzare come versione target quella più alta e di effettuare i test su tale versione. 13/78

14 All'interno del tag application troviamo gli attributi android:label e android:icon che identificano il nome dell'applicazione così come l'icona da mostrare all'interno delle applicazioni del nostro Android. Il nome definito mediante questo tag è quello che identifica l'applicazione all'interno della scheda dell'applicazione del sistema Android. Per garantire un determinato grado di flessibilità all'interno di questi attributi non inseriamo dei valori statici ma un identificatore a delle risorse ben precise all'interno della struttura del nostro progetto. L'identificatore ad una risorsa è composto dalle seguenti La posizione della risorsa identifica il file XML o la cartella dalla quale recuperare l'effettiva risorsa. La posizione string, ad esempio, recupera la risorsa dal file XML res/values/strings.xml estrapolando il valore del tag string identificato dal nome della risorsa. La posizione drawable invece identifica un file (ad esempio.png) all'interno di una delle cartelle res/drawable-* (ad esempio res/drawable-hdpi) create per rappresentare l'immagine nelle giuste dimensioni su dispositivi diversi. All'interno del tag application troviamo una serie di tag activity uno dei quali si utilizza per specificare le caratteristiche delle singole attività presenti all'interno della nostra applicazione. Gli attributi principali sono android:name e android:label dove il primo identifica il nome della classe che Android deve far partire come attività principale, mentre il secondo ne identifica il titolo. Per far capire ad Android quale delle attività far partire come prima è indispensabile inserire il blocco <intent-filter> <action android:name= android.intent.action.main /> <category android:name= android.intent.category.launcher /> </intent-filter> all'interno dell'attività desiderata. Nel caso in cui il valore di android:name non esistesse l'applicazione verrebbe compilata senza errori, ma non saremmo in grado di avviare la nostra applicazione una volta installata sul nostro Android. Il valore di android:label dell'attività principale è quello utilizzato per il nome che identifica l'intera applicazione. In versioni differenti di Android il valore di android:label presente nel tag application e quello presente nel tag activity dell'attività principale possono essere sostituiti l'uno con l'altro. Si consigli quindi di utilizzare lo stesso valore per ambedue gli attributi. res/values/strings.xml Questo file contiene (o dovrebbe contenere) tutti i testi utilizzati all'interno della nostra applicazione. Anche questo è un file XML ed ha la seguente struttura <?xml version= 1.0 encoding= utf-8?> 14/78

15 <resources> <string name= hello >Hello World!</string> <string name= app_name >MainActivity</string> </resources> Il tag root è resources che contiene una serie di tag string identificati dall'attributo name. Il valore lo troviamo tra il tag di apertura e quello di chiusura. Il valore di name è quello che si utilizza come nome della risorsa negli indicatori di risorsa, ad res/layout/main.xml Il file in questione è un file XML che permette di definire il layout da utilizzare per un'attività particolare. In questo caso definiamo il layout dell'attività principale (main). Il nome che utilizziamo per salvare il file in questione non è fondamentale visto che siamo noi a decidere quale file utilizzare all'interno di quale attività con apposito metodo Java (che vedremo più avanti). La struttura base di questo file potrebbe essere come segue <?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 /> </LinearLayout> Android premette di definire all'interno di questo file dei contenitori (ViewGroup) in grado di contenere degli oggetti allineati in base alla funzionalità del contenitore stesso. Il contenitore definito all'interno del file è LinearLayout che permette di allineare gli oggetti contenuti al suo interno in maniera orizzontale oppure verticale (android:orientation). La larghezza (android:layout_width) e l'altezza (android:layout_height) del contenitore principale dovranno corrispondere con le dimensioni dello schermo messo a disposizione. Ecco perché si utilizza come valore fill_parent per riempire completamente lo spazio presente. Gli oggetti presenti all'interno di un contenitore possono essere altri contenitori oppure degli elementi in grado di visualizzare qualcosa di particolare (View) come pulsanti, testi, campi di input, immagini, ecc. Nel nostro caso abbiamo l'oggetto TextView in grado di visualizzare il testo presente in android:text nelle dimensioni definite grazie agli attributi android:layout_width e android:layout_height. In larghezza utilizziamo tutto lo spazio disponibile, mentre in altezza solo quello strettamente necessario (wrap_content) per la visualizzazione del contenuto in questione. 15/78

16 gen/com/example/myfirstapp/r.java Il file R.java è un file creato e modificato automaticamente in fase di compilazione. Il contenuto di questo file non verrà quindi mai modificato manualmente, ma è indispensabile comprenderne l'utilizzo per capire meglio come si identifichi una risorsa all'interno della nostra applicazione. Vediamo ora la struttura di questo file /* AUTO-GENERATED FILE. DO NOT MODIFY. * * This class was automatically generated by the * aapt tool from the resource data it found. It * should not be modified by hand. */ package com.example.myfristapp; public final class R { public static final class attr { public static final class drawable { public static final int ic_launcher=0x7f020000; public static final class layout { public static final int main=0x7f030000; public static final class string { public static final int app_name=0x7f040001; public static final int hello=0x7f040000; La presenza di questa classe permette di identificare all'interno di Android una qualsiasi risorsa presente in essa. Per recuperare la risorsa che identifica il layout main possiamo scrivere R.layout.main L'utilizzo di questa forma lo scopriamo all'interno del prossimo file. src/com/example/myfirstapp/mainactivity.java Questo file contiene l'effettivo codice Java in gradi di far partire la nostra applicazione. Nel nostro caso il file sarà simile al seguente: package com.example.myfirstapp; import android.app.activity; import android.os.bundle; public class MainActivity extends Activity { /** Called when the activity is first called. */ public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); 16/78

17 setcontentview(r.layout.main); Il file inizia con l'identificazione della posizione del file mediante comando package ed importa le classi necessarie per il corretto funzionamento del nostro codice con import. La classe android.app.activity è indispensabile per l'utilizzo delle attività. La classe Activity ha al suo interno i motodi protected void oncreate(bundle savedinstancestate); protected void onstart(); protected void onrestart(); protected void onresume(); protected void onpause(); protected void onstop(); protected void ondestroy(); Il metodo che serve a noi è oncreate(bundle) che viene fatto partire da Android nel momento in cui lanciamo l'applicazione. Facciamo capire al compilatore l'intenzione di sovrascrivere il contenuto del metodo della superclasse (la classe Activity che estendiamo con il comando extends) con La classe android.os.bundle è indispensabile per permettere di memorizzare eventuali informazioni prima che l'applicazione venga interrotta da Android per poi riprendere le informazioni ad un prossimo riavvio. Ecco perché troviamo Bundel savedinstancestate all'interno del metodo oncreate(). Con la riga super.oncreate(savedinstancestate); richiamiamo il metodo in questione della superclasse, mentre la riga setcontentview(r.layout.main); permette di indicare la risorsa che punta al file XML da utilizzare per il layout desiderato. 17/78

18 I layout I layout di Android si dividono in layout come Linear Layout e Relative Layout e view come List View e Grid View. Vediamo qui di seguito quando e come poterli utilizzare. LinearLayout Questo tipo di layout permette di allineare gli elementi in una direzione, verticale (vertical) o orizzontale (horizontal), utilizzando l'attributo android:orientation. Vediamo un semplice esempio: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:paddingleft="16dp" android:paddingright="16dp" android:orientation="vertical" > <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" /> <EditText android:layout_width="fill_parent" android:layout_height="0dp" android:layout_weight="1" android:gravity="top" /> <Button android:layout_width="100dp" android:layout_height="wrap_content" 18/78

19 android:layout_gravity="right" /> </LinearLayout> RelativeLayout Questo tipo di ViewGroup ci permette di inserire elementi posizionandoli in relazione agli elementi padre e/o agli elementi fratelli. Gli attributi che possiamo utilizzare per il posizionamento relativo sono: android:layout_alignparenttop Se attivato (true) l'angolo alto del View in questione corrisponde all'angolo alto del View padre. android:layout_centervertical Se attivato (true) centra il View verticalmente all'interno del View padre. android:layout_below Posiziona l'angolo alto del View in questione al di sotto del View specificato dal relativo id di risorsa. android:layout_torightof Posiziona l'angolo sinistro del View in questione a destra del View specificato dal relativo id di risorsa. Vediamo il seguente esempio: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:paddingleft="16dp" android:paddingright="16dp" > <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" /> <Spinner android:layout_width="0dp" android:layout_height="wrap_content" android:layout_alignparentleft="true" /> <Spinner android:layout_width="96dp" android:layout_height="wrap_content" android:layout_alignparentright="true" /> <Button android:layout_width="96dp" android:layout_height="wrap_content" android:layout_alignparentright="true" /> 19/78

20 </RelativeLayout> ListView Questo tipo di ViewGroup è probabilmente l'elemento più utilizzato nel mondo Android, perché è quello in grado di visualizzare dei contenuto sotto forma di elenco. Vediamo nel seguente esempio come visualizzare un'array contenente stringhe all'interno di un elenco. Modifichiamo il file res/layout/main.xml come segue inserendo un ListView <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <ListView android:layout_width="fill_parent" android:layout_height="wrap_content" > </ListView> </LinearLayout> Inoltre aggiungiamo il nuovo file res/layout/row.xml che contiene il layout da utilizzare per ogni elemento del nostro elenco <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="" android:padding="10dip" android:textsize="22dip"/> </LinearLayout> Infine modifichiamo il file principale ListViewLoader.java come segue package com.example.listviewloader; import android.app.activity; import android.os.bundle; import android.widget.arrayadapter; import android.widget.listview; import android.widget.textview; import android.widget.toast; import android.widget.adapterview; import android.widget.adapterview.onitemclicklistener; import android.view.view; 20/78

21 public class ListViewLoader extends Activity { public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); ListView listview = (ListView)findViewById(R.id.listViewDemo); String[] array = {"Antonio", "Giovanni", "Michele", "Giuseppe", "Leonardo", "Alessandro"; ArrayAdapter<String> arrayadapter = new ArrayAdapter<String>( this, R.layout.row, R.id.textViewList, array ); listview.setadapter(arrayadapter); listview.setonitemclicklistener( new OnItemClickListener() { public void onitemclick(adapterview<?> parent, View v, int position, long id) { Toast.makeText(getApplicationContext(), "Position:" + position, Toast.LENGTH_SHORT).show(); ); All'interno di questo codice creiamo il ListView dall'id definito nel file xml con ListView listview = (ListView)findViewById(R.id.listViewDemo); e l'array delle stringhe che vogliamo aggiungere con String[] array = {"Antonio", "Giovanni", "Michele", "Giuseppe", "Leonardo", "Alessandro"; Infine creiamo un ArrayAdapter che aggiungiamo al ListView creato precedentemente ArrayAdapter<String> arrayadapter = new ArrayAdapter<String>( this, R.layout.row, R.id.textViewList, array ); listview.setadapter(arrayadapter); I parametri necessari per creare un ArrayAdapter sono il Context (nel nostro esempio this), il layout da utilizzare per le singole righe (R.layout.row), l'id dell'elemento che vogliamo riempire all'interno dell'elenco 21/78

Sviluppare Applicazioni per Android

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

Dettagli

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

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

La geolocalizzazione

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

Dettagli

Lezione 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

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

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

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

Lezione 9 Liste, tabelle, caselle di scelta e gallerie di immagini

Lezione 9 Liste, tabelle, caselle di scelta e gallerie di immagini A cura di Carlo Pelliccia Tutti i layout dimostrati negli esempi delle lezioni precedenti sono dei layout fissi. I widget di un layout fisso sono sempre gli stessi e non cambiano ruolo o quantità nel corso

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

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

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

Sviluppo di App per sistema operativo Android

Sviluppo di App per sistema operativo Android Università degli Studi di Padova Dipartimento di Ingegneria dell Informazione Corso di Laurea Triennale in Ingegneria dell Informazione Tesina di laurea triennale Sviluppo di App per sistema operativo

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

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

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

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

Android by Example v4.2 JellyBean

Android by Example v4.2 JellyBean Android by Example v4.2 JellyBean Rossi Pietro Alberto Sorgenti scaricabili dal sito www.sprik.it Premessa Tanto tempo è passato dalla prima guida, troppo. L'intento era quello di costruire una guida solida

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

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

Android. Implementare una interfaccia utente

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

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

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

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

Dettagli

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

Programmare per Android: User Interface v0.1beta

Programmare per Android: User Interface v0.1beta v0.1beta Rossi Pietro Alberto Pagina 1 Indice Introduzione alla programmazione ad oggetti... 5 Introduzione alla programmazione visuale... 6 Introduzione alla programmazione ad eventi... 7 UserControls...

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

CREARE APP PER ANDROID

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

Dettagli

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

Lezione 8 Notifiche e finestre di dialogo

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

Dettagli

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

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

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

[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

Tutorial web Application

Tutorial web Application Tutorial web Application Installazione della JDK: Java viene distribuito con la jdk e il jre acronimi di Java Development Kit e Java Runtime Environment rispettivamente. La jdk è l'ambiente di sviluppo

Dettagli

Sistemi Mobili e Wireless Android Activity

Sistemi Mobili e Wireless Android Activity Sistemi Mobili e Wireless Android Activity Stefano Burigat Dipartimento di Matematica e Informatica Università di Udine www.dimi.uniud.it/burigat stefano.burigat@uniud.it Activity Tipicamente, un'activity

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

Tecniche di progettazione e sviluppo di applicazioni mobile

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

Dettagli

Android. Ciclo di vita di Activity, Service e Processi

Android. Ciclo di vita di Activity, Service e Processi Android Ciclo di vita di Activity, Service e Processi Introduzione In questa lezione analizzeremo il ciclo di vita delle Activity e dei Service mettendo in evidenza i criteri utilizzati da Android nella

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

IL COMPUTER NEL TASCHINO, IL NUOVO MONDO DELLE APP

IL COMPUTER NEL TASCHINO, IL NUOVO MONDO DELLE APP FACOLTÀ DI SCIENZE DELLA COMUNICAZIONE CORSO DI LAUREA IN MANAGEMENT E COMUNICAZIONE D IMPRESA INDIRIZZO PUBBLICITÀ E MARKETING Tesi di laurea in Programmazione e scrittura del web IL COMPUTER NEL TASCHINO,

Dettagli

Programmazione Android

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

Dettagli

Programmazione. Android

Programmazione. Android Lezione 3 Programmazione Android Struttura di un'applicazione Android In sviluppo In deployment In esecuzione Il sistema delle risorse Architettura generale Risorse alternative Qualche esempio AndroidManifest.xml

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

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

Node.js Introduzione alla programmazione Dott. Ing. Ivan Ferrazzi V1.0 del 05/11/2012

Node.js Introduzione alla programmazione Dott. Ing. Ivan Ferrazzi V1.0 del 05/11/2012 Node.js Introduzione alla programmazione Dott. Ing. Ivan Ferrazzi V1.0 del 05/11/2012 1/15 Copyright 2012 Dott.Ing. Ivan Ferrazzi Permission is granted to copy, distribute and/or modify this document under

Dettagli

Corso di Visual Basic (Parte I)

Corso di Visual Basic (Parte I) Corso di Visual Basic (Parte I) Come muovere i primi passi con Microsoft Visual Basic, lo strumento da molti considerato ideale per la realizzazione di applicazioni di piccola e media entità in ambiente

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

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

www.informarsi.net MODULO 6 ECDL - EIPASS STRUMENTI DI PRESENTAZIONE - PRESENTATIONS Microsoft PowerPoint http://www.informarsi.net/ecdl/powerpoint/

www.informarsi.net MODULO 6 ECDL - EIPASS STRUMENTI DI PRESENTAZIONE - PRESENTATIONS Microsoft PowerPoint http://www.informarsi.net/ecdl/powerpoint/ MODULO 6 ECDL - EIPASS STRUMENTI DI PRESENTAZIONE - PRESENTATIONS Microsoft PowerPoint http:///ecdl/powerpoint/ INTERFACCIA UTENTE TIPICA DI UN SOFTWARE DI PRESENTAZIONE APERTURA E SALVATAGGIO DI UNA PRESENTAZIONE

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

Ciclo di vita delle aevità Android Mobile Programming Prof. R. De Prisco

Ciclo di vita delle aevità Android Mobile Programming Prof. R. De Prisco Ciclo di vita delle aevità Ogni AcHvity ha dei metodi standard A(vità non esiste 1. oncreate() 2. onstart() 3. onresume() A(vità in esecuzione 4. onpause() 5. onstop() 6. ondestroy() A(vità non esiste

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

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

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

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

Dettagli

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

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

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

Lo sviluppo sarà diviso in passi incrementali. I file coinvolti ad ogni passo saranno indicati insieme alla descrizione del procedimento.

Lo sviluppo sarà diviso in passi incrementali. I file coinvolti ad ogni passo saranno indicati insieme alla descrizione del procedimento. SimpleAudioPlayer Realizzazione di un semplice player Audio. Introduzione Programmiamo una semplice applicazione Android che ci consenta di riprodurre dei file audio locali e/o remoti. Per rendere l applicazione

Dettagli

DNS Domain Name System Dott. Ing. Ivan Ferrazzi V1.2 del 28/02/2013

DNS Domain Name System Dott. Ing. Ivan Ferrazzi V1.2 del 28/02/2013 DNS Domain Name System Dott. Ing. Ivan Ferrazzi V1.2 del 28/02/2013 1/17 Copyright 2013 Dott.Ing. Ivan Ferrazzi Permission is granted to copy, distribute and/or modify this document under the terms of

Dettagli

Laboratorio di Elaborazione e Trasmissione Video

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

Dettagli

Fondamenti di programmazione OpenOffice.org Basic. a cura di nizan Soluzioni Open Source

Fondamenti di programmazione OpenOffice.org Basic. a cura di nizan Soluzioni Open Source Fondamenti di programmazione OpenOffice.org Basic a cura di nizan Soluzioni Open Source GNU Free Documentation License Copyright 2003 nizan Soluzioni OpenSource via Marconi,14 Casalecchio di Reno. Permission

Dettagli

UNIRADIO CESENA: PROGETTAZIONE E IMPLEMENTAZIONE DI UNA MOBILE APP PER WEB RADIO

UNIRADIO CESENA: PROGETTAZIONE E IMPLEMENTAZIONE DI UNA MOBILE APP PER WEB RADIO ALMA MATER STUDIORUM UNIVERSITÀ DI BOLOGNA CAMPUS DI CESENA SCUOLA DI SCIENZE CORSO DI LAUREA IN SCIENZE DELL INFORMAZIONE UNIRADIO CESENA: PROGETTAZIONE E IMPLEMENTAZIONE DI UNA MOBILE APP PER WEB RADIO

Dettagli

Corso Base. Lezione 6. Maurizio Cozzetto, Francesco Sarasini

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

Dettagli

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

Installazione Qt/Qt Quick per target Android

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

Dettagli

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

Android. Location, Maps, Servizi di Sistema

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

Dettagli

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

Iniziativa Comunitaria Equal II Fase IT G2 CAM - 017 Futuro Remoto. Approfondimento SOFTWARE PER L ARCHIVIAZIONE

Iniziativa Comunitaria Equal II Fase IT G2 CAM - 017 Futuro Remoto. Approfondimento SOFTWARE PER L ARCHIVIAZIONE APPROFONDIMENTO ICT Iniziativa Comunitaria Equal II Fase IT G2 CAM - 017 Futuro Remoto Approfondimento SOFTWARE PER L ARCHIVIAZIONE ORGANISMO BILATERALE PER LA FORMAZIONE IN CAMPANIA INDICE SOFTWARE PER

Dettagli

CORSO PRATICO WinWord

CORSO PRATICO WinWord CORSO PRATICO WinWord AUTORE: Renato Avato 1. Strumenti Principali di Word Il piano di lavoro di Word comprende: La Barra del Titolo, dove sono posizionate le icone di ridimensionamento: riduci finestra

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

Sviluppo di applicazioni integrate con il canale di lettura ottica per piattaforma Android

Sviluppo di applicazioni integrate con il canale di lettura ottica per piattaforma Android Sviluppo di applicazioni integrate con il canale di lettura ottica per piattaforma Android Laureando: Marco Ciacco 578487 Relatore: Ch.mo Prof. Federico Filira Corso di laurea: Ingegneria Informatica Data

Dettagli

[Dimensionare la pagina-creare le tabelle-formattare le tabelle-formattare la pagina

[Dimensionare la pagina-creare le tabelle-formattare le tabelle-formattare la pagina [Dimensionare la pagina-creare le tabelle-formattare le tabelle-formattare la pagina Creare cartelle per salvare il lavoro] Per iniziare dobbiamo imparare a gestire quello spazio bianco che diverrà la

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

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

GUIDA SOFTWARE DELL'UTENTE P-touch

GUIDA SOFTWARE DELL'UTENTE P-touch GUIDA SOFTWARE DELL'UTENTE P-touch P700 P-touch P700 Il contenuto della guida e le specifiche di questo prodotto sono soggetti a modifiche senza preavviso. Brother si riserva il diritto di apportare modifiche

Dettagli

Software della stampante

Software della stampante Software della stampante Informazioni sul software della stampante Il software Epson comprende il software del driver per stampanti ed EPSON Status Monitor 3. Il driver per stampanti è un software che

Dettagli

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

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

Dettagli

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

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

Uso del computer e gestione dei file

Uso del computer e gestione dei file Uso del computer e gestione dei file Sommario Uso del computer e gestione dei file... 3 Sistema Operativo Windows... 3 Avvio di Windows... 3 Desktop... 3 Il mouse... 4 Spostare le icone... 4 Barra delle

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

Tekla Structures Guida dell'amministratore licenze. Versione del prodotto 21.1 settembre 2015. 2015 Tekla Corporation

Tekla Structures Guida dell'amministratore licenze. Versione del prodotto 21.1 settembre 2015. 2015 Tekla Corporation Tekla Structures Guida dell'amministratore licenze Versione del prodotto 21.1 settembre 2015 2015 Tekla Corporation Indice 1 Sistema di licenze Tekla Structures... 5 1.1 Lista di controllo consegne Tekla

Dettagli

Uso di trigger di script in FileMaker Pro

Uso di trigger di script in FileMaker Pro Uso di trigger di script in FileMaker Pro Sommario Info su questo bollettino tecnico... 4 Che cos'è un trigger di script?... 4 Quali trigger di script sono supportati da FileMaker Pro?... 5 Panoramica

Dettagli

Lab 01 Sistemi Operativi

Lab 01 Sistemi Operativi Informatica Grafica Ingegneria Edile-Architettura a.a. 2010/2011 Lab 01 Sistemi Operativi Lab01 1 Obiettivi Durante l'esercitazione vedremo come il sistema operativo si occupa di gestire: 1. i processi

Dettagli

Guida installazione Winasped 4 Data ultima revisione della guida: 12-05-2014

Guida installazione Winasped 4 Data ultima revisione della guida: 12-05-2014 Guida installazione Winasped 4 Data ultima revisione della guida: 12-05-2014 Winasped è un'applicazione di tipo client - server pertando è composta da due parti: un programma client e uno server. Di seguito

Dettagli

ISTRUZIONI XCODE. Autore: Luca Florio (luca.floriopolimi.it)

ISTRUZIONI XCODE. Autore: Luca Florio (luca.florio<at>polimi.it) ISTRUZIONI XCODE Autore: Luca Florio (luca.floriopolimi.it) XCode è l ambiente di sviluppo fornito da Apple che permette la creazione di applicazioni OSX e iphone. In questa guida vedremo come installarlo

Dettagli

ISTRUZIONI PER L INSTALLAZIONE DI MINGW

ISTRUZIONI PER L INSTALLAZIONE DI MINGW ISTRUZIONI PER L INSTALLAZIONE DI MINGW Prima di iniziare la procedura di installazione di MinGW dobbiamo dire che il presente software è un compilatore C che non possiede un ambiente di programmazione.

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

Eclipse. Avviare un progetto e compilare un semplice programma

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

Dettagli

Android. Memorizzazione di dati

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

Dettagli

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

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

Dettagli

SIMPLY JOB. Progetto per il corso di Programmazione III e Laboratorio A.A 2014-2015. Realizzato da: Massimo Buonocore 0124000226

SIMPLY JOB. Progetto per il corso di Programmazione III e Laboratorio A.A 2014-2015. Realizzato da: Massimo Buonocore 0124000226 Progetto per il corso di Programmazione III e Laboratorio A.A 2014-2015 SIMPLY JOB Realizzato da: Massimo Buonocore 0124000226 Dario Telese 0124000330 L IDEA L' idea di questa applicazione è nata come

Dettagli

Introduzione ad Eclipse

Introduzione 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

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

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

Java con GNU/Linux. di Giacomino Timillero

Java con GNU/Linux. di Giacomino Timillero Programmare in Java con GNU/Linux di Giacomino Timillero 1 Introduzione Questa guida è indirizzata a chi intende realizzare programmi in Java all'interno di un sistema operativo GNU/linux. Questa guida

Dettagli

PC Crash Course: OBIETTIVI

PC Crash Course: OBIETTIVI PC Crash Course: OBIETTIVI 1. PC: uno strumento 2. Microsoft Windows XP: alcuni concetti chiave della interfaccia grafica 3. File System: file, direttori, link, 4. Il prompt dei comandi 5. Un occhiata

Dettagli