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

Размер: px
Начинать показ со страницы:

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

Транскрипт

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

2 Corso di programmazione di sistemi mobile 2 Passaggio di dati tra activity Il passaggio di tra activity può avvenire quando l activity che si vuole avviare debba visualizzare informazioni oppure quando l activity che si è avviata deve restituire delle informazioni. Nel primo caso il passaggio di dati avviene quando si invoca il metodo startactivity(); Intent intent = new Intent(this, SecondActivity.class); intent.putextra("random", new Random().nextInt(1000)); startactivity(intent); intent.putextra ci consente di passare un qualsiasi dato primitivo o oggetto all activity tramite l assegnazione di una chiave L activity avviata potrà recuperare i dati ricevuti tramite l invocazione del metodo getintent(); Intent intent = getintent(); int random = intent.getintextra("random", 0);

3 Corso di programmazione di sistemi mobile 3 Nel caso in cui l attività portata in cima allo stack deve restituire delle informazioni a quella di partenza, sdovrà utilizzare un metodo diverso da startactivity(): startactivityforresult(intent intent, int requestcode) Dove: Intent intent contiene i dati e le informazioni per avviare l activity desiderata int requestcode intero univoco per identificare l activity chiamata Al termine del ciclo di vita dell activity avviata l activity padre potrà recuperare le informazioni tramite il metodo onactivityresult(int requestcode, int resultcode, Intent data); Dove: int requestcode intero univoco che identificare l activity appena terminata int resultcode intero che identifica il risultato dell operazione, solitamente assume i valori di RESULT_OK o RESULT_CANCELED. Intent intent contiene i dati restituiti dall activity, può essere null

4 Corso di programmazione di sistemi mobile 4 Esercizio 1 Creare un applicazione con un pulsante «inserisci» la cui pressione apre una nuova activity in cui è richiesto l inserimento dei dati dell utente, tra cui almeno il nome. Tornando indietro attraverso la pressione di un pulsante «ok», si stampi nella prima activity, quella con il solo pulsante «inserisci» l dell utente appena inserito.

5 Alert Dialog Le AlertDialog vengono utilizzate per mostrare informazioni importanti all utente o per richiedere conferma prima dell esecuzione di un operazione critica o comunque definitiva (come la cancellazione di alcune informazioni). Per creare un Dialog si utilizza un oggetto di tipo Builder new AlertDialog.Builder(MainActivity.this).setTitle("Vuoi salvare").setmessage(r.string.message).setpositivebutton("si", new DialogInterface.OnClickListener() { public void onclick(dialoginterface dialog, int id) { ).setnegativebutton(r.string.no, null).show(); 5 Corso di programmazione di sistemi mobile 5

6 Corso di programmazione di sistemi mobile 6 Esercizio 2 Partendo dall esercizio precedente aggiungere un alert dialog se l utente non ha inserito i dati per ogni campo. Si deve visualizzare un messaggio contenente i campi che non sono stati compilati

7 Corso di programmazione di sistemi mobile 7 ListView Per rappresentare elenchi di dati in un applicazione si usano le ListView. <ListView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/listview" android:dividerheight="1dp" android:divder="#ff0000" /> Con divider e dividerheight è possibile visualizzare un spazio di colore rosso fra gli elementi della lista. Per impostare gli elementi all interno della listview è necessario creare una classe che estenda BaseAdapter e passare la classe al metodo listview.setadapter(mybaseadapter); Esistono diverse implementazioni della classe BaseAdapter tra cui ArrayAdapter<T> che contiene i metodi per manipolare le liste.

8 Base Adapter public class MyBaseAdapter extends BaseAdapter { private LayoutInflater inflater; private List<String> list; public MyBaseAdapter(Context context, List<String> list) { inflater = LayoutInflater.from(context); this.list = list; public int getcount() { return list.size(); public String getitem(int position) { return list.get(position); public long getitemid(int position) { return 0; public View getview(int position, View convertview, ViewGroup parent) { if (convertview == null) convertview = inflater.inflate(r.layout.list_item, parent, false); ((TextView) convertview.findviewbyid(r.id.text)).settext(getitem(position)); return convertview; Corso di programmazione di sistemi mobile 8

9 Corso di programmazione di sistemi mobile 9 ArrayAdapter<T> Per utilizzare l adapter con una view custom è necessario effettuare l override le metodo getview(); public class MyAdapter extends ArrayAdapter<String> { private LayoutInflater inflater; public MyAdapter(Context context, List<String> list) { super(context, 0, list); inflater = LayoutInflater.from(context); public View getview(int position, View convertview, ViewGroup parent) { if (convertview == null) convertview = inflater.inflate(r.layout.list_item, parent, false); TextView textview = (TextView) convertview.findviewbyid(r.id.text); textview.settext(getitem(position)); return convertview;

10 Corso di programmazione di sistemi mobile 10 <LinearLayout xmlns: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> public class MainActivity extends AppCompatActivity { protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); ListView listview = (ListView) findviewbyid(r.id.list_view); MyAdapter adapter = new MyAdapter(this, Arrays.asList("primo", "secondo", "terzo", "quarto")); listview.setadapter(adapter);

11 Corso di programmazione di sistemi mobile 11 Esercizio 3 Si vuole realizzare un applicazione che mostri un elenco di contatti presenti con nome, cognome e numero di telefono. Sarà presente un pulsante la cui pressione comporta la possibilità di aggiungere un nuovo utente alla lista. Al click su elemento della lista deve essere visualizzato il contatto. Per poter mantenere in memoria la lista dei contatti è consigliato l utilizzo di una classe singleton.

Corso Base. Lezione 5. Maurizio Cozzetto, Francesco Sarasini

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

Подробнее

Pag. 1/8. Esercizi lezione 4. Esercizio A

Pag. 1/8. Esercizi lezione 4. Esercizio A Pag. 1/8 Esercizi lezione 4 Esercizio A Progettate una UI con una textview (id=text) e un pulsante (id=button). Cliccando sul pulsante appare una alert dialog con un avviso e un pulsante. Suggerimenti:

Подробнее

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

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

Подробнее

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

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

Подробнее

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

Подробнее

Android lezione 9 Le listview

Android lezione 9 Le listview Android lezione 9 Le listview In questa lezione introduciamo le ListView. Una listview ci permette di mostrare una serie di elementi all interno di una lista che puo anche essere scrollata. Ecco un esempio

Подробнее

Android. Intent e intent-filter. [email protected]

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

Подробнее

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

Подробнее

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

Подробнее

Android. Adapter e ListView. [email protected]

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

Подробнее

Programmazione Android. Luca Morettoni <[email protected]> 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;

Подробнее

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

Подробнее

Corso Base. Lezione 7. Maurizio Cozzetto, Francesco Sarasini

Corso Base. Lezione 7. Maurizio Cozzetto, Francesco Sarasini Corso Base Lezione 7 Maurizio Cozzetto, Francesco Sarasini Effettuare una telefonata String dial = "tel:0301234567"; Uri teluri = Uri.parse(dial); Intent intent = new Intent(Intent.ACTION_DIAL, teluri);

Подробнее

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

Подробнее

Android. Google Maps v2.

Android. Google Maps v2. Android Google Maps v2 [email protected] Uso delle mappe Google v2 (1) Per poter utilizzare le mappe di Google v2 bisogna prima di tutto ottenere una API map key registrandosi sulla console delle api

Подробнее

Android. Custom View.

Android. Custom View. Android Custom View [email protected] Creazione di una Custom View (1) La classe View è la classe madre di tutti i componenti visuali di Android. Ogni sottoclasse implementa il metodo ondraw(canvas)

Подробнее

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

Подробнее

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

Подробнее

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

Подробнее

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

Подробнее

Android. Android01: Introduzione alle Activity.

Android. Android01: Introduzione alle Activity. Android Android01: Introduzione alle Activity [email protected] Applicazioni Android (1) Una applicazione android è un insieme di task ognuno dei quali è detto Activity. Ogni Activity ha un unico scopo

Подробнее

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

Подробнее

7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari

7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari 7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa

Подробнее

Fragments. Frammento. Un acmvity può ospitare vari frammenm. Si possono creare UI con molm frammenm

Fragments. Frammento. Un acmvity può ospitare vari frammenm. Si possono creare UI con molm frammenm Università di Salerno - a.a. 2013-2014 1 Frammento rappresenta una porzione dell UI 2 Un acmvity può ospitare vari frammenm I frammenm possono essere inserim e rimossi durante l esecuzione Si possono creare

Подробнее

Progettazione e sviluppo di un applicazione smartphone per acquisti usando l nfc

Progettazione e sviluppo di un applicazione smartphone per acquisti usando l nfc ALMA MATER STUDIORUM - UNIVERSITA' DI BOLOGNA CAMPUS DI CESENA SCUOLA DI SCIENZE CORSO DI LAUREA IN SCIENZE E TECNOLOGIE INFORMATICHE Progettazione e sviluppo di un applicazione smartphone per acquisti

Подробнее

Inserimento in una lista ordinata

Inserimento in una lista ordinata Inserimento in una lista ordinata Vogliamo inserire un nuovo elemento in una lista in cui gli elementi sono memorizzati in ordine crescente: Passo 1: creare un nuovo nodo della lista Passo 2: trovare il

Подробнее

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

Подробнее

GUIDA APPLICATIVA GESTIONE UFFICI ZONALI PATRONATO NAZIONALE

GUIDA APPLICATIVA GESTIONE UFFICI ZONALI PATRONATO NAZIONALE GUIDA APPLICATIVA PATRONATO NAZIONALE PATRONATO NAZIONALE VERSIONE 1.0 INDICE DEL DOCUMENTO 1. Gestione Uffici Zonali...3 2. Inserimento/Modifica Contatti Patronato Nazionale... 4 2.1. Inserimento/Modifica

Подробнее

Programmazione. Cognome... Nome... Matricola... Compitino del 17 gennaio 2007

Programmazione. Cognome... Nome... Matricola... Compitino del 17 gennaio 2007 Cognome............................. Nome................................ Programmazione Compitino del 17 gennaio 2007 Matricola............................ NOTA: Negli esercizi 1, 2, 3, 4 fate riferimento

Подробнее

NPA Nuovo Portale Anagrafiche

NPA Nuovo Portale Anagrafiche NPA Nuovo Portale Anagrafiche Manuale Operativo Richiedente Anagrafiche Clienti Sommario NPA: Home Page... 3 Home... 3 Funzionalità Cliente... 5 Creazione... 5 Tipologia soggetto... 5 Richiesta dati cribis...

Подробнее

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

Подробнее

Le liste. Le liste linkate

Le liste. Le liste linkate Le liste Le liste linkate Molto spesso bisogna gestire insiemi di oggetti dello stesso tipo. Un modo molto semplice per tenere in memoria tali insiemi consiste nel creare un array per contenerli. Nome

Подробнее

Utilizzo delle Maschere in Microsoft Access

Utilizzo delle Maschere in Microsoft Access Utilizzo delle Maschere in Microsoft Access Uso delle maschere Permettono di definire delle interfacce grafiche per la gestione dei dati del database Permettono di realizzare delle piccole applicazioni

Подробнее

Programmazione a oggetti

Programmazione a oggetti Programmazione a oggetti Quanti oggetti, tra di loro parlando, fanno programmi. Pilu Crescenzi [email protected] Università di Firenze Programmazione a oggetti p.1/32 Cosa è un oggetto Una scatola software

Подробнее

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

Подробнее

Interfacce. Esempio: interfaccia I con una sola funzione g() public interface I {

Interfacce. Esempio: interfaccia I con una sola funzione g() public interface I { Interfacce Una interfaccia è un astrazione per un insieme di funzioni pubbliche delle quali si definisce solo la segnatura, e non le istruzioni. Un interfaccia viene poi implementata da una o più classi

Подробнее

Implementazione dell albero binario in linguaggio C++

Implementazione dell albero binario in linguaggio C++ Implementazione dell albero binario in linguaggio C++ Costruire il programma per gestire le operazioni su un albero binario. Ogni nodo dell albero contiene un codice e una descrizione; il programma deve

Подробнее

INTRODUZIONE INTERFACCIA UTENTE SCENARIO D INTEGRAZIONE CON L ANAGRAFE REGIONALE FILTRI DI RICERCA MINIMI RICHIESTI...

INTRODUZIONE INTERFACCIA UTENTE SCENARIO D INTEGRAZIONE CON L ANAGRAFE REGIONALE FILTRI DI RICERCA MINIMI RICHIESTI... !!!" "!!"!# $! !!!$ 1. INTRODUZIONE... 4 1.1. INTERFACCIA UTENTE... 5 1.2. SCENARIO D INTEGRAZIONE CON L ANAGRAFE REGIONALE... 10 1.3. FILTRI DI RICERCA MINIMI RICHIESTI... 11 2. MODALITA DI RICERCA E

Подробнее

A. Lorenzi, A. Rizzi Java. Programmazione ad oggetti e applicazioni Android Istituto Italiano Edizioni Atlas

A. Lorenzi, A. Rizzi Java. Programmazione ad oggetti e applicazioni Android Istituto Italiano Edizioni Atlas Classi e oggetti A. Lorenzi, A. Rizzi Java. Programmazione ad oggetti e applicazioni Android Istituto Italiano Edizioni Atlas Oggetti La programmazione orientata agli oggetti, OOP (Object-Oriented Programming),

Подробнее

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 Architettura SW Ambiente di sviluppo (Android Studio) Esempi Helloworld MVC programming

Подробнее

La connessione ai database MySQL tramite script PHP versione 5.5

La connessione ai database MySQL tramite script PHP versione 5.5 La connessione ai database MySQL tramite script PHP versione 5.5 Php è un linguaggio di scripting che estende le funzionalità del server Web, mentre MySQL è un programma server che si occupa della gestione

Подробнее

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Sintassi e Semantica Riferimenti versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Подробнее

WORD PROCESSING.

WORD PROCESSING. WORD PROCESSING www.diego72.altervista.org CREARE IN SERIE LETTERE ED ETICHETTE La Creazione guidata Stampa unione è presente nella scheda Lettere consente di creare lettere tipo, etichette per indirizzi,

Подробнее

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo Programmazione Orientata agli Oggetti Emilio Di Giacomo e Walter Didimo Una metafora dal mondo reale la fabbrica di giocattoli progettisti Un semplice giocattolo Impara i suoni Dall idea al progetto Toy

Подробнее

Esercizi Strutture dati di tipo astratto

Esercizi Strutture dati di tipo astratto Salvatore Cuomo Esercizi Strutture dati di tipo astratto Lezione n. 20 Parole chiave: Strutture dati, pile code, liste Corso di Laurea: Informatica Insegnamento: Programmazione II, modulo di Laboratorio

Подробнее

Applicazione Manutenzione Stabili MANUALE UTENTE Ruolo Azienda Manutentrice

Applicazione Manutenzione Stabili MANUALE UTENTE Ruolo Azienda Manutentrice Applicazione Manutenzione Stabili MANUALE UTENTE Ruolo Azienda Manutentrice INTRODUZIONE: Scopo del presente manuale è descrivere le modalità di utilizzo del sistema Manutenzione Stabili per gli utenti

Подробнее