Corso di programmazione di sistemi mobile 1. Android. Persistenza dei dati

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Corso di programmazione di sistemi mobile 1. Android. Persistenza dei dati"

Transcript

1 Corso di programmazione di sistemi mobile 1 Android Persistenza dei dati

2 Corso di programmazione di sistemi mobile 2 Gestione dei file La maggior parte delle applicazioni Android ha bisogno di salvare i dati, anche solo per salvare lo stato dell'applicazione in modo che i dati dell'utente non vadano persi. I principali tipi di memorizzazione presenti sono: Database SQLite: possibilità di salvare i dati in un database SharedPreferences: per salvare una coppia chiave-valore su un file xml generato dal sistema Internal storage: spazio interno che risiede in una parte del filesystem a cui solo la nostra l applicazione può accedere. External storage: spazio esterno spesso si ci riferisci a SD card esterne o alla porzione di disco accessibile da tutte le applicazioni.

3 Corso di programmazione di sistemi mobile 3 Internal Storage Ogni applicazione dispone di un area protetta ed esclusiva all interno della quale può effettuare una qualsiasi operazione senza arrecare inconvenienti al sistema o alle altre applicazioni installate. La classe Activity dispone dei metodi utili per accedere alla porzione di file system assegnata e ottenere il riferimento ad uno stream in lettura o scrittura: public FileInputStream openfileinput(string name); Se il file non è presente all interno della memoria dell applicazione viene lanciata un eccezzione. public FileOutputStream openfileoutput(string name, int mode); Restituisce un oggetto che può essere manipolato come un qualsiasi output stream di Java. Il parametro mode indica il tipo di scrittura del file. (si possono usare combinazioni tramite l operatore binario OR) Context.MODE_PRIVATE Context.MODE_APPEND Context.MODE_WORLD_READABLE Context.MODE_WORLD_WRITEABLE Rende il file privato e accessibile solo alla nostra applicazione Se il file esiste invece di sovrascriverlo gli accoda i nuovi byte che saranno scritti nello stream Rende il file accessibile in sola lettura dalle altre applicazioni installate nel sistema Rende il file accessibile in sola scrittura dalle altre applicazioni installate nel sistema.

4 Corso di programmazione di sistemi mobile 4 External Storage I dispositivi Android dispongono di un secondo spazio di memoria, definito "External storage". Solitamente è una porzione di disco oppure una scheda di memoria che può all occorrenza essere rimossa e sostituita. Quando si vuole scrivere sulla memoria esterna bisogna accertarsi che essa sia disponibile, il metodo per verificare lo stato è contenuto staticamente nella classe android.os.environment: public static String getexternalstoragestate(); Environment.MEDIA_MOUNTED Environment.MEDIA_MOUNTED_READ_ONLY Environment.MEDIA_UNMOUNTED Environment.MEDIA_UNMOUNTABLE Environment.MEDIA_BAD_REMOVAL Environment.MEDIA_CHECKING Environment.MEDIA_NOFS Environment.MEDIA_REMOVED Environment.MEDIA_SHARED È possibile scrivere e leggere sulla memoria esterna È possibile solo leggere la memoria esterna Uno qualsiasi di questi valori indica che la memoria esterna non è accessibile e non si possono eseguire operazioni di I/O

5 Corso di programmazione di sistemi mobile 5 Una volta accertati che sia possibile accedere alla memoria esterna, è possibile recupere il percorso sempre attraverso il metodo statico di Environment: public static File getexternalstoragedirectory(); Il file restituito è la radice della memoria esterna, è anche possibile recuperare una delle cartelle pubbliche attraverso il metodo: public static File getexternalstoragepublicdirectory(string type); Environment.DIRECTORY_ALARMS Environment.DIRECTORY_DCIM Environment.DIRECTORY_DOCUMENTS Environment.DIRECTORY_DOWNLOADS Environment.DIRECTORY_MOVIES Environment.DIRECTORY_MUSIC Environment.DIRECTORY_NOTIFICATIONS Environment. DIRECTORY_PICTURES Environment.DIRECTORY_PODCASTS Environment.DIRECTORY_RINGTONES Directory in cui collocare tutti i file audio da utilizzare come allarmi Directory per le foto e i video Directory in cui inserire documenti che sono stati creati dall'utente Directory in cui collocare i file che sono stati scaricati dall'utente Directory in cui inserire film che sono disponibili all'utente Directory in cui collocare i file audio da utilizzare come musica Directory in cui collocare i file audio per le notifiche Directory in cui inserire immagini come screenshot Directory in cui collocare tutti i file audio podcast Directory in cui collocare tutti i file audio per la suoneria

6 Corso di programmazione di sistemi mobile 6 A differenza di quanto avviene per la memoria interna Android non mette a disposizione metodi che ritornino direttamente Stream di dati. Sarà compito dello sviluppatore creare un oggetto File e utilizzare i metodi java per effettuare operazioni di I/O String text = "Questo fiore è molto petaloso"; if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { File dir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS); File doc = new File(dir, "Petaloso.txt"); FileOutputStream fos = null; try { byte[] data = text.getbytes(); fos = new FileOutputStream(doc); fos.write(data); fos.flush(); catch (Exception e) { Log.e("FileOutputStream", "Errore durante la scrittura del file", e); finally { if (fos!= null) try { fos.close(); catch (Exception e) { else { Toast.makeText(this, "Impossibile accedere alla sdcard!", Toast.LENGTH_LONG).show();

7 Corso di programmazione di sistemi mobile 7 Shared Preference Le SharedPreferences sono nate dalla necessità di avere un sistema standard di salvataggio delle informazioni all interno di Android (es impostazioni dell app). Esse ci permettono di salvare dei singoli dati identificati da una chiave in maniera rapida, semplice e persistente. Il metodo: public SharedPreferences getsharedpreferences(string name, int mode) ci permette di recuperare un oggetto SharedPreference associato al nome passato in ingresso. Mode può assumere i valori: MODE_PRIVATE, MODE_WORLD_READABLE e MODE_WORLD_WRITEABLE Per recuperare un valore salvato è possibile invocare i metodi presenti all interno della classe SharedPreferences, i più comuni sono: getboolean(string key, boolean defvalue) getfloat(string key, float defvalue) getint(string key, int defvalue) getlong(string key, long defvalue) getstring(string key, String defvalue)

8 Corso di programmazione di sistemi mobile 8 Per poter salvare dei dati è necessario recuperare l oggetto SharedPreferences e invocare il metodo edit che restituisce un oggetto di tipo SharedPreferences.Editor. Come per la SharedPreferences all interno dell oggetto Editor sono disponibili i metodi per salvare i dati: putboolean(string key, boolean value) putfloat(string key, float value) putint(string key, int value) putlong(string key, long value) putstring(string key, String value) Una volta terminato l inserimento dei dati per confermare il salvataggio è necessario invocare il metodo apply() o commit(). La principale differenza tra i due metodi è che commit() esegue il salvataggio dei dati in thread separato e non restituisce il risultato dell operazione.

9 Corso di programmazione di sistemi mobile 9 Preference Activity Android mette a disposizione un framework completo per la gestione delle preference, si tratta dell insieme delle classi appartenenti al package android.preference. I componenti di gestione delle preferenze saranno contenute in una particolare specializzazione della classe Activity: PreferenceActivity il cui layout dovrà essere contenuto in un documento che avrà come root: <PreferenceScreen>. Si dovrà utilizzare inoltre la classe PreferenceFragment poiché PrefenceActivity ha dei metodi deprecati. public class MyPreferenceFragment extends PreferenceFragment public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); //Caricamento delle preferenze dal file XML addpreferencesfromresource(r.xml.setting);

10 Corso di programmazione di sistemi mobile 10 Un esempio di file setting.xml <PreferenceScreen xmlns:android=" <PreferenceCategory <CheckBoxPreference android:key="checkbox_preference" /> </PreferenceCategory> </PreferenceScreen> PreferenceScreen rappresenta la radice della gerarchia delle preferenze, le preferenze possono essere inoltre raggruppate in tag PreferenceCategory. Questa implementazione popola in automatico le preferenze una volta create e ne mantiene la persistenza, per recuperare le modifiche effettuate dall utente bisogna utilizzare il metodo: SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this); boolean check = preferences.getboolean("checkbox_preference", false);

11 Le classi base per le preferenze e gli elementi del file XML a disposizione sono: Corso di programmazione di sistemi mobile 11

12 Corso di programmazione di sistemi mobile 12 Serializable Nel passaggio di dati complessi tra servizi, come ad esempio il passaggio di dati fra activity, nasce la necessità di serializzare i dati. Un oggetto si dice serializzato se è trasformabile in un array di byte e può essere ricostruito al suo stato originale. La serializzazione prevede la sola trasformazione dello stato dell oggetto e non della sua struttura, cioè della relativa classe. Quindi il bytecode relativo alla classe dovrà essere disponibile in entrambi i processi che si scambiano questo tipo di oggetti. Per serializzare un oggetto basta implementare l interfaccia java.io.serializable, inoltre tutti i membri devono essere di tipo serializzabile. public class Person implements Serializable { private int id; private About about;

13 Corso di programmazione di sistemi mobile 13 Parcelable Android mette a disposizione un altra struttura per serializzare i dati dal nome Parcelable. È stato creata questa alternativa perché il meccanismo adottato per comprimere un oggetto Serializable è più lento e se complesso può portare l applicazione ad errori di tipo ARN. A differenza di quanto avviene per una classe che implementa l interfaccia Serializable l utilizzo dell interfaccia Parcelable richiede più lavora da parte dello sviluppatore. L'interfaccia Parcelable descrive una modalità di registrazione di un oggetto con tutti i suoi dati primitivi o un qualsiasi oggetto che a sua volta implementa Parcelable. Il metodo da implementare è: public void writetoparcel(parcel parcel, int flags) Parcel parcel è l oggetto dove andremo a trasferire i dati della nostra classe int flags altre informazioni su come deve essere scritto l oggetto public int describecontents() questo metodo in genere ritorna zero, esso viene utilizzato in alcuni casi particolari.

14 Corso di programmazione di sistemi mobile 14 Sarà inoltre necessario definire un metodo statico chiamato CREATOR, che è un oggetto che implementa l'interfaccia Parcelable.Creator, tale oggetto serve a ricostruire la classe che implementa Parcelable. public class Person implements Parcelable { public static final Creator<Person> CREATOR = new Creator<Person>() public Person createfromparcel(parcel in) { return new Person(in); public Person[] newarray(int size) { return new Person[size]; private int id; protected Person(Parcel in) { id = public int describecontents() { return public void writetoparcel(parcel dest, int flags) { dest.writeint(id);

15 Corso di programmazione di sistemi mobile 15 Database All interno del framework Android sono presenti le API per utilizzare i Database, in particolare Android si avvale del database SQLite. SQLite è un leggerissimo database engine transazionale che occupa poco spazio in memoria e sul disco pertanto è la tecnologia perfetta in un ambiente mobile, dove le risorse sono limitate e dunque è importante ottimizzarne l utilizzo. SQLite supporta i principali tipi di dato (Integer, Real, Text) fatta eccezione per i booleani che vengono memorizzati come interi 0, 1. All interno di un applicazione mobile si possono avere infiniti database, essi vengono memorizzati all interno dello spazio di memoria riservato all applicazione nella sottodirectory chiamata databases, il cui percorso assoluto è: /data/data/packagename/databases dove "packagename" è il nome del package del corrispondete alla nostra applicazione.

16 Corso di programmazione di sistemi mobile 16 Per includere e gestire un database in una app Android è necessario creare: 1) La struttura del database tramite uno script SQL. 2) Una classe java che estende SQLiteOpenHelper per gestire la creazione e i vari aggiornamenti del DB, inoltre la classe deve poter recuperare un riferimento all oggetto SQLiteDatabase per accedere ai dati. 3) Una classe per l interazione con il database sfruttando il riferimento alla classe SQLiteOpenHelper e contenente metodi per eseguire le operazioni sui dati. Per creare la tabella sarà necessaria la creazione di una stringa contenente il comando, ad esempio: private static final String CREA_TABELLA_PERSONE = "CREATE TABLE " + TABELLA_PERSONE + " (" + ID + " INTEGER PRIMARY KEY," + PERSONE_NOME + " TEXT," + PERSONE_COGNOME + " TEXT," + PERSONE_FOTO + " TEXT)"; È utile creare anche delle stringhe per i comandi di update o di altre modifiche: private static final String SQL_DELETE_ENTRIES ="DROP TABLE IF EXISTS " + "Persone" ;

17 Corso di programmazione di sistemi mobile 17 SQLiteOpenHelper public class PersonDbHelper extends SQLiteOpenHelper { public static final String DATABASE_NAME = "PersonDb.db"; private static final int DATABASE_VERSION = 1; private static final String TEXT_TYPE = " TEXT"; private static final String REAL_TYPE = " REAL"; private static final String INTEGER_TYPE = " INTEGER"; private static final String COMMA_SEP = ","; public static final String TABLE_NAME = "person"; public static final String _ID = "_id"; public static final String NOME = "nome"; public static final String COGNOME = "cognome"; public static final String FOTO = "foto"; private static final String TABLE_PERSON_CREATE = "CREATE TABLE " + TABLE_NAME + " (" + _ID + " INTEGER PRIMARY KEY," + NOME + TEXT_TYPE + COMMA_SEP + COGNOME + TEXT_TYPE + COMMA_SEP + FOTO + TEXT_TYPE + " )";

18 Corso di programmazione di sistemi mobile 18 public PersonDbHelper(Context context) { super(context, DATABASE_NAME, null, public void oncreate(sqlitedatabase db) { public void onupgrade(sqlitedatabase db, int oldversion, int newversion) { switch (newversion) { case 2: break; Il metodo oncreate viene invocato una sola volta per la creazione del DB e riceve come input un oggetto di tipo SQLiteDatabase il quale fornisce i metodi necessari ad effettuare le principali operazioni su un database. Si può ottenere un istanza di tale classe anche utilizzando altri due metodi presenti nella classe helper: getreadabledatabase() e getwritabledatabase(). Tali metodi permettono l accesso rispettivamente in lettura ed in scrittura al DB. Alla fine di ogni utilizzo dell istanza ottenuta è necessario rilasciare il database invocando il metodo close(). In alternativa a questo metodo si può usare releasereference().

19 Corso di programmazione di sistemi mobile 19 ExecSQL Nell oncreate del database si può notare che il comando SQL è inviato tramite l invocazione del metodo execsql. Tale metodo consente l esecuzione di qualsiasi comando SQL che non sia di tipo query (quindi che non preveda la restituzione di informazioni da parte del DB) e sono disponibili due overload. Il primo richiede semplicemente una stringa SQL da eseguire, l altro richiede di passare dei parametri per l esecuzione dei cosiddetti prepared statements: db.execsql("insert INTO nomi VALUES(?)", new Object[]{"Andrea"); La piattaforma ci offre comunque supporto nativo per le operazioni più comuni come delete, insert, update e query generiche.

20 Corso di programmazione di sistemi mobile 20 Principali Operazioni sul DB Query: si ottiene un oggetto Cursor che può essere usato per spostarsi tra le righe del risultato con i metodi movetonext, movetofirst, movetolast. Per ogni colonna si possono prelevare i valori tramite i metodi getstring, getlong tali metodi necessitano dell indice della colonna desiderata. Esistono due metodi per effettuare le query: 1. query(string table, String[] columns, String selection, String[] selectionargs, String groupby, String having, String orderby, String limit) 2. rawquery(string sql, String[] selectionargs) Delete: utilizzato per eliminare uno o più record data la tabella è necessario specificare la condizione e gli eventuali parametri per effettuare il bind ( concetto simile alla clausola WHERE). Ritorna il numero di record eliminati o errore (-1). Insert: per inserire un nuovo record, come valore di ritorno restituisce l ID della riga inserita o -1 in caso di errore. Update: per modificare dei record inseriti oppure delle righe.

21 Corso di programmazione di sistemi mobile 21 Query long itemid; SQLiteDatabase db = getwritabledatabase(); Cursor c = db.query( TABLE_NAME, // La tabella da interrogare projection, // Le colonne che si vogliono ottenere (String[]) selection, // le colonne della clausola WHERE selectionargs, // I valori per la clausola WHERE null, // null indica che non si vuole raggruppare le righe null, // nessun filtro per gruppi di righe sortorder // modalità di ordinamento (String) ); c.movetofirst(); itemid = c.getlong(cursor.getcolumnindexorthrow(_id)); db.close();

22 RawQuery public List<Persona> getpersone() { SQLiteDatabase db = getreadabledatabase(); Cursor cursor = db.rawquery("select * FROM " + TABLE_NAME, null); if (cursor == null!cursor.movetofirst()) return null; List<Persona> persone = new ArrayList<Persona>(cursor.getCount()); for (int i = 0; i < cursor.getcount(); i++) { String nome = cursor.getstring(cursor.getcolumnindex(nome)); String cognome = cursor.getstring(cursor.getcolumnindex(cognome)); String foto = cursor.getstring(cursor.getcolumnindex(foto)); long id = cursor.getlong(cursor.getcolumnindex(_id)); Persona persona = new Persona(); persona.setcognome(cognome); persona.setnome(nome); persona.setfoto(foto); persona.setid(id); persone.add(persona); cursor.movetonext(); db.close(); return persone; Corso di programmazione di sistemi mobile 22

23 Corso di programmazione di sistemi mobile 23 Inserimento Per inserire un oggetto all interno del database si utilizza il ContentValues che ci consente di inserire i dati tramite l assegnazione della rispettiva colonna del database. public int addnuovapersona(persona persona) { SQLiteDatabase db = getwritabledatabase(); ContentValues values = new ContentValues(); values.put(nome, persona.getnome()); values.put(cognome, persona.getcognome()); values.put(foto, persona.getfoto()); long result = db.insert(table_name, null, values); db.close(); return result;

24 Corso di programmazione di sistemi mobile 24 Eliminazione Il valore di ritorno indica il numero di record eliminati o -1 in caso di errore. public boolean deletepersona(long id) { SQLiteDatabase db = getwritabledatabase(); int result = db.delete(table_name, ID + "=?", new String[] { Long.toString(id) ); db.close(); return result>0;

25 Corso di programmazione di sistemi mobile 25 Aggiornamento public Persona updatepersona(persona persona) { SQLiteDatabase db = getwritabledatabase(); ContentValues values = new ContentValues(); values.put(nome, persona.getnome()); values.put(cognome, persona.getcognome()); values.put(foto, persona.getfoto()); int result = db.update(table_name, values, ID + "=?", new String[]{ Long.toString(persona.getId()) ); db.close(); return result>0;

External Storage File pubblici

External Storage File pubblici Data Storage Shared Preferences dae privae, coppie chiave- valore 128 Internal Storage File privae External Storage File pubblici Database SQLite DaE struourae in database privae SharedPreferences 129

Dettagli

Corso Base. Lezione 6. Maurizio Cozzetto, Francesco Sarasini

Corso Base. Lezione 6. Maurizio Cozzetto, Francesco Sarasini Corso Base Lezione 6 Maurizio Cozzetto, Francesco Sarasini Database SQLite (1/2) Android provides full support for SQLite databases. Any databases you create will be accessible by name to any class in

Dettagli

Sistemi Mobili e Wireless Android - Dati persistenti: SQLite

Sistemi Mobili e Wireless Android - Dati persistenti: SQLite 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

Dettagli

Android. Memorizzazione di dati

Android. Memorizzazione di dati Android Memorizzazione di dati Introduzione In questa lezione vedremo quali sono i metodi principali messi a disposizione da una applicazione Android per memorizzare dei dati in maniera permanente e successivamente

Dettagli

Programmazione Android A cura di Carlo Pelliccia. Lezione 12 Database

Programmazione Android A cura di Carlo Pelliccia. Lezione 12 Database A cura di Carlo Pelliccia DBMS, ossia Management System, è un termine caro agli sviluppatori di applicazioni server-side e di impresa. La maggior parte delle applicazioni Web, ad esempio, si appoggiano

Dettagli

DBMS (Data Base Management System)

DBMS (Data Base Management System) Cos'è un Database I database o banche dati o base dati sono collezioni di dati, tra loro correlati, utilizzati per rappresentare una porzione del mondo reale. Sono strutturati in modo tale da consentire

Dettagli

Corso di programmazione di sistemi mobile 1. Android. Google Cloud Messaging

Corso di programmazione di sistemi mobile 1. Android. Google Cloud Messaging Corso di programmazione di sistemi mobile 1 Android Google Cloud Messaging Corso di programmazione di sistemi mobile 2 Cos è Il Google Cloud Messaging o GCM è un servizio di Google che permette di inviare

Dettagli

MOBILE WEB DESIGN TUTORIAL ANDROID METAIO AUGMENTED REALITY

MOBILE WEB DESIGN TUTORIAL ANDROID METAIO AUGMENTED REALITY MOBILE WEB DESIGN TUTORIAL ANDROID METAIO AUGMENTED REALITY 1 Sommario 1. INTRODUZIONE... 3 2. GET METAIO... 4 2.1. PREREQUISITI... 4 2.2. INTALLAZIONE... 4 2.3. PROGETTI ESEMPLIFICATIVI... 4 3. USARE

Dettagli

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto: Tipi primitivi Il linguaggio Java offre alcuni tipi di dato primitivi Una variabile di tipo primitivo può essere utilizzata direttamente. Non è un riferimento e non ha senso tentare di istanziarla mediante

Dettagli

La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni

La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni Autore: Prof. Agostino Sorbara ITIS "M. M. Milano" Autore: Prof. Agostino Sorbara ITIS "M. M.

Dettagli

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

Al giorno d oggi, i sistemi per la gestione di database Introduzione Al giorno d oggi, i sistemi per la gestione di database implementano un linguaggio standard chiamato SQL (Structured Query Language). Fra le altre cose, il linguaggio SQL consente di prelevare,

Dettagli

Siti web centrati sui dati Architettura MVC-2: i JavaBeans

Siti web centrati sui dati Architettura MVC-2: i JavaBeans Siti web centrati sui dati Architettura MVC-2: i JavaBeans 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con

Dettagli

Realizzazione di una classe con un associazione

Realizzazione di una classe con un associazione Realizzazione di una classe con un associazione Nel realizzare una classe che è coinvolta in un associazione, ci dobbiamo chiedere se la classe ha responsabilità sull associazione. Diciamo che una classe

Dettagli

GERARCHIE RICORSIVE - SQL SERVER 2008

GERARCHIE RICORSIVE - SQL SERVER 2008 GERARCHIE RICORSIVE - SQL SERVER 2008 DISPENSE http://dbgroup.unimo.it/sia/gerarchiericorsive/ L obiettivo è quello di realizzare la tabella di navigazione tramite una query ricorsiva utilizzando SQL SERVER

Dettagli

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

Dettagli

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

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL Basi di dati Il Linguaggio SQL Data Definition Language (DDL) Data Definition Language: insieme di istruzioni utilizzate per modificare la struttura della base di dati Ne fanno parte le istruzioni di inserimento,

Dettagli

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli CODICE Le fonti in cui si possono trovare tutorial o esempi di progetti utilizzati con Arduino si trovano nel sito ufficiale di Arduino, oppure nei forum di domotica e robotica. Il codice utilizzato per

Dettagli

19. LA PROGRAMMAZIONE LATO SERVER

19. LA PROGRAMMAZIONE LATO SERVER 19. LA PROGRAMMAZIONE LATO SERVER Introduciamo uno pseudocodice lato server che chiameremo Pserv che utilizzeremo come al solito per introdurre le problematiche da affrontare, indipendentemente dagli specifici

Dettagli

Architettura MVC-2: i JavaBeans

Architettura MVC-2: i JavaBeans Siti web centrati sui dati Architettura MVC-2: i JavaBeans Alberto Belussi anno accademico 2008/2009 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con

Dettagli

dall argomento argomento della malloc()

dall argomento argomento della malloc() Allocazione dinamica Quando? Tutte le volte in cui i dati possono crescere in modo non prevedibile staticamente a tempo di sviluppo Un array con dimensione i fissata a compile-time non è sufficiente È

Dettagli

MySQL Database Management System

MySQL Database Management System MySQL Database Management System http://www.mysql.com/ DATABASE RELAZIONALI Un database è una collezione strutturata di informazioni. I database sono delle strutture nelle quali è possibile memorizzare

Dettagli

Introduzione ai database relazionali

Introduzione ai database relazionali Introduzione ai database relazionali Tabelle Un database (DB) è costituito da un insieme di file che memorizzano dati opportunamente organizzati Nei database relazionale tale organizzazione è costituita

Dettagli

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

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R: Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R: Si consiglia di creare il data base, inserire i dati nelle tabelle, provare

Dettagli

SITI-Reports. Progetto SITI. Manuale Utente. SITI-Reports. ABACO S.r.l.

SITI-Reports. Progetto SITI. Manuale Utente. SITI-Reports. ABACO S.r.l. Progetto SITI Manuale Utente SITI-Reports ABACO S.r.l. ABACO S.r.l. C.so Umberto, 43 46100 Mantova (Italy) Tel +39 376 222181 Fax +39 376 222182 www.abacogroup.eu e-mail : info@abacogroup.eu 02/03/2010

Dettagli

Corso Corso di di programmazione di di sistemi mobile 1 1. Android Laboratorio. Primo Progetto, Toast

Corso Corso di di programmazione di di sistemi mobile 1 1. Android Laboratorio. Primo Progetto, Toast Corso Corso di di programmazione di di sistemi mobile 1 1 Android Laboratorio Primo Progetto, Toast Corso Corso di di programmazione di di sistemi mobile 2 2 Android Studio Per realizzare le nostre applicazioni

Dettagli

I file di dati. Unità didattica D1 1

I file di dati. Unità didattica D1 1 I file di dati Unità didattica D1 1 1) I file sequenziali Utili per la memorizzazione di informazioni testuali Si tratta di strutture organizzate per righe e non per record Non sono adatte per grandi quantità

Dettagli

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report Facoltà di Lingue e Letterature Straniere Le QUERY 2 Che cos è una Query? Una Query rappresenta uno strumento per interrogare un database.

Dettagli

Reflection in Java. Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2009-2010

Reflection in Java. Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2009-2010 Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2009-2010 Alessandro Longheu http://www.diit.unict.it/users/alongheu alessandro.longheu@diit.unict.it Reflection in Java 1 Reflection Riflessione

Dettagli

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

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. (Structured Query Language) : Il linguaggio è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. prima versione IBM alla fine degli anni '70 per un prototipo di ricerca (System

Dettagli

20 - Input/Output su File

20 - Input/Output su File 20 - Input/Output su File Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it

Dettagli

Uno dei pregi di Java è quello di integrare la documentazione con il codice stesso Formato dei commenti:

Uno dei pregi di Java è quello di integrare la documentazione con il codice stesso Formato dei commenti: Javadoc Uno dei pregi di Java è quello di integrare la documentazione con il codice stesso Formato dei commenti: /* commenti */ // commenti /** commenti documentazione */ Questi ultimi generano automaticamente

Dettagli

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

Dettagli

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof.

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof. Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 009-10 prof. Viviana Bono Blocco 9 Metodi statici: passaggio parametri, variabili locali, record

Dettagli

Raggruppamenti Conti Movimenti

Raggruppamenti Conti Movimenti ESERCITAZIONE PIANO DEI CONTI Vogliamo creare un programma che ci permetta di gestire, in un DB, il Piano dei conti di un azienda. Nel corso della gestione d esercizio, si potranno registrare gli articoli

Dettagli

L ambiente di sviluppo Android Studio

L ambiente di sviluppo Android Studio L ambiente di sviluppo Android Studio Android Studio è un ambiente di sviluppo integrato (IDE, Integrated Development Environment) per la programmazione di app con Android. È un alternativa all utilizzo

Dettagli

Scheda operativa Versione rif. 13.01.3c00. Libro Inventari

Scheda operativa Versione rif. 13.01.3c00. Libro Inventari 1 Inventario... 2 Prepara tabelle Inventario... 2 Gestione Inventario... 3 Tabella esistente... 3 Nuova tabella... 4 Stampa Inventario... 8 Procedure collegate... 11 Anagrafiche Archivi ditta Progressivi

Dettagli

SQL Server 2005. Introduzione all uso di SQL Server e utilizzo delle opzioni Olap. Dutto Riccardo - SQL Server 2005.

SQL Server 2005. Introduzione all uso di SQL Server e utilizzo delle opzioni Olap. Dutto Riccardo - SQL Server 2005. SQL Server 2005 Introduzione all uso di SQL Server e utilizzo delle opzioni Olap SQL Server 2005 SQL Server Management Studio Gestione dei server OLAP e OLTP Gestione Utenti Creazione e gestione DB SQL

Dettagli

Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a. 2010-11 13 settembre 2011

Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a. 2010-11 13 settembre 2011 Cognome Nome Matricola Postazione PC Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a. 2010-11 13 settembre 2011 Testo Il database di un videonoleggio è costituito da due vettori paralleli.

Dettagli

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

Access. P a r t e p r i m a Access P a r t e p r i m a 1 Esempio di gestione di database con MS Access 2 Cosa è Access? Access e un DBMS che permette di progettare e utilizzare DB relazionali Un DB Access e basato sui concetti di

Dettagli

Informatica per le discipline umanistiche 2 lezione 10

Informatica per le discipline umanistiche 2 lezione 10 Informatica per le discipline umanistiche 2 lezione 10 Parte III: il computer come strumento per l interazione e la comunicazione Si è parlato di identità Parte III: il computer come strumento per l interazione

Dettagli

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

Access. Microsoft Access. Aprire Access. Aprire Access. Aprire un database. Creare un nuovo database Microsoft Access Introduzione alle basi di dati Access E un programma di gestione di database (DBMS) Access offre: un supporto transazionale limitato Meccanismi di sicurezza, protezione di dati e gestione

Dettagli

4. Un ambiente di sviluppo per Java

4. Un ambiente di sviluppo per Java pag.15 4. Un ambiente di sviluppo per Java Esistono in commercio molti ambienti di sviluppo utilizzati dai programmatori Java, in particolare si tratta di editor complessi che mettono a disposizione tools

Dettagli

Le query. Lezione 6 a cura di Maria Novella Mosciatti

Le query. Lezione 6 a cura di Maria Novella Mosciatti Lezione 6 a cura di Maria Novella Mosciatti Le query Le query sono oggetti del DB che consentono di visualizzare, modificare e analizzare i dati in modi diversi. Si possono utilizzare query come origine

Dettagli

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2012/2013

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2012/2013 Laboratorio Progettazione Web PHP e MySQL - Lezione 9 Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2012/2013 Architettura di una applicazione Web Browser Web HTTP Server Web API Dati Presentation

Dettagli

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) 12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica,

Dettagli

MANUALE D USO DELLA PIATTAFORMA ITCMS

MANUALE D USO DELLA PIATTAFORMA ITCMS MANUALE D USO DELLA PIATTAFORMA ITCMS MANULE D USO INDICE 1. INTRODUZIONE... 2 2. ACCEDERE ALLA GESTIONE DEI CONTENUTI... 3 3. GESTIONE DEI CONTENUTI DI TIPO TESTUALE... 4 3.1 Editor... 4 3.2 Import di

Dettagli

. 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

. 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 Capitolo Terzo Primi passi con Microsoft Access Sommario: 1. Aprire e chiudere Microsoft Access. - 2. Aprire un database esistente. - 3. La barra multifunzione di Microsoft Access 2007. - 4. Creare e salvare

Dettagli

Automatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione

Automatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione Automatizzare i compiti ripetitivi I file batch Anno accademico 2000-01 1 Spesso capita di dover eseguire ripetutatmente una data sequenza di comandi Introdurli uno a uno da tastiera è un processo lento

Dettagli

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

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Ambiente Access La Guida di Access Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Guida in linea Guida rapida Assistente di Office indicazioni

Dettagli

Corso di Informatica Modulo T3 B2 - Database in rete

Corso di Informatica Modulo T3 B2 - Database in rete Corso di Informatica Modulo T3 B2 - Database in rete 1 Prerequisiti Programmazione web Applicazione web Modello OSI Architettura client/server Conoscenze generali sui database Tecnologia ADO in Visual

Dettagli

Capitolo 4 Pianificazione e Sviluppo di Web Part

Capitolo 4 Pianificazione e Sviluppo di Web Part Capitolo 4 Pianificazione e Sviluppo di Web Part Questo capitolo mostra come usare Microsoft Office XP Developer per personalizzare Microsoft SharePoint Portal Server 2001. Spiega come creare, aggiungere,

Dettagli

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

Data Base. Master Bio Info Reti e Basi di Dati Lezione 6 Data Base 1 Sommario I concetti fondamentali. Database Relazionale.. Query e SQL MySql, Creazione di un db in MySQL con PHPmyAdmin Creazione database e delle Tabelle Query Inserimento Ricerca Modifica

Dettagli

MODULO 5 ACCESS Basi di dati. Lezione 4

MODULO 5 ACCESS Basi di dati. Lezione 4 MODULO 5 ACCESS Basi di dati Lezione 4 ARGOMENTI Lezione 4 Filtrare i dati Esempio 1 Query Cos è Creare Query in visualizza struttura Criteri di ricerca Esempio 2 Esempio 3 Esempio 4 Creare Query in creazione

Dettagli

UML Diagrammi delle classi. UML Diagramma classi 1

UML Diagrammi delle classi. UML Diagramma classi 1 UML Diagrammi delle classi UML Diagramma classi 1 Diagramma delle classi Non è nei nostri obiettivi affrontare UML nel suo complesso Ci concentreremo sui diagrammi delle classi che ci forniscono un linguaggio

Dettagli

Università degli Studi di Bologna Facoltà di Ingegneria. Tecnologie Web L-A A.A. 2014 2015. Esercitazione 08 DAO e Hibernate

Università degli Studi di Bologna Facoltà di Ingegneria. Tecnologie Web L-A A.A. 2014 2015. Esercitazione 08 DAO e Hibernate Università degli Studi di Bologna Facoltà di Ingegneria Tecnologie Web L-A A.A. 2014 2015 Esercitazione 08 DAO e Hibernate Agenda Pattern DAO e framework Hibernate progetto d'esempio relativo alla gestione

Dettagli

PHP e Structured Query Language

PHP e Structured Query Language Esercitazioni del corso di Tecnologie per la Comunicazione Aziendale PHP e Structured Query Language Marco Loregian loregian@disco.unimib.it www.siti.disco.unimib.it/didattica/tca2008 Interrogazioni (ripasso)

Dettagli

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

Appunti di MySql. Evoluzione di un tutorial di base di mysql, scritto da Etel Sverdlov. Appunti di MySql Evoluzione di un tutorial di base di mysql, scritto da Etel Sverdlov. Indice generale avviare la shell mysql...2 comandi SQL per la gestione del database (DDL)...2 visualizzare l'elenco

Dettagli

ARCHIVIAZIONE AUTOMATICA (Gestione Allegati)

ARCHIVIAZIONE AUTOMATICA (Gestione Allegati) M.I.Ba. Modulo Indagini Bancarie e Finanziarie Funzioni EXTRA Le Funzioni EXTRA nascono su indicazione dei nostri clienti e hanno come scopo far risparmiare più tempo possibile nella gestione delle indagini

Dettagli

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

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino Integration Services Project SQL Server 2005 Integration Services Permette di gestire tutti i processi di ETL Basato sui progetti di Business Intelligence di tipo Integration services Project SQL Server

Dettagli

Sviluppo Applicazioni Mobile Lezione 12 JDBC. Dr. Paolo Casoto, Ph.D - 2012

Sviluppo Applicazioni Mobile Lezione 12 JDBC. Dr. Paolo Casoto, Ph.D - 2012 + Sviluppo Applicazioni Mobile Lezione 12 JDBC + Cosa vediamo nella lezione di oggi Oggi analizzeremo insieme una specifica tecnologia Java per l accesso e la manipolazione di basi di dati relazionali

Dettagli

Introduzione al Linguaggio C

Introduzione al Linguaggio C Introduzione al Linguaggio C File I/O Daniele Pighin April 2009 Daniele Pighin Introduzione al Linguaggio C 1/15 Outline File e dati Accesso ai file File I/O Daniele Pighin Introduzione al Linguaggio C

Dettagli

Informatica Generale Andrea Corradini. 19 - Sistemi di Gestione delle Basi di Dati

Informatica Generale Andrea Corradini. 19 - Sistemi di Gestione delle Basi di Dati Informatica Generale Andrea Corradini 19 - Sistemi di Gestione delle Basi di Dati Sommario Concetti base di Basi di Dati Il modello relazionale Relazioni e operazioni su relazioni Il linguaggio SQL Integrità

Dettagli

GESTIONE DEI PROCESSI

GESTIONE DEI PROCESSI Sistemi Operativi GESTIONE DEI PROCESSI Processi Concetto di Processo Scheduling di Processi Operazioni su Processi Processi Cooperanti Concetto di Thread Modelli Multithread I thread in Java Concetto

Dettagli

Progettazione : Design Pattern Creazionali

Progettazione : Design Pattern Creazionali Progettazione : Design Pattern Creazionali Alessandro Martinelli alessandro.martinelli@unipv.it 30 Novembre 2010 Progettazione : Design Pattern Creazionali Aspetti generali dei Design Pattern Creazionali

Dettagli

Progettazione di un Database

Progettazione di un Database Progettazione di un Database Per comprendere il processo di progettazione di un Database deve essere chiaro il modo con cui vengono organizzati e quindi memorizzati i dati in un sistema di gestione di

Dettagli

Esercizio data base "Biblioteca"

Esercizio data base Biblioteca Rocco Sergi Esercizio data base "Biblioteca" Database 2: Biblioteca Testo dell esercizio Si vuole realizzare una base dati per la gestione di una biblioteca. La base dati conterrà tutte le informazioni

Dettagli

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

DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione SQL DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE SQL è più di un semplice linguaggio di interrogazione! Linguaggio di definizione dati (Data-definition language, DDL):! Crea/distrugge/modifica relazioni

Dettagli

OSSIF WEB. Manuale query builder

OSSIF WEB. Manuale query builder OSSIF WEB Manuale query builder - Maggio 2010 1) Sommario 1) SOMMARIO... 2 INTRODUZIONE... 3 Scopo del documento... 3 Struttura del documento... 3 Descrizione dell interfaccia grafica... 3 SELEZIONE DI

Dettagli

La struttura dati ad albero binario

La struttura dati ad albero binario La struttura dati ad albero binario L albero è una struttura dati nella quale le informazioni sono organizzate in modo gerarchico, dall alto verso il basso. Gli elementi di un albero si chiamano nodi,

Dettagli

Azioni. Select e join non consentono di modificare il contenuto del DB. Inserzione di nuovi dati. Azioni desiderate. Aggiornamento di dati

Azioni. Select e join non consentono di modificare il contenuto del DB. Inserzione di nuovi dati. Azioni desiderate. Aggiornamento di dati Azioni Select e join non consentono di modificare il contenuto del DB Azioni desiderate Inserzione di nuovi dati Aggiornamento di dati Cancellazione di dati Aggiunta di un record insert into utenti(nome,tel,codice_u)

Dettagli

Programmazione ad Oggetti Modulo A (Esame del 11/9/2015)

Programmazione ad Oggetti Modulo A (Esame del 11/9/2015) Programmazione ad Oggetti Modulo A (Esame del 11/9/2015) Esercizio 1 Considerate la seguente gerarchia di classi: class A { public void print(string s) { System.out.println(s); public void m1() { print("a.m1");

Dettagli

Procedure memorizzate SQL-2003/PSM. Forma base di PSM. Parametri in PSM

Procedure memorizzate SQL-2003/PSM. Forma base di PSM. Parametri in PSM Procedure memorizzate SQL-2003/PSM Procedure memorizzate nel database Programmazione general-purpose Leggere sezione 8.2 di Garcia-Molina et al. Lucidi derivati da quelli di Jeffrey D. Ullman 1 Una estensione

Dettagli

Non si deve fare ALCUN riferimento alla parte specifica di JDBC.

Non si deve fare ALCUN riferimento alla parte specifica di JDBC. Un applicazione per la quale sia fondamentale l indipendenza dal Database può essere scritta in Java usando le specifiche. (Package java.sql) Non devono essere usate chiamate specifiche del database: Si

Dettagli

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Corso di Laurea Magistrale in Ingegneria per l Ambiente e il Territorio A.A. 2014-2015 Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Strutture di dati: DB e DBMS DATO E INFORMAZIONE Dato: insieme

Dettagli

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

Utilizzando Microsoft Access. Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono alcuni campi Vogliamo creare una struttura per permettere di memorizzari i voti della classe in tutte le materie Per fare questo untilizziamo tre tabelle Alunni,materie,voti Alunni Materie Voti Creo un record per ogni

Dettagli

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione Airone Gestione Rifiuti Funzioni di Esportazione e Importazione Airone Funzioni di Esportazione Importazione 1 Indice AIRONE GESTIONE RIFIUTI... 1 FUNZIONI DI ESPORTAZIONE E IMPORTAZIONE... 1 INDICE...

Dettagli

Il Web-Service SDMX dell ISTAT

Il Web-Service SDMX dell ISTAT Il Web-Service SDMX dell ISTAT Versione: 1.0.0 Data: 05/06/2014 Autore: Approvato da: Modifiche Versione Modifiche Autore Data Indice dei contenuti 1 Introduzione... 4 2 Creazione dell esempio d uso...

Dettagli

ImporterOne Manuale Export Plugin Prestashop

ImporterOne Manuale Export Plugin Prestashop ImporterOne Manuale Export Plugin Prestashop Indice generale 1 INTRODUZIONE...2 2 INSTALLAZIONE DEL PLUGIN...2 3 CONFIGURAZIONE...5 4 OPERAZIONI PRELIMINARI...11 1-10 1 INTRODUZIONE Questo plugin di esportazione

Dettagli

Studente (Cognome Nome): Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a. 2006-07 Secondo Compitino 21 Dicembre 2006

Studente (Cognome Nome): Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a. 2006-07 Secondo Compitino 21 Dicembre 2006 Studente (Cognome Nome): Matricola: Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a. 2006-07 Secondo Compitino 21 Dicembre 2006 Si noti che le soluzioni ai quesiti saranno considerate

Dettagli

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

Dettagli

Il software di gestione immobiliare più facile da usare. Modulo Web v5.2. www.gestim.it

Il software di gestione immobiliare più facile da usare. Modulo Web v5.2. www.gestim.it Il software di gestione immobiliare più facile da usare Modulo Web v5.2 www.gestim.it Introduzione Il Modulo Web è un componente di Gestim che permette di pubblicare in automatico gli annunci sul sito

Dettagli

Gestione del file system

Gestione del file system Gestione del file system Gestione del file system Il gestore del file system è quella parte del sistema operativo incaricato di gestire le informazioni memorizzate sui dispositivi di memoria permanente

Dettagli

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione IMPLEMENTAZIONE DEL FILE SYSTEM 9.1 Implementazione del File System Struttura del File System Implementazione Implementazione delle Directory Metodi di Allocazione Gestione dello spazio libero Efficienza

Dettagli

Uso di JUnit. Fondamenti di informatica Oggetti e Java. JUnit. Luca Cabibbo. ottobre 2012

Uso di JUnit. Fondamenti di informatica Oggetti e Java. JUnit. Luca Cabibbo. ottobre 2012 Fondamenti di informatica Oggetti e Java ottobre 2012 1 JUnit JUnit è uno strumento per assistere il programmatore Java nel testing JUnit consente di scrivere test di oggetti e classi Java i test sono

Dettagli

SOMMARIO Coda (queue): QUEUE. QUEUE : specifica QUEUE

SOMMARIO Coda (queue): QUEUE. QUEUE : specifica QUEUE SOMMARIO Coda (queue): Specifica: interfaccia. Implementazione: Strutture indicizzate (array): Array di dimensione variabile. Array circolari. Strutture collegate (nodi). Prestazioni. Strutture Software

Dettagli

Esercitazione n 4. Obiettivi

Esercitazione n 4. Obiettivi Esercitazione n 4 Obiettivi Progettare e implementare per intero un componente software in Java Linguaggio Java: Classi astratte Utilizzo di costruttori e metodi di superclasse Polimorfismo Esempio guida:

Dettagli

Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008)

Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008) Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008) Introduzione a Java: primo programma, installazione dell ambiente di sviluppo, compilazione ed esecuzione 1 Introduzione Java è un linguaggio

Dettagli

Laboratorio Progettazione Web PHP e MySQL. Andrea Marchetti IIT-CNR 2013/2014

Laboratorio Progettazione Web PHP e MySQL. Andrea Marchetti IIT-CNR 2013/2014 Laboratorio Progettazione Web PHP e MySQL Andrea Marchetti IIT-CNR 2013/2014 Architettura di una applicazione Web Browser Web HTTP Server Web API Dati Presentation Application Storage PHP e DataBase Quando

Dettagli

Esercitazione PAM. (Php Apache MySQL)

Esercitazione PAM. (Php Apache MySQL) Prerequisiti: Esercitazione PAM (Php Apache MySQL) Installazione del server Apache: avvenuta; Installazione del server Php: avvenuta; Sincronizzazione dei due server: avvenuta. Abstract: L esercitazione

Dettagli

Il Software. Il software del PC. Il BIOS

Il Software. Il software del PC. Il BIOS Il Software Il software del PC Il computer ha grandi potenzialità ma non può funzionare senza il software. Il software essenziale per fare funzionare il PC può essere diviso nelle seguenti componenti:

Dettagli

Cos è ACCESS? E un programma di gestione di database (DBMS) Access offre: un ambiente user frendly da usare (ambiente grafico)

Cos è ACCESS? E un programma di gestione di database (DBMS) Access offre: un ambiente user frendly da usare (ambiente grafico) Cos è ACCESS? E un programma di gestione di database (DBMS) Access offre: un ambiente user frendly da usare (ambiente grafico) 1 Aprire Access Appare una finestra di dialogo Microsoft Access 2 Aprire un

Dettagli

Introduzione JDBC interfaccia java.sql driver caricare i driver

Introduzione JDBC interfaccia java.sql driver caricare i driver J D B C DISPENSE Introduzione JDBC (Java Database Connectivity) è un interfaccia completamente Java utilizzata per eseguire istruzioni SQL sui database. L'API JDBC si trova nel pacchetto java.sql; contiene

Dettagli

SAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica

SAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica SAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica Esercitazioni di PROGETTAZIONE DEL SOFTWARE (Corsi di Laurea in Ingegneria Informatica ed Automatica ed Ingegneria

Dettagli

Web Programming. Lezione 4: Cookie e Sessioni. Giulio Rossetti 14/04/2011. Guru@Work

Web Programming. Lezione 4: Cookie e Sessioni. Giulio Rossetti 14/04/2011. Guru@Work Web Programming Lezione 4: Cookie e Sessioni Giulio Rossetti Guru@Work 14/04/2011 Contatti Materiale Tutto il materiale del corso sarà reso disponibile sul sito: www.guruatwork.com (e su blog.giuliorossetti.net)

Dettagli

MySQL Database Management System

MySQL Database Management System MySQL Database Management System II parte Progetto gestione booking prenotazioni on-line 1. Progettazione e creazione struttura database che chiameremo booking. 2. Progettazione e creazione di un form

Dettagli

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory FILE SYSTEM : INTERFACCIA 8.1 Interfaccia del File System Concetto di File Metodi di Accesso Struttura delle Directory Montaggio del File System Condivisione di File Protezione 8.2 Concetto di File File

Dettagli

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

LA GESTIONE DELLE VISITE CLIENTI VIA WEB LA GESTIONE DELLE VISITE CLIENTI VIA WEB L applicazione realizzata ha lo scopo di consentire agli agenti l inserimento via web dei dati relativi alle visite effettuate alla clientela. I requisiti informatici

Dettagli

13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti

13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti 13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/

Dettagli

JDBC. A. Bechini 2004. Accesso a DataD con Java

JDBC. A. Bechini 2004. Accesso a DataD con Java JDBC Accesso a DataD atabase ase con Java Utilizzo di DB da applicazioni esterne Un DB contiene e gestisce dati, importanti per varie operazioni supportate da applicazioni software Come può un applicazione

Dettagli

Esercitazione sulle libpq - libreria C per PostgreSQL

Esercitazione sulle libpq - libreria C per PostgreSQL Esercitazione sulle libpq - libreria C per PostgreSQL Roberto Tronci roberto.tronci@diee.unica.it Basi di Dati A.A. 2007/2008 Tronci ( roberto.tronci@diee.unica.it ) Esercitazione libpq Basi di Dati 2007/2008

Dettagli