Corso di programmazione di sistemi mobile 1. Android Laboratorio. Activity, ListView e Adapter
|
|
|
- Luca Nobile
- 9 anni fa
- Просмотров:
Транскрипт
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 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 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
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
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
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 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 [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 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 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 [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 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
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 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
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 [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 [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.
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
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
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à 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 [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
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 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
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
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 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à
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 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
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 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 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 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 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 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
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 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++ 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...
!!!" "!!"!# $! !!!$ 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
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. 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 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 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 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 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
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 INTRODUZIONE: Scopo del presente manuale è descrivere le modalità di utilizzo del sistema Manutenzione Stabili per gli utenti
