La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

© 2012 - CEFRIEL Primi esempi di interfacce grafiche con Android Docente: Gabriele Lombardi

Presentazioni simili


Presentazione sul tema: "© 2012 - CEFRIEL Primi esempi di interfacce grafiche con Android Docente: Gabriele Lombardi"— Transcript della presentazione:

1 © CEFRIEL Primi esempi di interfacce grafiche con Android Docente: Gabriele Lombardi

2 © CEFRIEL The present original document was produced by CEFRIEL and the Teacher for the benefit and internal use of this course, and nobody else may claim any right or paternity on it. No right to use the document for any purpose other than the Intended purpose and no right to distribute, disclose, release, furnish or disseminate it or a part of it in any way or form to anyone without the prior express written consent of CEFRIEL and the Teacher. © copyright Cefriel and the Teacher-Milan-Italy-23/06/2008. All rights reserved in accordance with rule of law and international agreements.

3 © CEFRIEL Sommario SLIDECONTENUTO MVC pattern Perché preoccuparsene, come implementarlo Interagire con lutente Esempi di eventi e accesso ai dati della UI Tutto in XML Come descrivere interfacce grafiche in XML: basi Logging & Debugging Loggare per sapere, debuggare le proprie app Widget e container Esempi di utilizzo di widget e container in XML

4 I design pattern (GRASP, GoF, altri) Cosa sono i design pattern? –Soluzioni efficaci a problemi frequenti; –le trovate «preconfezionate» in libri (GoF), su forum; –operano a diversi livelli (classe, collaborazione, framework, componenti). GRASP: –sono più linee guida che design pattern; –low copuling & high coesion sono i più importanti. GoF: –dal libro «Design patterns» della gang of four; –si dividono in strutturali, creazionali, comportamentali; –descrivono soluzioni a livello di collaborazione. MVC (Model View Control), MVP (Model View Presenter): –definiscono una architettura astratta in vengono separati: il modello dei dati su cui lapplicazione opera; la/le viste dei dati da mostrare allutente; le operazioni da svolgere in risposta agli eventi. –Non comprende la logica di business!!! © CEFRIEL

5 MVC e MVP A programmare seguendo listinto: –si finisce per ottenere lanti-pattern SmartGUI; –lapplicazione cresce attorno allinterfaccia grafica; –alla fine non saremo più in grado di staccare le funzionalità dallinterfaccia (se non con molto sforzo). Model e logica di business: –lapplicazione dovrebbe nascere sulla carta in UML; –il modello concettuale (dei dati) dovrebbe guidarci; –("Model Driven Design", Evans) –la logica di business dovrebbe venir realizzata PRIMA dellinterfaccia di interazione con lutente; –realizzare sia una GUI che una CLI aiuta a separare. MVC e MVP vengono dopo: –sono pattern da applicare quando il core esiste già; –servono per costruire linterfaccia (grafica); © CEFRIEL

6 MVC e MVP MVC: –il modello rappresenta i dati, eventualmente da DB; –le viste mostrano dati e strumenti di interazione; –i controller interagiscono con le viste e i dati per richiamare la logica di business. MVP (view attiva/passiva): –riguarda la presentazione dei dati (non linterazione); –arricchisce linterazione tra modello e vista; –il presenter manipola i dati perché possano essere presentati correttamente; © CEFRIEL Model DB ControllerView Logica di business Model View Presenter

7 MVC in Android © CEFRIEL JavaBeans DB Contengono dati accessibili come property (vedi dopo) android.view.View Meglio se generata da file XML in /res/layout Activity Controller ViewModel

8 Un primo esempio con layout in XML Scopo: –realizzare una semplice calcolatrice che effettui i calcoli su espressioni contenenti solo interi relativi e frazioni, esprimendo il risultato come una frazione. Architettura: –decidiamo di dividere in due parti il «progetto»: libreria core di calcolo (in grado di parsare una stringa, ed effettuare i calcoli); applicazione Android con una semplice interfaccia classica da calcolatrice. –Linterfaccia comprenderà: un layout XML in cui vengono descritti i widget da includere nellinterfaccia; unattività che esegue le azioni richieste dagli eventi (aggiungere caratteri, fare conti). © CEFRIEL

9 Un layout da calcolatrice © CEFRIEL


Scaricare ppt "© 2012 - CEFRIEL Primi esempi di interfacce grafiche con Android Docente: Gabriele Lombardi"

Presentazioni simili


Annunci Google