Anteprima
Vedrai una selezione di 4 pagine su 15
gLibrary, tesina Pag. 1 gLibrary, tesina Pag. 2
Anteprima di 4 pagg. su 15.
Scarica il documento per vederlo tutto.
gLibrary, tesina Pag. 6
Anteprima di 4 pagg. su 15.
Scarica il documento per vederlo tutto.
gLibrary, tesina Pag. 11
1 su 15
Disdici quando vuoi 162x117
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Sintesi

Introduzione gLibrary, tesina



Questo progetto nasce come idea per un eventuale supporto ad una biblioteca scolastica. L'idea alla base di questa applicazione è infatti quella di poter prenotare direttamente dal proprio dispositivo un libro che l'utente vede, per esempio in una libreria, e desidera prenotare in biblioteca. Per controllare la disponibilità del libro basta semplicemente inquadrare il codice a barre del libro prescelto e con un semplice tocco prenotarlo se possibile. Se il libro non dovesse invece essere prenotabile l'utente ha la possibilità di effettuare una ricerca per libri simili. Si potrà allora cercare nella biblioteca scolastica i libri che presentano lo stesso genere e autore, solo lo stesso autore o solo lo stesso genere. L'applicazione si pone, come già detto, ad una funzione di supporto e quindi non sono implementate alcune funzioni che si deve pensare faccia la biblioteca. Fra queste per esempio la gestione delle prenotazioni: è l'app a memorizzare le prenotazioni, ma sarà poi la biblioteca a indicare quando un libro è ritornato dal prestito e a modificare il valore nel database. Il progetto si pone anche come un quadro riepilogativo di tutte le attività compiute all'interno dell'anno scolastico unendo perciò la programmazione Android per la creazione di applicazioni con il linguaggio PHP e SQL per la gestione del database contenente i libri. La tesina di maturità permette il collegamento con alcune materie scolastiche.

Collegamenti


gLibrary, tesina



Informatica - Linguaggio PHP, database.
TPSIT - Linguaggio Android.
Estratto del documento

BIBLIOTECA SCOLASTICA

Michael Bertini 5^E

a.s 2015/2016

Michael Bertini 5^E ITIS “E. Mattei”, Sondrio a.s 2015/2016

INDICE

PRESENTAZIONE …............................................................................ pag. 2

LA STRUTTURA DELL'APPLICAZIONE …..................................................

1. IL DATABASE …......................................................................

1.1 PROGETTAZIONE DELLA BASE DI DATI .................................... pag.3

1.2 RELAZIONE FRA LA BASE DI DATI E L'APPLICAZIONE …................. pag.4

2. L'APP ANDROID .....................................................................

2.1 MAIN ACTIVITY …............................................................... pag. 5

2.2 MOSTRA LIBRO …............................................................... pag. 6

2.3 PRENOTAZIONE ….............................................................. pag. 6

2.4 CONSIGLI DI LETTURA …...................................................... pag. 7

3. LE PAGINE PHP …....................................................................

3.1 METODO DI INVIO DEI DATI …................................................. pag.8

3.2 RICERCA.PHP …................................................................. pag.9

3.3 PRENOTA.PHP …................................................................ pag.9

3.4 GEN.PHP/GENAUT.PHP/AUT.PHP ….........................................pag.10

3.5 ANNULLA.PHP …................................................................pag.11

4. LE LIBRERIE ZXING ….............................................................. pag.12

5. SITOGRAFIA …....................................................................... pag.14

Michael Bertini 5^E ITIS “E. Mattei”, Sondrio a.s 2015/2016

PRESENTAZIONE

Questo progetto nasce come idea per un eventuale supporto ad una biblioteca scolastica. L'idea alla base di

questa applicazione è infatti quella di poter prenotare direttamente dal proprio dispositivo un libro che

l'utente vede, per esempio in una libreria, e desidera prenotare in biblioteca.

Per controllare la disponibilità del libro basta semplicemente inquadrare il codice a barre del libro prescelto

e con un semplice tocco prenotarlo se possibile.

Se il libro non dovesse invece essere prenotabile l'utente ha la possibilità di effettuare una ricerca per libri

simili. Si potrà allora cercare nella biblioteca scolastica i libri che presentano lo stesso genere e autore, solo lo

stesso autore o solo lo stesso genere.

L'applicazione si pone, come già detto, ad una funzione di supporto e quindi non sono implementate alcune

funzioni che si deve pensare faccia la biblioteca. Fra queste per esempio la gestione delle prenotazioni: è

l'app a memorizzare le prenotazioni, ma sarà poi la biblioteca a indicare quando un libro è ritornato dal

prestito e a modificare il valore nel database.

Il progetto si pone anche come un quadro riepilogativo di tutte le attività compiute all'interno dell'anno

scolastico unendo perciò la programmazione Android per la creazione di applicazioni con il linguaggio

PHP e SQL per la gestione del database contenente i libri. 2

Michael Bertini 5^E ITIS “E. Mattei”, Sondrio a.s 2015/2016

LA STRUTTURA DELL'APPLICAZIONE

1.IL DATABASE

1.1 PROGETTAZIONE DELLA BASE DI DATI

Il database gLibrary implementato tramite il linguaggio MySQL è utilizzato per la gestione delle

informazioni riguardanti i libri a disposizione della biblioteca e le prenotazioni.

Sono presenti le seguenti tabelle:

LIBRO : questa entità rappresenta nella sua generalità un determinato libro stampato da un

• determinato editore. Sarà identificato univocamente dal suo codice ISBN.

COPIA: l'entità copia rappresenta invece la singola copia materiale del libro a disposizione

• della biblioteca ed è identificato da un codice che gli viene imposto dalla biblioteca a cui

appartiene (in questo caso il valore del codice della copia è un auto_increment). Perciò un

libro in questa tabella appare tanta volte quante sono le copie che la biblioteca ha a

disposizione. In questa tabella è presente un attributo “stato” che segnala se il libro è

occupato oppure no (0: libero; 1:occupato).

EDITORE

• AUTORE

• GENERE

• PRENOTAZIONE: questa entità rappresenta la prenotazione che viene effettuata su una copia

• del libro.

DIAGRAMMA E/R (SCHEMA CONCETTUALE) 3

Michael Bertini 5^E ITIS “E. Mattei”, Sondrio a.s 2015/2016

SCHEMA LOGICO

PRENOTAZIONE(codPren,codCopia,data)

COPIA(codCopia,codLibro,stato)

LIBRO_AUTORE(codA,ISBN)

LIBRO(ISBN,titolo,anno,lingua,codA,codGenere,codEditore)

AUTORE(codA,nome,cognome)

EDITORE(codEditore,ragione_sociale,città)

GENERE(codGenere,descrizione)

chiave primaria codPren

chiave esterna codEditore

chiave primaria ed esterna codA

1.2 RELAZIONE FRA LA BASE DI DATI E L'APPLICAZIONE

Il database è una parte fondamentale per il funzionamento dell'applicazione e quindi deve poter

essere raggiungibile da questa. Per questo la base di dati è ospitata tramite hosting sulla rete internet

e da qui è raggiugibile. L'utente quando invia il suo codice ISBN lo invia ad una pagina PHP,

anch'essa memorizzata sul web, che si interfaccia attraverso l'utilizzo del linguaggio MySQL con il

database. 4

Michael Bertini 5^E ITIS “E. Mattei”, Sondrio a.s 2015/2016

2.L'APP ANDROID

Per lo sviluppo dell'applicazione si è scelto l'ambiente di sviluppo Android. Fondamentalmente

l'applicazione si compone delle seguenti activity, le varie schermate che l'utente può incontrare durante

l'uso. Per comprendere lo schema generale delle activity e la loro connessione si veda lo schema conclusivo.

2.1 MAIN ACTIVITY

Questa è la schermata iniziale che l'utente vede non appena avvia l'applicazione. Questa activity si compone

di due bottoni e da un'area di testo sulla quale appariranno le informazioni ricavate dalla gestione dei dati,

in questo caso il codice ISBN che viene scannerizzato. Il bottone INIZIA viene utilizzato dall'utente per

iniziare la scansione del codice ISBN del libro. Al bottone è associato un ascoltatore che richiama le librerie

open source di Zxing (per vedere come sono state implementate si veda pag. 12). Queste librerie permettono

di utilizzare dei metodi che accedono alla fotocamera del dispositivo e che dalla fotografia scattata riescono

a estrapolare il codice.

Non appena l' ISBN viene riconosciuto questo viene inviato all'app che stampa il risultato sull' area di testo.

L'utente dovrà quindi schiacciare il bottone INVIA e qui potranno presentarsi differenti scenari in base allo

stato del libro segnalato. Se l'utente non ha inserito tramite scansione nessun codice al tentativo di invio

apparirà un messaggio d'errore. 5

Michael Bertini 5^E ITIS “E. Mattei”, Sondrio a.s 2015/2016

2.2 MOSTRA LIBRO

Se il libro è presente nel database e prenotabile dall'utente viene

visualizzata questa activity. Qui viene mostrato all'utente il risultato

della sua ricerca e quindi le informazioni generali riguardanti il libro.

Nel fondo della schermata è presente un bottone PRENOTA che

rende possibile la prenotazione da parte dell'utente. Quando il

bottone viene cliccato il codice ISBN viene inviato alla pagina

prenota.php che una volta trovato il libro ne modifica lo stato di

prenotazione e inserisce i dati nella tabella Prenotazione. Ritorna

quindi all'applicazione il codice della prenotazione.

2.3 PRENOTAZIONE

In questa activity viene mostrato il codice di prenotazione che l'utente deve utilizzare per ritirare il libro.

Ora l'utente può decidere se prenotare altri libri e quindi tornare alla schermata iniziale oppure annullare la

prenotazione precedentemente effettuata. In quest'ultimo caso viene richiamata una pagina PHP che

ripristina lo stato del libro a libero e cancella la prenotazione. 6

Michael Bertini 5^E ITIS “E. Mattei”, Sondrio a.s 2015/2016

2.4 CONSIGLI DI LETTURA

Questa activity viene mostrata se

il libro che si è cercato non è

presente nella base di dati. In

questo caso è quindi possibile

ricercare dei libri simili a quello

desiderato in base a dei parametri

inseriti. Si potrà quindi cercare

tutti i libri con lo stesso autore, lo

stesso genere oppure con lo

stesso autore e lo stesso genere.

Una volta inseriti i parametri

secondo cui ricercare i libri questi

appariranno preceduti da un

codice. L'utente dovrà quindi

inserire questo codice all'interno

di un'area di testo posta nel fondo

della pagina. Cliccando poi il

pulsante PRENOTA si aprirà la

schermata MOSTRA LIBRO e la

procedura continuerà come precedentemente mostrato.

SCHEMA DEL FUNZIONAMENTO GENERALE DELL'APPLICAZIONE 7

Michael Bertini 5^E ITIS “E. Mattei”, Sondrio a.s 2015/2016

3.LE PAGINE PHP

3.1 METODO DI INVIO DEI DATI

Per inviare i dati dall'applicazione alle pagine PHP e viceversa si è utilizzato il metodo POST. In questo caso

quindi l'applicazione Android, conoscendo l'indirizzo del sito in cui sono ospitati gli script,invia alla pagina

PHP dei dati parametri che vengono inseriti all'interno del vettore $_POST[]. A questo punto lo script

estrapola i dati che gli servono dal vettore e infine, dopo delle elaborazioni, stampa sul flusso in uscita di

dati una risposta. Questa viene letta dall'applicazione che se ne servirà per il suo funzionamento.

INVIO E RICEZIONE DEI DATI TRAMITE L'APPLICAZIONE

LETTURA DEL VALORE DA PHP 8

Michael Bertini 5^E ITIS “E. Mattei”, Sondrio a.s 2015/2016

3.2 RICERCA.PHP

Questa pagina ha la funzione di ricercare il libro nel database. Dopo essersi connesso a questo, tramite una

query ricerca il libro secondo il codice ISBN che gli è stato inviato. Se il libro viene trovato allora si passa

alla ricerca delle informazioni che lo riguardano fra cui anche il numero di copie libere presenti. Se emerge

che sono presenti delle copie libere allora si stampano sul flusso di uscita dei dati le informazioni che

riguardano il libro. Se invece il libro non presenta copie libere si stampa un codice, “NP”, che per

convenzione indica all'applicazione che il libro non è prenotabile. Nel caso in cui invece il libro non viene

trovato nel database si stamperà un messaggio che indica questa situazione.

3.3 PRENOTA.PHP

Questa pagina serve per prenotare il libro selezionato dalla precedente ricerca. Viene quindi cercata nella

tabella Copia u

Dettagli
Publisher
15 pagine
6 download