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

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

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

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

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

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

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

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

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

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

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

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

Lezione 6 Gestione degli eventi dei widget

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

Dettagli

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Laboratorio di Ingegneria del Software A.A 2009/2010 Programmazione su Android A cura di Carlo Pelliccia. Lezione 7 Menù

Laboratorio di Ingegneria del Software A.A 2009/2010 Programmazione su 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 il concetto di menù, al quale si rivolgono ogni volta

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

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

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

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

Lezione 2 Gestione delle risorse

Lezione 2 Gestione delle risorse A cura di Carlo Pelliccia Se c è un aspetto di Android dal quale si evince la modernità di questo sistema, è la sua maniera di gestire le risorse ed i dati. Nelle piattaforme di sviluppo meno moderne,

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

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

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

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

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

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

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

PROGRAMMIAMO CON CORSO

PROGRAMMIAMO CON CORSO po ri iap Ch dr ea An di Impariamo a sviluppare su piattaforma Android applicazioni per smartphone, tablet e dispositivi embedded che ci permetteranno di interfacciarci col mondo elettronico esterno e

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

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

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

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 A1 - Interfacce grafiche 1 Prerequisiti Utilizzo di un sistema operativo Programmazione elementare ad oggetti Concetto di macchina virtuale Tipi di interfaccia Riferimento

Dettagli

Lezione 15 Location e mappe

Lezione 15 Location e mappe A cura di Carlo Pelliccia La diffusione delle applicazioni location-based è certamente uno dei maggiori contributi resi dalle piattaforme mobili alla storia dell informatica. Un applicazione o un servizio

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

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

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

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

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

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

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

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

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

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

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

Manuale utente software Android

Manuale utente software Android Manuale utente software Android 1 1. Specifiche...3 2. Entrare e uscire dal sistema...3 2.1 Login...3 2.2 Logout...3 3. Programma di Editing...4 3.1 Interfaccia del programma...4 3.1.1 Pannello del programma...5

Dettagli

Tutorial sugli ambienti di sviluppo: Eclipse e NetBeans

Tutorial sugli ambienti di sviluppo: Eclipse e NetBeans Tutorial sugli ambienti di sviluppo: Eclipse e NetBeans Prima di tutto va installato il compilatore, ottenibile scaricando ed installando MinGW o CygWin. MinGW: http://www.mingw.org/download.shtml CygWin:

Dettagli

Manuale di Picto Selector

Manuale di Picto Selector Manuale di Picto Selector INDICE DEI CONTENUTI 1. Scaricare ed installare il programma.... 1 2. Avvio del programma per la prima volta.... 6 3. Creare la nostra prima tabella di comunicazione... 8 4. Salvare

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

Guida di Keyboard Builder. 2009 Sielco Sistemi Srl

Guida di Keyboard Builder. 2009 Sielco Sistemi Srl Guida di Keyboard Builder Guida di Keyboard Builder Keyboard Builder è uno strumento che permette di costruire tastiere da visualizzare sullo schermo, utili per la realizzazione di applicazioni che operano

Dettagli

Utilizzare il debugger di Visual Studio

Utilizzare il debugger di Visual Studio Appendice F Utilizzare il debugger di Visual Studio Obiettivi Essere in grado di impostare i breakpoint e di eseguire un programma nel debugger. Essere in grado di utilizzare il comando Continue per continuare

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

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

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

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

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

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

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

Installazione del Software. per lo Sviluppo di Applicazioni Java

Installazione del Software. per lo Sviluppo di Applicazioni Java Installazione del Software per lo Sviluppo di Applicazioni Java Ing. Luca Ferrari ferrari.luca@unimore.it Tel. 0592056142 Installazione del Software per lo Sviluppo di Applicazioni Java 1 Il Compilatore

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

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

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

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

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

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

3. Gestione di un sistema operativo a interfaccia grafica (elementi di base) 3.1 Software

3. Gestione di un sistema operativo a interfaccia grafica (elementi di base) 3.1 Software Pagina 29 di 47 3. Gestione di un sistema operativo a interfaccia grafica (elementi di base) 3.1 Software Come abbiamo già detto in precedenza, l informatica si divide in due grandi mondi : l hardware

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

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

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