MagiCum S.r.l.
Progetto Inno-School
Area applicazioni
Autore: Alessio Salandi
Revisione: 1.0
Data: 23/05/2013
Titolo: Documentazione tecnica - Grafica Diario
File:Documentazione.pdf
Sito: http://inno-school.netsons.org/
Revisione 1.0
Indice
pagina
Introduzione al progetto …………………………………………………………….…………
1 La base di Android …………………………………………………………………….......
1.1 Caratteristiche della grafica di Java …………………………………..
1.2 Ambiente di lavoro ……………………………………………………………
1.2.1 NetBeans ………………………………………………..…………………..
1.2.2 Eclipse ………………………………………………………..…………......
1.2.3 Confronto tra Eclipse e NetBeans ……………….……………….
2 Android …………………………………………………………………………..................
2.1 Caratteristiche grafiche ………………………………………...............
2.2 Confronto tra Android e iOS ….……………………………..............
3 Personalizzazione del Tab Diario ….…………………………….....................
3.1 Cambiamenti a opera del utente ….……………………………………
3.2 Cambiamenti a opera del programmatore ….…………………….
4 Evoluzione ….…………………………………………………………………..................
4.1 Applicazione per tablet 7’’ ……………………………................
4.2 Applicazione per tablet di altre dimensioni …………………..
Pagina I
1
2
3
5
6
7
8
9
10
11
12
12
13
14
14
16
Revisione 1.0
Indice figure
pagina
Figura 1 - Stemma Java ……………………..…………………………………………………..
Figura 2 - Stemma NetBeans ………………………………………………………………….
Figura 3 - Stemma Eclipse .……………..……………………………………………………..
Figura 4 - Stemma OracleJDeveloper ……………..……………………………………..
Figura 5 - Stemma JCreator …………………………………………………………….……..
Figura 6 - Stemma BlueJ .…………..…………………………………………………………..
Figura 7 - Screen dell’interfaccia di NetBeans ………………………………………..
Figura 8 - Screen dell’interfaccia di Eclipse …..………..……………………………..
Figura 9 - Stemma Android ……………………..……………..……………………………..
Figura 10 – Esempio di personalizzazione immagini …….………………………..
Figure 11 – Screen del layout di login …………………………………………………….
Figure 11 – Screen del layout della pagina principale ……………………………
Figure 11 – Screen del layout del calendario ………………………………………….
Pagina II
2
5
5
5
5
5
6
7
9
12
14
15
16
Revisione 1.0
Introduzione al progetto
Nel progetto, l’area applicazioni si propone di progettare e sviluppare prodotti in
grado di apportare innovazione nell’ambito scolastico, col fine di introdurre con la
corretta metodologia l’uso delle tecnologie informatiche. In prima istanza questo
processo di rinnovamento parte dalla scuola primaria per accompagnare la crescita
digitale degli alunni.
Parallelamente si prevede la pianificazione di prodotti informatici per gli altri settori
dell’istruzione e della formazione.
Per promuovere l’innovazione, insieme a prodotti prettamente didattici si è voluta
introdurre l’applicazione Tab Diario/ Tab Registro che appartengono all’ambito
scolastico ma non puramente didattico.
Nel mondo della scuola, da qualche anno, cominciano a comparire prodotti
informatici per la didattica ma l’educazione digitale deve coinvolgere tutti i processi
coinvolti, compreso quello della comunicazione scuola-famiglia, gestione presenze,
ecc… altrimenti si rischia di identificare l’innovazione solo con l’aspetto didattico.
Per tanto si sono sviluppate le applicazioni Tab Diario e Tab Registro implementabili
sul tablet Android.
Pagina 1
Revisione 1.0
1 La base di Android
Le applicazioni, sviluppate per Android,
sono basate su un linguaggio di
programmazione, orientato agli oggetti,
chiamato Java.
Figura 1 - Stemma Java
Java è lo standard globale per lo sviluppo e la distribuzione di applicazioni con
prestazioni elevate per la più ampia gamma di piattaforme di elaborazione possibile.
È alla base di qualsiasi tipo di applicazione in rete usato per sistemi portatili, giochi,
contenuto basato su Web e software aziendale.
La tecnologia Java consente ai programmatori di effettuare quanto segue:
-
Scrivere software su una piattaforma con la possibilità di eseguirlo su qualsiasi
altra piattaforma.
Creare programmi che possono essere eseguiti all'interno di un browser Web
e accedere ai servizi Web disponibili.
Sviluppare applicazioni lato server per forum in linea, negozi, sondaggi,
elaborazione di form HTML e molto altro ancora.
Combinare applicazioni o servizi altamente personalizzati.
Scrivere applicazioni potenti ed efficienti per telefoni cellulari, processori
remoti e qualsiasi altro dispositivo elettronico.
I programmi scritti in linguaggio Java, dopo una fase iniziale di compilazione con
ottenimento del cosiddetto bytecode, sono destinati all’esecuzione sulla
piattaforma Java attraverso una fase di interpretazione (per questo motivo il
linguaggio Java è detto anche semi-interpretato) ad opera di una Java Virtual
Machine e, a tempo di esecuzione, avranno accesso alle Interfacce di
Programmazione delle Applicazioni (API) della libreria standard. Questi due step
forniscono un livello di astrazione che permette alle applicazioni di essere
interamente indipendenti dal sistema hardware su cui esse saranno eseguite.
Un'implementazione della piattaforma java è il Java Runtime Environment (JRE),
necessario per l'esecuzione del programma compilato, mentre per lo sviluppo dei
programmi in Java a partire dal codice sorgente è necessario il Java Development
Kit (JDK) che include anche il JRE.
Pagina 2
Revisione 1.0
1.1 Caratteristiche della grafica di Java
La creazione dell’interfaccia grafica di Java è composta dai cosiddetti componenti
GUI (Graphics User Interface), essi sono dei componenti che servono per l’input o
per l’output, ed hanno un aspetto grafico. Sono ad esempio dei componenti GUI di
un programma tutti i menù, i bottoni, le label, eccetera…di questo. Tutte queste GUI
saranno ovviamente collegate ad una struttura che le contiene, le due strutture che
vedremo, e che sono le più importanti, sono gli applet e le finestre.
Elementi fondamentali:
-
-
-
-
Componenti e composizione: l’interfaccia grafica viene costruita assemblando
componenti pronti, quali finestre, bottoni, caselle di testo;
Layout: posizionamento degli elementi nell’interfaccia grafica. E’ un problema
non banale quando si vuole che l’applicazione sia multipiattaforma e
indipendente dalla risoluzione e dalla dimensione dei caratteri.
Event-oriented programming: il programma non è più in comando
dell’interazione con l’utente. Deve reagire appropriatamente alle azioni svolte
dall’utente.
Programmazione grafica: è possibile creare componenti che si disegnano
autonomamente.
Swing è la libreria grafica di seconda generazione di Java, possedendo un toolkit di
sviluppo di GUI portabile su vari sistemi operativi.
Swing non effettua chiamate native al sistema operativo per la costruzione dei
componenti, ma li ricostruisce da zero, definendo qualsiasi tipo di componente di
qualsiasi sistema operativo e addirittura ne inventa di nuovi.
I componenti Swing possono essere trovati nel package javax.swing. I nomi delle
classi iniziano tutti per convenzione con la lettera J, la parte rimanente del nome
della classe rappresenta il nome del componente Swing: JButton, JLabel, JTextField…
Un componente è un oggetto con determinate caratteristiche di comportamento
conosciute e specificate. Gli oggetti Swing emettono eventi in modo asincrono,
hanno caratteristiche legate ad essi stessi, e rispondono a un ben preciso set di
comandi (specifico per componente).
Pagina 3
Revisione 1.0
Swing ha lo stesso aspetto su tutte le piattaforme, poiché il suo codice è scritto in
Java: si parla a tal proposito di componenti leggeri, poiché non richiedono una
allocazione di risorse da parte del sistema operativo al di fuori della JVM.
L’aspetto è espandibile e personalizzabile (look and feel), nel senso che ciascun
utente può utilizzarne uno standard o inventarsene di nuovi.
In più Swing è una libreria:
-
Facile;
Fuori dagli schemi;
A spedizione di eventi;
Con un thread unico.
Facile: Cambiare l’aspetto o il comportamento di un componente Swing si riduce
semplicemente nell’invocare metodi o definire sottoclassi.
Fuori dagli schemi: i bordi dei componenti Swing non devono essere
necessariamente rettangolari e sono facili da cambiare.
A spedizione di eventi: Il modello prevede la possibilità per ogni componente o
controllo grafico di generare un evento. Ad ogni evento generato corrisponde una
classe specifica, che ne descrive l' origine e la causa dell' evento stesso, cioè viene
fornito un resoconto completo sull 'evento generato. La gestione logica dell'evento
viene affidata ad una sua interfaccia specifica detta listener, che contiene i metodi
da implementare.
Con un thread unico: lavora su un unico thread separato quindi la concorrenza è
inevitabile.
Pagina 4
Revisione 1.0
1.2 Ambiente di lavoro
Gli ambienti di sviluppo integrati (IDE) sono dei software che, in fase di
programmazione, aiutano i programmatori nello sviluppo del codice.
Normalmente è uno strumento software che consiste di più componenti, da cui
appunto il nome integrato:
un editor di codice sorgente;
un compilatore e/o un interprete;
un tool di building automatico;
(solitamente) un debugger.
•
•
•
•
Per lo sviluppo di applicazione scritte in linguaggio Java, possono essere utilizzati i
seguenti IDE:
-
Figura 2 - Stemma NetBeans
-
Figura 3 - Stemma Eclipse
-
Figura 4 - Stemma Oracle JDeveloper
-
Figura 5 - Stemma JCreator
-
Figura 6 - Stemma BlueJ
La competizione è più intensa tra Eclipse e NetBeans perché questi prodotti hanno
le maggiori comunità di utenti attive e sono free ed open source.
Pagina 5
Revisione 1.0
1.2.1 NetBeans
NetBeans è un completo strumento per seguire e realizzare ogni fase dello sviluppo
di un software. Programmato in Java, pensato per Java, può essere utilizzato anche
con molti altri linguaggi di programmazione e scripting, come C/C++, Ruby, UML,
XML, JSP. Questo grazie ad una struttura completamente modulare, che permette di
aggiungere e rimuovere facilmente estensioni e plugin, cioè un programma non
autonomo che interagisce con un altro programma per ampliarne le funzioni, ma il
loro numero è limitato rispetto ad altri IDE.
E’ stato sviluppato da Sun Microsystem e ora continua a essere supportato da
Oracle. Una delle sue peculiarità che lo distinguono dagli altri IDE è di essere adatto
al Rapid Development, poiché permette, con pochi click, di configurare lo scheletro
base sia di un’applicazione Web che di una di tipo Desktop.
NetBeans è un ottimo strumento se si vogliono utilizzare le tecnologie standard
offerte da Java.
Pro:
- multi-linguaggio e
multi-piattaforma
- Open Source e gratuito
- Compatibile con vari linguaggi
- Design grafico d’interfacce
Contro:
- Richiede un computer potente
- Complicato per un principiante
Figura 7 - Screen dell’interfaccia di NetBeans
Pagina 6
Revisione 1.0
1.2.2 Eclipse
Eclipse è un ambiente di sviluppo multi-linguaggio e multi-piattaforma in quanto
permette di sviluppare in diversi linguaggi oltre che in Java (tramite dei plug-in è
possibile scrivere codice C, C++, Javascript, PHP, ecc…) ed è disponibile per numerosi
S.O. quali Windows, Linux e MacOs, proprio perché è stato sviluppato in Java.
Eclipse è stato sviluppato grazie a delle librerie grafiche (GUI) sviluppate
appositamente che vengono chiamate Standard Widget Toolkit (SWT), di
conseguenza non utilizzano quelle standard del linguaggio Java (Swing). E’ possibile
utilizzare tali interfacce per sviluppare le proprie applicazioni.
La caratteristica forte di Eclipse è di avere una sovrabbondanza di estensioni (plugin)
che gli permettono di supportare diverse tecnologie e framework facilitando il
lavoro allo sviluppatore.
Pro:
- multi-linguaggio e
multi-piattaforma
- Molto completo
- Plugin per ogni necessità
- Gratuito
Contro:
- Richiede un computer potente
- Serve un po' di tempo per
conoscerlo
Figura 8 - Screen dell’interfaccia di NetBeans
Pagina 7
Revisione 1.0
1.2.3 Confronto tra Eclipse e NetBeans
Entrambi gli IDE sono semplici da scaricare ed installare. I siti web del download di
entrambi gli IDE offrono varie configurazioni di caratteristiche e plugin che meglio
rispecchiano le necessità del proprio progetto.
Una volta installati, NetBeans si presenta più facile di Eclipse nel caricare un
esistente progetto. Una finestra di wizard chiede l’albero di directory del codice e
dei test ed intelligentemente li carica entrambi. Necessita solo di specificare alcune
librerie utilizzate che non sono note all’IDE. Si possono avere progetti ovunque sul
disco. Come la maggior parte degli IDE Java, NetBeans non ha il concetto
equivalente di workspace di Eclipse e non impone requisiti simili sulla posizione dei
proprio file di progetto.
Entrambi gli IDE hanno molte caratteristiche utili per quanto riguarda la
programmazione pura. È improbabile che un utente necessiti di qualcosa in Java che
non possa riprodurre in entrambi gli IDE in modo confortevole.
Eclipse ha un’interfaccia grafica più facile e gestibile di NetBeanse e usa altre
caratteristiche di progetto che sono uniche tra gli IDE Java. La principale è il concetto
di prospettiva, cioè l’idea che un utente può cliccare su una nuova prospettiva e
tutte le finestre cambieranno rispetto al nuovo contesto.
Eclipse supporta meglio lo sviluppo di applicazioni per Android, per ciò è stato
utilizzato per la creazione delle applicazioni per il nostro progretto.
Pagina 8
Revisione 1.0
2 Android
Android è un sistema operativo per
dispositivi mobili organizzato in
un'architettura software che include
un sistema operativo di base e i
middleware (insieme di
programmi informatici che fungono da
intermediari tra diverse applicazioni e
componenti software) per le
comunicazioni e le applicazioni di base.
Figura 9 - Stemma Android
Le caratteristiche principali di Android sono la struttura open source (escluse alcune
versioni intermedie) e il suo basarsi su kernel Linux. La caratteristica open source ed
il tipo di licenza (Licenza Apache) permette di modificare e distribuire liberamente il
codice sorgente.
Inoltre, Android dispone di una vasta comunità di sviluppatori che realizzano
applicazioni con l'obiettivo di aumentare le funzionalitá dei dispositivi. Queste
applicazioni sono scritte soprattutto con una versione modificata del linguaggio di
programmazione Java.
Questi fattori hanno permesso ad Android di diventare il sistema operativo più
utilizzato in ambito mobile, oltre a rappresentare, per le aziende produttrici, la
migliore scelta in termini di bassi costi, personalizzazione e leggerezza del sistema
operativo stesso, senza dover scrivere un proprio sistema operativo da zero.
Le applicazioni di Android sono sviluppate all'interno di un framework, ossia di una
struttura dati specifica. La struttura del framework è molto chiara se si utilizza
l'ambiente di sviluppo (SDK) con Eclipse; il mancato utilizzo di Eclipse, tuttavia, non
impedisce di scrivere applicazioni Android funzionanti.
Le applicazioni Android sono caratterizzate da una certa dualità: parti dinamiche
scritte in Java e parti statiche scritte in XML. Tipico delle parti statiche possono
essere quelle caratteristiche che non cambiano durante l'esecuzione
dell'applicazione, come per esempio il colore dello sfondo.
Tipico delle parti dinamiche sono gli aspetti programmatici come per esempio la
gestione degli eventi. Questa dualità è però solo apparente. Durante l'esecuzione,
infatti, la Dalvik Virtual Machine (DVM) esegue sempre un programma. Per lo
Pagina 9
Revisione 1.0
sviluppo delle applicazioni è disponibile una completa documentazione la quale,
anche graficamente, riprende la struttura tipica della documentazione Java del sito
Oracle.
Tramite l'SDK possiamo passare dalla descrizione della nostra applicazione alla sua
effettiva esecuzione sia in emulazione, sia su un dispositivo concreto. Per descrivere
l'applicazione al dispositivo prescelto si utilizza il file Manifest.xml Possiamo quindi
affermare che un'applicazione è descritta completamente da una tripletta:
- Codice Java
- Risorse statiche xml
- Manifest.xml
Il codice Java viene compilato insieme all'xml per generare un file con estensione
.apk: esso contiene il bytecode per la DVM. I passi successivi servono per installare il
bytecode nel dispositivo (ed eseguirlo in emulazione)
2.1 Caratteristiche grafiche
Android permette la creazione d’interfacce in tre modi:
- Metodo procedurale: possiamo creare un’interfaccia utente completamente
in codice Java;
- Metodo dichiarativo: Possiamo creare l’interfaccia utente attraverso
un descrittore XML;
- Metodo ibrido: possiamo creare l’interfaccia utente in modo dichiarativo e si
specifica con il metodo procedurale richiamando il descrittore XML da codice.
Il frammento è quella porzione di codice (quindi di applicazione) che gestisce la
parte grafica, in base alle possibilità del dispositivo su cui è stato installato. Il
problema dello sviluppatore è evidente quando si trova a dover sviluppare una
applicazione che funzioni, ad esempio, sia su un tablet (generalmente questi hanno
uno schermo touch-screen di grandi dimensioni) che su alcuni tipi di smartphone
(che possono avere 2 schermi e non è detto che entrambi siano touch-screen). È
stato allora deciso, dal team di Android, di creare il concetto di "fragments", ossia
una classe tanto generica da permettere lo sviluppo di una applicazione con la parte
grafica slegata a quella "decisionale", in modo da rendere agevole l'adattamento
dell'applicazione alle varie situazioni. Il programmatore creerà vari frammenti della
parte grafica e poi Android la ridisegnerà correttamente per il dispositivo in uso.
Pagina 10
Revisione 1.0
2.2 Confronto tra Android e iOS
Il maggiore rivale di Android è il sistema iOS di Macintosh, usato anch’esso per
dispositivi portatili come telefoni cellulari e tablet.
Le armi di attacco da parte di iOS sono:
- Interfaccia più intuitiva: interfaccia semplice e dinamica che rimane molto
intuitiva e facile da utilizzare anche per nuovi utenti;
- Siri: assistente personale intelligente che utilizza una interfaccia utente in
linguaggio umano per rispondere alle domande, formulare raccomandazioni, e
eseguire azioni delegando le richieste di un insieme di servizi Web;
- iCloud: sistema per archiviare i contenuti multimediali dell’utente su server
remoti, condivisi tra i vari dispositivi in possesso dell’utente. Grazie alla
tecnologia push vengono inviati a tutti i dispositivi via rete senza fili (3G o WiFi), automaticamente e senza che si debba fare nulla se non configurare la
modalità di funzionamento dal relativo pannello di controllo. Se si acquista un
brano musicale, si scatta una foto, si redige un documento o un foglio dati, tali
file verranno automaticamente scritti o aggiornati su ogni dispositivo dello
stesso utente.
Android, per difendersi, ha dalla sua parte:
- Integrazione tra le app: gli sviluppatori possono effettuare delle integrazioni
tra le app permettendo senza avviare l’applicazione che consente il servizio.
Questo non è attualmente possibile su iOS;
- Impostazioni veloci: è possibile attivare e disattivare tutta una serie di funzioni
come il wifi, bluetooth o gps dalla schermata delle notifiche mi fa risparmiare
un sacco di tempo;
- Gestione dei file: consente di scaricare o caricare un file (di qualunque tipo)
permettendo in questo modo di caricare anche le applicazioni che un utente
ha sviluppato e testarlo (oltre che con l’emulatore) anche sul proprio
dispositivo .
La nostra scelta di utilizzare Android è stata guidata dal fatto che è possibile
programmare e pubblicare applicazioni in modo gratuito.
Pagina 11
Revisione 1.0
3 Personalizzazione del Tab Diario
La mossa vincente di Windows è stata la creazione di interfacce grafiche che
aiutassero l’utente nelle operazioni al computer, cercando di migliorare la grafica
rimanendo al passo con la tecnologia e seguendo i gusti sempre più esigenti degli
utenti che adesso non si accontenta più di un’impostazione grafica elevata, ma
vogliono personalizzarla a piacimento adattandola ai propri gusti.
Per accontentare gli utenti anche da questo punto di vista, l’applicazione Tab Diario
permette la personalizzazione sia dal singolo utente, in questo caso l’alunno o il
genitore, sia dal programmatore.
3.1 Cambiamenti a opera del utente
Tab Diario permette al singolo alunno di personalizzare la propria copia
dell’applicazione inserendo in una cartella le proprie immagini per poterle
visualizzare, in ordine casuale, a lato dello schermo nella pagina principale durante
l’utilizzo.
Figura 10 – Esempio di personalizzazione immagini
Pagina 12
Revisione 1.0
3.2 Cambiamenti a opera del programmatore
Il programmatore può modificare:
- L’immagine della pagina di login;
- Lo sfondo della pagina principale;
- L’asset dei tre layout.
Per modificare l’immagine presente nell’interfaccia di login, il programmatore, deve
sostituire l’immagine presente con lo stemma della scuola, andando a cambiare il
campo di riferimento dell’ImageView.
Analogamente, si deve svolgere la stessa procedura per il cambio dello sfondo della
pagina principale, andando però a modificare il campo di background del layout.
Infine, il programmatore, può anche modificare la disposizione degli oggetti su i
layout come la scuola desidera, andando a ridefinire le impostazioni o dal codice
XML o dalla anteprima grafica proposta dal IDE.
Pagina 13
Revisione 1.0
4 Evoluzione
L’applicazione Tab Diario è stata sviluppata per tablet con uno schermo di 7’’, ma,
per aumentare la folla di mercato, l’applicazione può essere adattata anche a
schermi con dimensioni diverse.
La scelta iniziale è stata suggerita dalla necessità di uno strumento facile da
trasportare, con un peso e una dimensione limitata.
L’assenza di 3G nei tablet è stata scelta appositamente per non permettere
all’alunno di connettersi individualmente a internet, rimanendo in questo modo
obbligato a connettersi al wifi della scuola sotto il controllo del maestro.
4.1 Applicazione per tablet 7’’
L’applicazione, con le impostazioni predefinite per i tablet 7’’, si presenta all’avvio
con la pagina di login divisa verticalmente in due parti.
- La parte sinistra dello schermo è occupata da un’immagine (nel caso in figura,
dallo stemma della MagiCum del settore Diario).
- La parte destra permette l’accesso all’area riservata tramite una serie di
caselle che richiedono l’inserimento dei dati necessari (Nome, Cognome e
Password).
Una volta completato l’inserimento e premendo sull’oggetto Buttom nominato
“Accedi”, se si è connessi a internet, le informazioni sono inviate al database per il
confronto e se sono corrette, è consentito l’accesso.
Figure 11 – Screen del layout di login
Pagina 14
Revisione 1.0
L’area riservata è costituita dalla pagina principale, dove si può riceve le
informazioni (avvisi, compiti, voti e note disciplinari) inviate dal maestro
dall’applicazione Tab Registro.
Questa pagina si suddivide in tre parti:
- La parte inferiore dove è presente una sequenza di RadioButton che
permettono la selezione della materia di cui si vuole ricevere le informazioni;
- La parte laterale a destra dove sono visibili le immagini, caricate su una
ImageView, che mantengono un ambiente più allegro e simpatico agli occhi
dello studente;
- La parte centrale è costituita da quattro EditText, uno per ogni informazione,
con i rispettivi TextView, che ne indicano l’apparteneza, che consentono la
visualizzazione delle informazioni da parte dell’utente dopo che ha eseguito la
richiesta al database di inviare i dati corrispondenti alla materia e al giorno
selezionate premendo sull’oggetto Button “Ricevi” (per default la data all’avvio
dell’applicazione corrisponde alla data del sistema del dispositivo.)
Figure 12 – Screen del layout della pagina principale
Pagina 15
Revisione 1.0
Per selezionare il giorno interessato è possibile accedere alla pagina del calendario,
premendo l’oggetto Button indicato con la data odierna presente nella parte in alto
sopra l’immagine, dove, premendo sulla data desiderata, è possibile cambiare il
giorno di riferimento.
Figure 13 – Screen del layout del calendatio
4.2 Applicazione per tablet di altre dimensioni
L’applicazione Tab Diario può essere adattata ai tablet con schermo di diversa
dimensione dal programmatore, modificando la disposizione e le dimensioni degli
oggetti e delle scritte presenti nel layout predisponendole in modo statico o
dinamico.
Risulta più facile e veloce modificare l’adattamento in modo statico degli oggetti alla
nuova dimensione perché basta andare da codice XML a cambiare i valori
preesistenti, tenendo presente che la nuova interfaccia funziona correttamente solo
per la nuova dimensione.
Per evitare lo sfasamento che si presenta nel caricare l’applicazione su tablet con
dimensioni dello schermo diverso da quello configurato, si deve intervenire in
maniera dinamica, cioè assegnare, da codice XML, ai campi che definiscono la
dimensione degli oggetti, una variabile il cui valore dipende dalla grandezza dello
schermo del tablet.
Pagina 16