Sistemi Mobili e Wireless Android - Dati persistenti: SQLite

Похожие документы
Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere

Utilizzando Microsoft Access. Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono alcuni campi

Sistemi Mobili e Wireless Android - Servizi

Data Base. Master "Bio Info" Reti e Basi di Dati Lezione 6

DBMS (Data Base Management System)

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R:

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.

MySQL Database Management System

Dispensa di database Access

Le query. Lezione 6 a cura di Maria Novella Mosciatti

Al giorno d oggi, i sistemi per la gestione di database

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database

Manuale di Aggiornamento BOLLETTINO. Rel DATALOG Soluzioni Integrate a 32 Bit

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

Raggruppamenti Conti Movimenti

DBMS. Esempi di database. DataBase. Alcuni esempi di DBMS DBMS. (DataBase Management System)

Database Manager Guida utente DMAN-IT-01/09/10

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7. Il trattamento dei dati

Access. P a r t e p r i m a

Uso delle basi di dati. Informazione e dato. Cos è un database. Tabelle. Esempi di database

Istruzioni SQL 1. Query di selezione 2 Istruzione SELECT 2 Istruzione SELECT DISTINCT 2 ORDER BY 3 WHERE 3 La condizione LIKE 4 BETWEEN AND 5

Lezione 9. Applicazioni tradizionali

Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere;

Informatica per le discipline umanistiche 2 lezione 10

OSSIF WEB. Manuale query builder

Introduzione al Linguaggio C

PHP e Structured Query Language

Informatica Generale Andrea Corradini Sistemi di Gestione delle Basi di Dati

MODULO 5 ACCESS Basi di dati. Lezione 4

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino

Istruzioni DML di SQL

CONCETTO DI ANNIDAMENTO

GERARCHIE RICORSIVE - SQL SERVER 2008

Autodesk Map parte III query

Capitolo 13. Interrogare una base di dati

Access. Microsoft Access. Aprire Access. Aprire Access. Aprire un database. Creare un nuovo database

MySQL Database Management System

Indice generale. Capitolo 3 Introduzione a PHP...43 Sintassi e istruzioni di base Variabili, operatori e commenti Array...

Basi di Dati: Corso di laboratorio

Operazioni sui database

Progetto NoiPA per la gestione giuridicoeconomica del personale delle Aziende e degli Enti del Servizio Sanitario della Regione Lazio

Università degli Studi di Verona. Laboratorio di Basi di Dati

Corso Base. Lezione 6. Maurizio Cozzetto, Francesco Sarasini

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi

Corso Sistemi Informativi Avanzati. Programma 30 set Installazione Macchina Virtuale. Introduzione alla BI nelle Aziende.

Sistemi Mobili e Wireless Android Localizzazione utente

DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione

Tabelle di riferimento Pulsanti Inserire documento Predisposizione doc Approvazione Doc Numerazione Doc Pubblicazione Albo Webservice

ESEMPI DI QUERY SQL. Esempi di Query SQL Michele Batocchi AS 2012/2013 Pagina 1 di 7

Android. Memorizzazione di dati

MANUALE UTENTE INFOCAR REPAIR ACCESSO SMARTPHONE/TABLET

Eliminare i contatti duplicati in MS Outlook

Definizione di domini

Obiettivi del corso. Creare, modificare e formattare un semplice database costituito da tabelle, query, maschere e report utilizzando Access 2000.

Introduzione ai database relazionali

Introduzione JDBC interfaccia java.sql driver caricare i driver

Scheda operativa Versione rif c00. Libro Inventari

Join in SQL (primo modo) Informatica. Tabella Dipartimento. Interrogazione 4a. Interrogazione 4b. Interrogazione 4a

Appunti di MySql. Evoluzione di un tutorial di base di mysql, scritto da Etel Sverdlov.

SQL Server Integration Services. Integration Services Project

Le query di raggruppamento

5.3 TABELLE RECORD Inserire, eliminare record in una tabella Aggiungere record Eliminare record

Interrogare il database: lavorare con le query

Volumi di riferimento

Relazioni tra tabelle

Personalizzazione Stampe

Lezioni di Laboratorio sui Data Base

Progettazione di un Database

Dati relazionali e XML

Progettazione Web Applicazioni client-server

Esercitazione n. 8: Funzionalità base di MS Access

ACTIVE SERVICE PAGES E DATABASE: tecnologia ADO

UN PROGRAMMA APPLICATIVO: ACCESS Access è un programma del pacchetto Office che permette di realizzare database

INFORMATICA PER L IMPRESA (Docente Prof. Alfredo Garro) ESERCIZIO 3

Cosa è un foglio elettronico

SQL Server. SQL server e un RDBMS di tipo client/server che utilizza Transact-SQL per gestire la comunicazione fra un client e SQL Server

SQL - Funzioni di gruppo

2104 volume III Programmazione

elicaweb manuali - Vendite: come iniziare - pagina 1 di 9

Procedura SMS. Manuale Utente

Corso di Informatica. Immissione di dati. Visualizzazione come foglio dati 1. Visualizzazione come foglio dati 2 11/01/2008

DATABASE.

Sistemi per la gestione di database: MySQL ( )

SAP SRM 7 Manuale GARE ON LINE con cfolders FORNITORI INDICE

SQL Server Integration Services. SQL Server 2005: ETL - 1. Integration Services Project

Uso delle variabili di alias. SQL slide aggiuntive. Interrogazione 25. Interrogazione 26

NUOVO SISTEMA AGGIORNAMENTO DA FYO

Microsoft Access. Microsoft Access

Andrea Maioli Instant Developer: guida all uso

ANALISI UTILIZZO D USO DEL PORTALE SMART

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

Транскрипт:

Sistemi Mobili e Wireless Android - Dati persistenti: SQLite Stefano Burigat Dipartimento di Matematica e Informatica Università di Udine www.dimi.uniud.it/burigat stefano.burigat@uniud.it

Android offre una completa libreria per la creazione e gestione di database SQLite Qualsiasi database SQLite venga creato all'interno di un'applicazione non è direttamente accessibile da altre applicazioni Il modo consigliato di lavorare con un database è creare una classe wrapper che ingloba le variabili ed i metodi che permettono creazione, accesso e gestione del database All'interno della classe wrapper si dovrebbe inoltre creare una sottoclasse di SQLiteOpenHelper per gestire le operazioni di creazione, apertura e aggiornamento del database 2

classe wrapper riferimenti al database SQL ed alla classe helper costanti che specificano il nome delle colonne delle tabelle contenute nel database (in questo caso una sola tabella chiamata contact) NOTA: tutto il codice delle slide seguenti fa parte di questa classe 3

classe helper interna alla classe wrapper l'istruzione SQL usata per la creazione del database i metodi oncreate e onupgrade vengono chiamati in automatico in fase di creazione del database 4

Per ottenere un riferimento ad un database (e poter svolgere operazioni su di esso come inserire o estrarre informazioni) è necessario chiamare il metodo getwritabledatabase (o il metodo getreadabledatabase) dell'oggetto helper metodi pubblici che incapsulano il codice necessario ad aprire e chiudere un database (è buona norma chiudere il db quando non serve più) questo metodo chiama in automatico il metodo appropriato (oncreate o onupdate) della classe helper 5

Per inserire un nuovo record (una riga) in un database abbiamo bisogno di creare un oggetto di tipo ContentValues che incapsula i valori relativi alle diverse colonne metodo ausiliario che usiamo per incapsulare i valori di un nuovo record all'interno di un oggetto di tipo ContentValues 6

La creazione di un nuovo record nel database richiede una chiamata al metodo insertorthrow, passando i dati come oggetto ContentValues il secondo parametro stabilisce il comportamento della insert nel caso in cui initialvalues non specifichi tutti gli elementi: se non impostato a null, il parametro indica in quali colonne vogliamo che sia inserito un null il metodo insertorthrow() restituisce l id (generato automaticamente) del record appena creato o il valore -1 in caso di errore 7

L'aggiornamento di un record nel database richiede una chiamata al metodo update, passando i dati aggiornati e specificando il record da aggiornare il terzo parametro determina quale record vogliamo aggiornare (in questo caso specifichiamo dall'esterno l'id del record); il metodo update() restituisce il numero di record aggiornati 8

L'eliminazione di un record dal database richiede una chiamata al metodo delete, specificando il record da eliminare il secondo parametro determina quale record vogliamo aggiornare (in questo caso specifichiamo dall'esterno l'id del record); il metodo delete() restituisce il numero di record cancellati 9

L'estrazione di record dal database richiede una chiamata al metodo query, specificando quali record vogliamo Il metodo query ritorna un oggetto di tipo Cursor che è in pratica un puntatore alla lista dei risultati L'esempio seguente estrae tutti i record dal database i parametri dal secondo in poi determinano quali record vogliamo estrarre (si veda slide successiva), in questo caso tutti visto che il terzo parametro non è stato specificato 10

Android mette a disposizione 3 metodi query, che accettano un numero differente di parametri in base al tipo di query di cui abbiamo bisogno La versione più comune è quella da 7 parametri il nome della tabella in cui deve essere eseguita la query la lista delle colonne da restituire un filtro per stabilire quali righe restituire (corrisponde alla clausola SQL WHERE) un array di stringhe per inserire dinamicamente alcuni valori nella SELECT un filtro che corrisponde alla clausola SQL GROUP BY un filtro che corrisponde alla clausola HAVING un filtro che corrisponde alla clausola ORDER BY 11

Nell'esempio seguente specifichiamo l'id del record che vogliamo estrarre Nell'esempio seguente specifichiamo il KEY_NAME del record che vogliamo estrarre 12

L'esempio seguente mostra un'activity che accede al database, inserisce valori e li stampa su log 13

ricordarsi di liberare le risorse quando non servono più questo ciclo consente di passare attraverso tutti i record ritornati dal metodo fetchallcontacts() 14

database_activity.xml 15