Android Intent, AlertDialog, SharedPreferences. Intents.

Slides:



Advertisements
Presentazioni simili
XmlBlackBox La presentazione Alexander Crea 11 Aprile 2010 La presentazione Alexander Crea 11 Aprile 2010.
Advertisements

Programmazione ad oggetti
CONCLUSIONE - Nucleo (o Kernel) Interagisce direttamente con lhardware Interagisce direttamente con lhardware Si occupa dellesecuzione.
Costruttori e Distruttori
Recupero debito quarto anno Primo incontro
Procedure e funzioni A. Ferrari.
Unità D2 Database nel web. Obiettivi Comprendere il concetto di interfaccia utente Comprendere la struttura e i livelli che compongono unapplicazione.
PHP.
LIP: 4 Aprile 2008 ECCEZIONI. Eccezioni Come si definiscono eccezioni Come si lanciano Come si gestiscono (gestione esplicita o di default)
LIP: 1 Marzo 2005 Classe Object e Vettori. Partiamo da Lesercizio dellultima esercitazione realizzato tramite array Vedremo come si puo fare in modo piu.
Università degli Studi di Modena e Reggio Emilia
Fondamenti di Informatica
XmlBlackBox La presentazione Alexander Crea 7 Giugno 2010 La presentazione Alexander Crea 7 Giugno 2010.
Argomenti dalla linea dei comandi Gli argomenti possono essere passati a qualsiasi funzione di un programma, compresa la main(), direttamente dalla linea.
Funzioni definite dall’utente
Eccezioni Dott. Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione Università di Siena Via Roma 56 – – SIENA Uff
JAVASCRIPT DIFFERENZA TRA JAVASCRIPT E JAVA TAG LO SCRIPT OGGETTI LE CLASSI FUNZIONE GESTORE DI EVENTI ELEMENTI DEL LINGUAGGI è un vero e proprio linguaggio.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Funzioni e Procedure Marco D. Santambrogio – Ver. aggiornata al 18 Aprile 2012.
1 Corso di Informatica (Programmazione) Lezione 12 (19 novembre 2008) Programmazione in Java: i metodi statici.
Sistemi Operativi GESTIONE DEI PROCESSI.
I File.
Il linguaggio ASP Lezione 4 Manipolare i database con ASP Lutilizzo dei FORM per laggiunta dei dati.
Intent e Intent Filters. Intents Un Intent può contenere dati che possono essere utilizzati dalla componente che riceve. Ad esempio, un'Activity chiama.
GESTIONE DEGLI ERRORI Spesso vi sono istruzioni critiche, che in certi casi possono produrre errori. Lapproccio classico consiste nellinse- rire controlli.
Corso di PHP.
Riservato Cisco 1 © 2010 Cisco e/o i relativi affiliati. Tutti i diritti sono riservati.
I Metodi in Java Il termine "metodo" è sinonimo di "azione". Quindi, affinché un programma esegua qualche istruzione, deve contenere metodi.
Introduzione alla programmazione Object Oriented
L’Abilitazione come Punto Ordinante
BIOINFO3 - Lezione 111 CGI-BIN CGI-BIN sono chiamati i programmi la cui esecuzione può essere richiesta attraverso il WEB. Il server web (httpd) della.
BIOINFO3 - Lezione 331 SUBROUTINE IN PERL Una subroutine (funzione, metodo, procedura o sottoprogramma), e` una prozione di codice all`interno di un programma.
2000 Prentice Hall, Inc. All rights reserved. Attivazione di funzioni La chiamata/attivazione di funzione viene indicata citando il nome della funzione.
ISTITUTO STATALE DI ISTRUZIONE SUPERIORE F. ENRIQUES CORSO JAVA – PROVA FINALE DEL 21 MAGGIO 2007 NOME: COGNOME: ________________________________________________________________________________.
ISTITUTO STATALE DI ISTRUZIONE SUPERIORE F. ENRIQUES CORSO JAVA – PROVA INTERMEDIA DEL 12 MARZO 2007 NOME: COGNOME: ________________________________________________________________________________.
Lazienda SC Informatica si occupa della progettazione e della realizzazione di sistemi informatici dedicati alle farmacie. Fornisce inoltre un servizio.
I metodi F. Bombi Campi e metodi Abbiamo visto che una classe può contenere – Campi – Metodi stato I campi sono utilizzati per memorizzare.
I nomi in Java F. Bombi 18 novembre novembre 2003.
Lavorare con le query Federica Scarrione 18/05/2009 fonte:
1 FONDAMENTI DI INFORMATICA II Ingegneria Gestionale a.a ° Ciclo Polimorfismo.
PROGETTO PROGRAMMAZIONE III E LABORATORIO DOCENTE Raffaele Montella CANDIDATI Michelino Rita 0124/66 Cardinale Alessandro 0124/51.
Definizione di classi Capitolo 18 febbraio 2004 Definizione di classi.
Nemesi Creazione e pubblicazione di una rivista online tramite l’utilizzo di Java Message Service.
Analisi dettagliata e design
1 Eccezioni in Java. 2 Ricordiamo che 4 una procedura può terminare –normalmente, ritornando un risultato –in modo eccezionale ci possono essere diverse.
Ripasso su Java. Introduzione Per risolvere problemi complessi, i linguaggi di programmazione forniscono costrutti per realizzare nuove funzioni che trasformino.
Supporto per la replicazione attiva di servizi Progetto per il corso di Reti di Calcolatori LS Montanari Mirko Matr:
LIP: 22 Marzo 2005 Eccezioni. Eccezioni-Richiami Come si definiscono eccezioni Come si lanciano Come si gestiscono (gestione esplicita o di default)
Progettare una classe 21 Febbraio La classe BankAccount Vogliamo realizzare una classe i cui oggetti sono dei semplici conti bancari. * Identifichiamo.
Informatica 4 La ricorsione. Definizione di ricorsione Ricorsione è la proprietà di quei programmi che, all’interno delle istruzioni che li compongono,
1 Java secondo contatto Nel tunnel una luce…. 2 Esercizio - Contatore Definire la classe Contatore con le seguenti caratteristiche:  Il metodo getValore.
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
1 Metodo I metodi sono uno strumento che i programmatori usano per strutturare i programmi, sia per renderli più facili da capire che per permettere il.
* R AMAN K AZHAMIAKIN O SCAR Z G IOVANNI D E ITT M. B UONARROTI, T RENTO A NDROID D EVELOPMENT S ERVIZI E N OTIFICHE.
* R AMAN K AZHAMIAKIN O SCAR Z G IOVANNI D E ITT M. B UONARROTI, T RENTO A NDROID D EVELOPMENT E LEMENTI BASE.
Corso di programmazione di sistemi mobile 1 1 Android Laboratorio Primo Progetto, Toast.
Eprogram informatica V anno. Programmare in rete.
+ Gestire la persistenza Nicolò Sordoni. + Meccanismi di persistenza dei dati In Windows Phone, come negli altri ambienti, abbiamo tre soluzioni principali.
+ Connettersi al web Nicolò Sordoni. + Verificare se lo smartphone è connesso Per poter accedere alla rete, è consigliato innanzitutto verificare se il.
+ Geolocalizzazione Nicolò Sordoni. + Servizi di localizzazione In Windows Phone, la posizione dell’utente può essere rilevata in 3 differenti modi: GPS:
Corso di programmazione di sistemi mobile 1 1 Android Activity, View e Layout.
Gestire i dati: download e salvataggio. L’importanza dei dati La quasi totalità delle applicazioni hala necessità di gestire varie funzionalità relative.
SQLite. Introduzione a SQLite Oltre alla possibilità di memorizzare informazioni persistenti attraverso Preferences e files, Android mette a disposizione.
Metodi in Java. Note Identificazione input: (il raggio è un numero reale !!!) Identificazione delle operazioni necessarie al calcolo Area=r*r*PI Circonferenza=2*r*PI.
Introduzione alle Classi e agli Oggetti in Java 1.
Usare le mappe. MapKit Per utilizzare le mappe all’interno di uno specifico VIewController, è sufficiente inserire al suo interno una view di tipo MKMapView.
Gestire la navigazione. Creare un’app multi Controller La quasi totalità delle app è suddivisa in più ViewControllers, ognuno con specifiche funzionalità.
* R AMAN K AZHAMIAKIN O SCAR Z G IOVANNI D E ITT M. B UONARROTI, T RENTO A NDROID D EVELOPMENT P ERSISTENZA.
Controlli. Storyboard L’assistant editor consente una visualizzazione contestuale in cui sono affiancati verticalmente il ViewController nello storyboard.
Controlli. ActionSheet e Alert Selezionare un’azione In molte situazioni è necessario fornire all’utente una scelta fra varie azioni disponibili. per.
Android Development Introduzione a sviluppo
Transcript della presentazione:

Android Intent, AlertDialog, SharedPreferences

Intents

Un intent è un oggetto che viene utilizzato in Android per richiedere l’esecuzione di una particolare azione da parte del componente dell’applicazione (o anche di un’app differente). Possono gestire vari tipi di interazioni fra Activity differenti, ma principalmente vengono utilizzati per avviare un’activity, un servizio o per lanciare un broadcast (messaggio che qualsiasi app può ricevere). Esistono due tipi di intent: Intent espliciti: specificano il componente da avviare indicandone specificamente il nome (nome completo della classe che lo rappresenta). L’utilizzo principale di questo tipo di intent è per avviare un’activity o un servizio relativi all’app corrente. Intent impliciti: non indicano un componente, ma un’azione generale che deve essere eseguita, delegandone la gestione ad un componente che dichiara di essere in grado di svolgere tale compito (anche di un’altra app). INTENTS 3

Il seguente esempio mostra come inviare un intent esplicito per invocare una specifica activity: INTENTS ESPLICITI Intent intent = new Intent(CurrentActivity.this, OtherActivity.class); startActivity(intent); Per farlo è necessario creare un oggetto di tipo Intent, passando come parametri al costruttore il riferimento al Context attuale e la classe dell’Activity che vogliamo lanciare. Dopodichè è sufficiente invocare il metodo startActivity, passando l’Intent appena creato.

E’ possibile definire delle proprie azioni custom, per definire una propria Activity che possa essere lancita anche dall’esterno della nostra applicazione. Per farlo è sufficiente associarle, all’interno del Manifest, un intent-filter che definisca la nostra custom Action, nel seguente modo: INTENTS IMPLICITI CUSTOM 5 Per poter lanciare in modo esplicito l’Intent corrispondente all’azione appena definita, è sufficiente utilizzare il seguente codice:

Il seguente frammento di XML mostra un activity che dichiara di essere in grado di inviare informazioni testuali. Oltre al tipo di azione (SEND), è necessario specificare inoltre il mimeType delle informazioni che il componente può gestire (in questo caso dati testuali). INTENTS IMPLICITI: SEND 6 Il seguente frammento di codice Java invece, mostra come richiedere l’esecuzione della medesima azione. Anche in questo caso si specifica il mimeType ed è, ovviamente, necessario aggiungere come extra la stringa da inviare Intent sendIntent = new Intent(); sendIntent.setAction(Intent.ACTION_SEND); sendIntent.putExtra(Intent.EXTRA_TEXT, textMessage); sendIntent.setType(HTTP.PLAIN_TEXT_TYPE); //Si verifica l’esistenza di un activity in grado di assolvere il compito if (sendIntent.resolveActivity(getPackageManager()) != null) { startActivity(sendIntent); }

L’azione VIEW viene utilizzata per specificare informazioni che devono essere mostrate all’utente. Tale action richiede come input le informazioni da visualizzare, passate sotto forma di URI. Il componente che dichiara di gestire tali azioni, deve riportare, nel proprio intent-filter, un tag data in cui specifica, nell’attributo scheme, i tipi di URI che supporta. I frammenti che seguono mostrano, da un lato un intent-filter che consente di dichiarare un componente in grado di gestire la visualizzazione di URI aventi come schema http, e dall’altro l’invocazione di un componente in grado di gestire le stesse informazioni. INTENTS IMPLICITI: VIEW 7 Intent viewIntent = new Intent(); sendIntent.setAction(Intent.ACTION_VIEW); intent.setData(Uri.parse(" startActivity(viewIntent);

PASSAGGIO DI INFORMAZIONI TRAMITE INTENT 8 In alcuni casi può essere necessario passare informazioni all’activity che stiamo avviando, mentre, in altre situazioni, può essere richiesto che sia l’activity invocata a restituirci dei risultati. Per passare informazioni all’activity è sufficiente invocare, sull’intent, il metodo putExtra(..), i cui overload ci consentono di inviare dati di vario tipo (String, int, Serializable,..) Per far si che sia l’activity a restituirci informazioni è necessario utilizzare, anzichè startActivity(..), il metodo startActivityForResult(..). I risultati possono essere invece recuperati nell’apposita funzione di callback OnActivityResult. Intent intent=new Intent(this, MainActivity.class); intent.putExtra(EXTRA_NOME, "Marco"); startActivityForResult(intent, REQUEST_CODE); protected void onActivityResult(int requestCode, int resultCode, Intent data) { … } Il parametro requestCode consente di associare la richiesta alla corrispondente risposta.

L’activity che viene lanciata deve ovviamente essere in grado di recuperare le informazioni associate al relativo Intent. Per poterlo fare è necessario innanzitutto recuperare l’intent attraverso il metodo getIntent(). Dopodichè è necessario invocare il metodo appropriato a seconda del tipo di informazioni che si vogliono recuperare e di come queste sono state passate all’intent. Per esempio, per recuperare le informazioni passate nell’esempio relativo all’azione FORM, in cui l’informazione è stata passata come extra, il codice per recuperare il testo da inviare sarà il seguente: PASSAGGIO DI INFORMAZIONI TRAMITE INTENT 9 Intent intent = getIntent(); if( intent != null) String text = intent.getStringExtra(EXTRA_NOME); L’activity che viene lanciata attraverso la funzione startActivityForResult(..), deve essere inoltre in grado di restituire le informazioni richieste. Per farlo viene utilizzato, anche in questo caso, un’Intent, che sarà passato come parametro alla funzione setResult(..).

SharedPreferences

Le SharedPreferences sono un meccanismo, fornito dal sistema Android, che ci permette di salvare dei singoli oggetti in maniera rapida e persistente. Abbiamo la possibilità di salvare oggetti di tutti i tipi base (String, int, boolean,...) più qualsiasi oggetto che implementi le interfacce Serializable o Parcelable. Per salvare informazioni in una preference, è necessario recuperare un oggetto di tipo SharedPreferences (tramite un apposito metodo della classe Context). Dopodichè, dato che il salvataggio di informazioni nelle preferences è gestito con logica transazionale, è necessario invocare il metodo edit() per aprire una nuova informazione, utilizzare il metodo putString (se vogliamo salvare una stringa) per salvare l’oggetto ed infine concludere la transazione attraverso la funzione apply(). SHARED PREFERENCES : SALVATAGGIO 11

l recupero di informazioni è molto più immediato, dato che è sufficiente recuperare l’oggetto SharedPreferences associato all’applicazione corrente ed infine richiamare il metodo per il recupero del tipo di dato desiderato. SHARED PREFERENCES: LETTURA 12

AlertDialog

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). Il codice che segue mostra un esempio di creazione di una dialog. ALERT DIALOG 14

Alert Dialog