* R AMAN K AZHAMIAKIN O SCAR Z G IOVANNI D E ITT M. B UONARROTI, T RENTO A NDROID D EVELOPMENT P ERSISTENZA.

Slides:



Advertisements
Presentazioni simili
Elaborazione di Franco Grivet Chin
Advertisements

CREAZIONE UTENTE SU ORACLE1 Pagina delle risorse: crea utente oracle ( Password:… Dora in poi, in questi lucidi,
Sicurezza e concorrenza nelle basi di dati
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità D3 Sicurezza e concorrenza nelle basi di dati.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità C1 Il linguaggio SQL.
Structured Query Language (SQL) Presentazione 13.1 Informatica Generale (Prof. Luca A. Ludovico)
Esercitazioni del Corso di Sistemi Informativi Marina Mongiello
Esercitazioni del Corso di Sistemi Informativi Marina Mongiello
Database nel Web Modulo Didattico: Francesca Platania
4 – Progettazione – Introduzione e Modello E-R
DATAWAREHOUSE - Microstrategy
Basi di Dati prof. A. Longheu 4 – Progettazione – Introduzione e Modello E-R Cap. 5 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.
SQL Structured Query Language
1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) SQL: Data Manipulation Language (DML) Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi,
SQL per la modifica di basi di dati. 29/01/2014SQL per la modifica di basi di dati2 Data Manipulation Language Introduciamo ora il Data Manipulation Language.
SQL: Lezione 7 Nataliya Rassadko
SQL Per la modifica di basi di dati
SQL Per la definizione di basi di dati SQL per definire ed amministrare Ogni utente puo definire una base di dati di cui diventa lamministratore potendo.
Modello Relazionale Definisce tipi attraverso il costruttore relazione, che organizza i dati secondo record a struttura fissa, rappresentabili attraverso.
Vincoli di integrità generici Con i costrutti visti sinora, non è sempre possibile definire tutti i possibili vincoli di integrità. Per questo esiste listruzione.
SQL SQL (pronunciato anche come l’inglese sequel) è l’acronimo di Structured Query Language (linguaggio di interrogazione strutturato) E’ un linguaggio.
Manipolazione dei dati I comandi SQL che permettono di modificare il contenuto di una base di dati sono insertdeleteupdate insert ha la seguente sintassi:
JDBC(TM) Database Access
1 Titolo Presentazione / Data / Confidenziale / Elaborazione di... ASP. Net Web Part e controlli di login Elaborazione di Franco Grivet Chin.
Viste. Cosè una vista? è possibile creare un subset logico di dati o una combinazione di dati una vista è una tabella logica basata su una tabella o su.
SQL basato su ANSI (American National Standards Institute) – standard SQL SQL – Structured Query Language è un linguaggio dichiarativo e permette di comunicare.
Basi di dati Claudia Raibulet
Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL IDENTIFICATORI di tabelle e attributi: stringhe di lunghezza max 18 caratteri, composte da.
Visual Basic e accesso ai DATABASE
sql: esempi di linguaggio sql nell'implementazione mysql
Basi di Dati e Sistemi Informativi Il Linguaggio SQL Home page del corso:
BIOINFO3 - Lezione 51 INSERIMENTO DEI DATI Visto come si creano le tabelle (sinora tristemente vuote), cominciamo ad occuparci di come riempirle con dei.
BIOINFO3 - Lezione 41 ALTRO ESEMPIO ANCORA Progettare il comando di creazione di una tabella di pubblicazioni scientifiche. Come chiave usare un numero.
CORSI DI FORMAZIONE - Basi di Dati: MySql - Parte 4 - Dicembre Utenti e privilegi del database - 1 Root è lutente amministratore predefinito, ma.
Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Programma del Corso.
DATABASE Introduzione
1 DTS: Importazione Apertura di un DTS da file di archiviazione strutturata: Per aprire un pacchetto DTS salvato come file di archiviazione strutturata.
ASP – Active Server Pages Introduzione Pagine Web Statiche & Dinamiche(ASP)
SQL (IV) Data Definition Language/ Data Manipulation Language.
I DBMS BASI DI DATI (DATABASE) Insieme organizzato di dati utilizzati
Pagine ASP parte 3 I data base Stefano Schacherl.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità D3 Sicurezza e concorrenza nelle basi di dati.
SQL, esempi 30/10/2014Basi di dati SQL1. 30/10/2014Basi di dati SQL2 CREATE TABLE, esempi CREATE TABLE corsi( codice numeric NOT NULL PRIMARY KEY, titolo.
ATOMICITÀ Il tipo di atomicità di un programma PL/SQL è stabilito dall’ambiente chiamante oppure dal programma Gestione atomicità: –COMMIT –SAVEPOINT nome_punto.
Indice argomenti Installazione e configurazione
Interazione col DB Per interagire con una base dati da una pagina PHP occorre procedere come segue: Eseguire la connessione al DBMS MySQL in ascolto;
1 Basi di Dati S tructured Q uery L anguage Appunti Matteo Longhi.
MySQL Database Management System
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
Database Elaborato da: Claudio Ciavarella & Marco Salvati.
Nozione ed uso Operazioni eseguite automaticamente ogni volta che avviene un certo evento Uso: –Gestione di vincoli di integrità: Per fallimento Per modifica.
Vincoli Interrelazionali Per i vincoli visti l’inserimento di un valore che li viola viene semplicemente impedito. In caso di vincoli di integrità referenziale,
Vincoli interrelazionali
© 2015 Giorgio Porcu - Aggiornamennto 28/03/2015 UdA 1A Database Progettazione Fisica G IORGIO P ORCU
Corso integrato di Matematica, Informatica e Statistica Informatica di base Linea 1 Daniela Besozzi Dipartimento di Informatica e Comunicazione Università.
Gaetano Anastasi Beatrice Miotti Lorenzo Guerriero Monica Pellegrinelli Massimiliano Sartor Giorgio Macauda SQLite Esempi di utilizzo della libreria in.
Linguaggio SQL prima parte Linguaggio SQL prima parte A. Lorenzi, E. Cavalli INFORMATICA PER SISTEMI INFORMATIVI AZIENDALI Copyright © Istituto Italiano.
* R AMAN K AZHAMIAKIN O SCAR Z G IOVANNI D E ITT M. B UONARROTI, T RENTO A NDROID D EVELOPMENT C ONCORRENZA.
* 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.
Modulo 5 – Database ACCESS LICEO SCIENTIFICO “ B. RESCIGNO COMPUTER SCUOLA PIANO INTEGRATO 2008/09 ESPERTO prof.ssa Rita Montella.
+ Gestire la persistenza Nicolò Sordoni. + Meccanismi di persistenza dei dati In Windows Phone, come negli altri ambienti, abbiamo tre soluzioni principali.
Elementi di statistica con R e i database LEZIONE 2 Rocco De Marco rocco.demarco(a)an.ismar.cnr.it Ancona, 12 Aprile 2012.
Gestire i dati: download e salvataggio. L’importanza dei dati La quasi totalità delle applicazioni hala necessità di gestire varie funzionalità relative.
Linguaggio SQL. Linguaggi per database La diffusione del modello relazionale ha favorito l’uso prevalente di linguaggi non procedurali: in questo modo.
SQLite. Introduzione a SQLite Oltre alla possibilità di memorizzare informazioni persistenti attraverso Preferences e files, Android mette a disposizione.
* R AMAN K AZHAMIAKIN O SCAR Z G IOVANNI D E ITT M. B UONARROTI, T RENTO A NDROID D EVELOPMENT M APPE.
* R AMAN K AZHAMIAKIN O SCAR Z G IOVANNI D E ITT M. B UONARROTI, T RENTO A NDROID D EVELOPMENT UI PERSONALIZZATE.
* R AMAN K AZHAMIAKIN O SCAR Z G IOVANNI D E ITT M. B UONARROTI, T RENTO A NDROID D EVELOPMENT Liste e dynamic.
Android Intent, AlertDialog, SharedPreferences. Intents.
Transcript della presentazione:

* R AMAN K AZHAMIAKIN O SCAR Z G IOVANNI D E ITT M. B UONARROTI, T RENTO A NDROID D EVELOPMENT P ERSISTENZA

* * 1.SharedPreferences 2.I Database (accenni) 3.SQLite 4.ContentProvider Sommario

* * Persistenza in Android Android permette di salvare dati dell’app nel filesystem. Per ogni app il sistema crea una cartella: data/data/[package] Android supporta questi modi di persistenza: Files Puoi creare e aggiornare files. Salvati nella cartella files Preferences Android ti permette di salvare e leggere coppie chiave-valore di tipi primitivi. Salvate in XML nella cartella shared_prefs Database SQLite anche le istanze di databaseSQLite sono salvate nel filesystem. Salvati nella cartella databases. Content Provider Un layer d’astrazione sopra un DB che permette di condividere i contenuti con altre app (esempio: contatti).

* * Files

* * Preferences Android supporta l’uso della classe SharedPreferences per la persistenza di coppie chiave-valore (preferenze) di tipi di dati primitivi nel file system. Questo può essere una grande limitazione. La definizione di queste preferenze può essere fatta con un file XML. La classe PreferenceManager fornisce dei metodi per accedere alle preferenze salvate in un certo file.

* * Preferences #2 Ecco come ottenere le preferences da un file: SharedPreferences settings; settings = getSharedPreferences("Test", Context.MODE_PRIVATE); NB: le preferences sono solitamente create come private e vi si può accedere da ogni componente dell’applicazione. Condividere questi dati con altre applicazioni con permessi di lettura (e/o scrittura da parte di tutti è una pratica utilizzata raramente, anche perché il componente esterno ha bisogno di sapere esattamente nome e posizione del file.

* * Preferences #3 In ogni componente è possibile accedere alle preferences in questo modo: SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(getActivity()); # ottieni il valore per una certa chiave # e indica anche un valore di default String url = settings.getString("url", "n/a"); Per creare o modificare le preferences bisogna chiamare il metodo edit() di SharedPreferences per ottenere un Editor utilizzare il metodo apply() che salva in maniera asincrona nel file system. Usare il metodo commit() non è cosa buona in quanto il salvataggio è sincrono. Editor edit = settings.edit(); edit.putString("url", " edit.apply();

* * Preferences #4 È possibile monitorare i cambiamenti alle preferences usando il metodo registerOnSharedPreferenceChangeListener() di SharedPreferences. SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); SharedPreferences.OnSharedPreferenceChangeListener listener;// Istanza di listener listener = new SharedPreferences.OnSharedPreferenceChangeListener(){ public void onSharedPreferenceChanged(SharedPreferences prefs, String key) { // ah, è cambiata quella chiave!!! } }; prefs.registerOnSharedPreferenceChangeListener(listener);

* * I DATABASE (accenni) Un database è un archivio dove possiamo salvare dei dati e collegarli tra di loro secondo un modello logico. Per esempio una rubrica telefonica è un database. Uno dei modi per poter ricercare un dato all’interno di un database è quello di utilizzare il linguaggio SQL.

* * Le Tabelle Unità di base dei Database di tipo relazionale. Un esempio:

* * SQL: i comandi più frequenti Per saperne di più su sql trovate informazioni qui: ●CREATE TABLE nome (campo1 tipo1, campo2 tipo2,...); ●SELECT * FROM nometabella; ●INSERT INTO nometabella VALUES (...); ●UPDATE tabella ○SET campo=nuovoValore1, campo2=nuovoValore2 ○WHERE id=1; ●DELETE FROM tabella WHERE id=1;

* * SQLite È un database relazionale di pubblico dominio che conserva i suoi dati in un unico file. Su android questo database è integrato nel sistema e può essere utilizzato “gratis”. Ogni applicazione può avere uno o più database questo tipo.

* * Modo di utilizzo su Android (parte 1) 1)Creare una nuova classe che estende SQLiteOpenHelper 2)fare l’Override del seguente metodo: a)onCreate fare le operazioni per configurare il database (ndr. creare le tabelle) b)onUpdate fare le operazioni di aggiornamento del database (serve se si hanno diverse versioni della app) LASCIATELO VUOTO!

* * Modo di utilizzo su Android (parte 2) 3.Usare il metodo: a.sqlitedb.execSql(sqlString,new String[]{}) per le operazioni che non danno nessun risultato b.sqlitedb.rawQuery(sqlString) per eseguire un comando che restituisce risultato (es. SELECT). 4.Ciclare sul Cursor che ci viene restuito per estrarre i risultati. Nota: esistono anche i metodi di convenienza: insert,update,delete

* * Esempio di Helper:

* * Esempio di utilizzo:

* * Un database SQLite è privato nell’applicazione che lo crea. Se si vuole condividere i dati contenuti nel database con altre applicazioni è possibile usare un content provider. Il content provider è un buon metodo per condividere con altre applicazioni dati in maniera strutturata. Il content provider può essere utilizzato all’interno dell’applicazione stessa per accedere ai dati. Content Provider

* * Bisogna anche dichiarare il proprio ContentProvider in AndroidManifest.xml. È necessario specificare l’attributo android:authorities che identifica il ContentProvider (univoco). Content Provider #2

* * Per creare un content provider bisogna definire una classe che estende android.content.ContentProvider. È necessario implementare diversi metodi, es. query(), insert(), update(), delete(), getType() e onCreate(). Nel caso un metodo non sia supportato è meglio lanciare l’eccezione anUnsupportedOperationException(). Il metodo query() deve restituire un oggetto Cursor. Content Provider #3