European Master on Critical Networked Systems Modulo su Mobile Systems

Documenti analoghi
Corso di Laurea Ingegneria Informatica Laboratorio di Informatica

Università di Ferrara Facoltà di Ingegneria. Esercitazioni di FONDAMENTI DI INFORMATICA MODULO B

Analisi e comparazione dei Framework OpenSwing e Google Web Toolkit per lo sviluppo di interfacce utente con paradigma MVC.

Un applicazione per il trasferimento file in ambiente Symbian

Esplorare e modificare il file system Compilare con gcc Lanciare un programma da linea di comando

Esercitazioni di FONDAMENTI DI INFORMATICA MODULO B

Corsi di Ingegneria del Software / Interazione Uomo - Macchina Paolo Bottoni

Università di Ferrara. Facoltà di Ingegneria. Esercitazioni di

Model View Controller

Università di Ferrara Facoltà di Ingegneria. Esercitazioni di FONDAMENTI DI INFORMATICA MODULO B

Diagramma delle classi

Corso sul linguaggio Java

Introduzione a Visual Studio 2005

Iniziare a programmare in C++

Il sistema operativo

INTRODUZIONE A VISUAL STUDIO

Mobile Computing: Sviluppo Applicazione VoIP su Symbian OS

Model-View- Controller

Il sistema operativo

Lab 01 Introduzione a Codelite

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Traduzione ed esecuzione di programmi. Dispensa 08

Strumenti Java. Fondamenti di informatica L-B A.A Alessandra Toninelli

Ambienti di Sviluppo. Linguaggi compilati

INGEGNERIA DEI SISTEMI SOFTWARE E DEI SERVIZI DI RETE PROGETTO GQM + STRATEGIES. Luca Mastrogiovanni Marco Vasselli 16 Dicembre 2013

COSTRUZIONE DI UN APPLICAZIONE

Redazione e Presentazione di Progetti Informatici

Indice generale. Ringraziamenti...xi. Introduzione...xv. Capitolo 1 Tweet di benvenuto in ios Programmazione in ios...23

Fondamenti di sviluppo mobile su Android

SQL e linguaggi di programmazione. Cursori. Cursori. L interazione con l ambiente SQL può avvenire in 3 modi:

Implementazione di MVC. Gabriele Pellegrinetti

Fondamenti di Informatica T2 Modulo 2

Installazione. Eclipse. Workspace. Primo Avvio. Fondamenti di Informatica T2 Modulo 2. Università di Bologna A.A. 2008/2009

IDE DevC

Linea di comando. Compilazione. Aprire una shell di DOS tramite:

Introduzione al DEV C++

SETA Selection Tool del Sistema ARTIST

MS Visual Studio: Linea di Comando

Algoritmo. La programmazione. Algoritmo. Programmare. Procedimento di risoluzione di un problema

Laboratorio di Basi di Dati

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

INFORMATICA. L informatica comprende:

Modulo III - Creazione di documenti, presentazioni e report

Modularizzazione del software

5 Thread. 5 Thread. 5 Thread. Ad un generico processo, sono associati, in maniera univoca, i seguenti dati e le seguenti informazioni:

Fondamenti di Informatica T-1 CdS Ingegneria Informatica. Introduzione agli ambienti di sviluppo MS Visual Studio 2005/2008/2010 CodeLite 6.1.

FASE DEBUGGING: Compiler Linker. controllando che la voce Genera le informazioni per il debug cioè. "Generate debugging information"

VirtualPiano Giada Gibertoni, Meshua Galassi e Lorenzo Valentini 30 maggio

Realizzazione di un software per la gestione di apparecchiature biomedicali Anno Accademico 2010/2011

Sommario. Premessa Architettura ARM Programmer's model (ARM7) Sistemi di sviluppo. S. Salvatori - Microelettronica aprile 2016 (13 di 45)

Corso sul linguaggio Java

INTRO a MS Visual Studio 2008: LINEA di COMANDO

INTRO a MS Visual Studio 2008: LINEA di COMANDO

Applicazione: GAS - Gestione AcceSsi

WP5. 9 Settembre Paolo Veronesi (INFN CNAF)

Model View Controller

Lezione 19: Il preprocessore

Aprire MPLAB. Cliccare sull icona presente sul Desktop

Smart Cities and Communities and Social Innovation Bando MIUR. D.D. 391/Ric. del 5 luglio Application Store

J2EE (o JEE): Framework Java per lo sviluppo di applicazioni WEB Enterprise, che vivono in rete e che siano accessibili attraverso browser.

Marco Tarini - Università dell'insubria A.A. 2016/17. Università degli Studi dell Insubria Dipartimento di Scienze Teoriche e Applicate

L ambiente di sviluppo Android Studio

Basi Android. Android si definisce open. Con8ene tecnologie open source. Il codice di Android è open. Licenza Open Source Apache 2.

Fondamenti di Informatica T-1

1. Giorno 1 alf a. Presentazione dell azienda e del programma formativo b. Introduzione al CTI c. Introduzione al CRM

Informatica. Dipartimento di Economia. Ing. Cristiano Gregnanin. 20 ottobre Corso di laurea in Economia

Laboratorio reti AA 2008/2009. Dott. Matteo Roffilli Ricevimento in ufficio dopo la lezione

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori

Eclipse for the dummies. Primi passi nel mondo Eclipse Lorenzo Cioni LIP 1 Modulo a.a. 2006/2007

Buildroot. Making Embedded Linux Easy. Luca Ceresoli Linux Day 2018 BgLUG

MVC - Principio. MVC Model View Controller. MVC - Terminologia. MVC - Funzionamento. Richiesta. Controller. Model. Risposta. View

Sviluppo di un applicazione di front-end per il monitoraggio di un Isola Ecologica

Microsoft Windows. Introduzione al Sistema Operativo e Utilizzo del Calcolatore. Il Calcolatore. Il Calcolatore. Sistemi Operativi.

Lab metodi programmazione. Testi. Caratteristiche di Java. Paradigmi di programmazione. Linguaggio Java Progetto

Simulazione esame Laboratorio di Sistemi Operativi Cognome Nome Mat.

Corso di Laurea in Matematica. Seminario C/C++ Lorenzo Dusty Costa. Università degli Studi di Milano Dipartimento di Matematica

L ambiente UNIX/Linux. Strumenti per la programmazione C Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino

PER UTILIZZARE LCC IN LAB

Indice. Come è strutturato il sistema HMI HIGHLIGHTS. ASEM Premium HMI 4 ARCHITETTURA

Esercitazioni Fondamenti di Informatica

Introduzione alla compilazione ed esecuzione di programmi C con IDE Dev-C++

Introduzione alla Programmazione. Giselda De Vita

Prof. Rossella Cancelliere

UML Introduzione a UML Linguaggio di Modellazione Unificato. Corso di Ingegneria del Software Anno Accademico 2012/13

Open Database Connectivity (ODBC)

Corso di Architettura (Prof. Scarano) 10/05/2002

Nuovi strumenti per il coding App Inventor e Scratch for Arduino

MDD Tools in CSI Piemonte: industrializzazione dello sviluppo e progetto open source

6. Scheda di lavoro (potenziamento: la mia prima dll ) 10/10/2014

insiel Centri di Servizio Territoriali Opportunità e sfide Il modello INSIEL INSIEL S.P.A. Forum PA 8 maggio 2006

La fase di Progettazione

AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma

Introduzione. A Tecnologie 1

NOTE SULL USO DI ECLIPSE per la compilazione di programmi c

Transcript:

Modulo su Parte II: Lezione 8: Sviluppo di applicazioni su piattaforma Symbian Strumenti di sviluppo di applicazioni C++ per Symbian Docente: Ing. Marcello CINQUE Dipartimento di Informatica e Sistemistica Via Claudio 21, 80125 Napoli ::. Contenuti della lezione Organizzazione delle applicazioni grafiche: pattern MVC; Ciclo di sviluppo delle applicazioni; Tool di sviluppo e file di build (.inf,.mmp) IDE e risorse on-line; Esempi di applicazioni console e con GUI; Riferimenti: Jo Stichbury, Symbian OS Explained, Wiley Edwards, Barker, Developing Series 60 Applications, Addison Wesley 1

::. Pattern MVC Model: rappresenta i dati su cui l applicazione opera; View: una rappresentazione grafica del modello attraverso uno o più elementi di interfaccia grafica; Controller: risponde agli eventi e li processa, e aggiorna modello e view. ::. Pattern MVC Richiesta stato Model Incapsula lo stato Risponde alle richieste sullo stato Mostra le funzionalità Notifica alla view i cambiamenti Modifica stato Notifica stato View Interpreta il model Richiede aggiornamenti al model Mostra le funzionalità Notifica alla view i cambiamenti Seleziona View Input utente Controller Implementa la logica di controllo Mappa gli input con gli aggiornamenti della View Seleziona la View dopo un input. 2

::. MVC in Symbian Un applicazione grafica in Symbian è tipicamente strutturata in almeno 4 classi: Application: definisce le proprietà globali, come l UID, e rappresenta l entry point della applicazione. Non contiene logica applicativa. Document: gestisce l accesso ai dati persistenti (file e stores), ed è collegato a una o più classi di business logic dell applicazione. L insieme del Document e delle classi di business rappresenta il model dell applicazione. Application View: corrisponde alla view concreta dell applicazione. Visualizza i dati e gli elementi di controllo. Application UI: completamente invisibile, gestisce le interazioni tra view e model; rappresenta il controller. ::. MVC in Symbian Note: Quanto detto si riferisce all architettura control-based standard, che vede l utilizzo di una sola view (tipicamente detta container), e di un controller (appui). Esistono architetture grafiche più complesse, come la viewswitching di Avkon (S60). In questo caso la view è suddivisa su più classi, ognuna rappresentante una diversa vista o schermata (o dialog), e ognuna con il proprio nome (container, dialog, list, ) Allo stesso modo, il controller è suddiviso in più classi, una per ogni vista (containerview, dialogview, listview, ) La classe appui resta, e riveste il ruolo di coordinatrice. 3

::. UIDs Ogni applicazione Symbian ha un identificativo univoco (UID) di 32 bit, assegnato da Symbian. L UID è associato ad ogni file dell applicazione, semplificando il legame file-applicazione. Vi è anche un UID di secondo livello, che specifica il tipo di applicazione (App, DLL, exe, ) ::. Startup di un applicazione 1. L utente esegue l applicazione 2. Il sistema crea un nuovo processo lanciando APPRUN.EXE 3. All interno del processo viene creato l UIKON Environment, come thread di default 4. L UIKON Environment: Chiama il metodo E32Dll (ogni aplicazione è vista come una DLL dinamica) Chiama il metodo NewApplication() della classe application, che crea l applicazione e il document; Chiama il metodo CreateAppUiL() del document, che crea l application UI che a sua volta creerà la application view 4

::. Ciclo di sviluppo di un applicazione Symbian (1) Il resource compiler converte i file di risorsa (.rss) in file.rsc e produce un resource header file (.rsg) Il compilatore C++ ed il linker producono gli output file (.dll,.exe,.app) dai file.cpp. Tutte le definizioni C++ sono incapsulate in header files (.h) Alcuni valori utili sia al compilatore C++ che al resource compiler vengono incapsulate in un file.hrh ::. Ciclo di sviluppo di un applicazione Symbian (2) Il bitmap converter trasforma i file.bmp in multi-bitmap file (.mbm) Aif Builder usa.rss e.mbm per costruire l Application Information File (.AIF) che specifica icon, caption, menu, ecc. I file.loc e.l0x contengono le informazioni dipendenti dalla località (un.l0x per ogni località diversa), per il supporto alla internazionalizzazione. 5

::. File di build Per rendere il processo di sviluppo indipendente da un particolare IDE o ambiente di sviluppo, ogni applicazione Symbian è descritta da un insieme di file un file bld.inf e un insieme di file component.mmp (tipicamente uno se l applicazione è fatta da un solo componente). bld.inf contiene la lista di componenti di cui è fatta l applicazione. Ogni componente è descritto da un diverso file.mmp ::. bld.inf per TimerToFile PRJ_PLATFORMS WINSCW THUMB ARMI PRJ_MMPFILES TimerToFile.mmp 6

::. TimerToFile.mmp TARGET TimerToFile.app TARGETTYPE app UID 0x100039CE 0x0A2A460A TARGETPATH \system\apps\timertofile SOURCEPATH..\src SOURCE TimerToFileApp.cpp SOURCE TimerToFileAppui.cpp SOURCE TimerToFileDocument.cpp SOURCE TimerToFileContainer.cpp SOURCE TimerToFile.cpp SOURCEPATH..\data RESOURCE TimerToFile.rss RESOURCE TimerToFile_caption.rss ::. TimerToFile.mmp (cont ) LANG SC USERINCLUDE..\inc USERINCLUDE..\help SYSTEMINCLUDE \epoc32\include LIBRARY euser.lib apparc.lib cone.lib eikcore.lib LIBRARY eikcoctl.lib avkon.lib aknnotify.lib hlplch.lib flogger.lib AIF TimerToFile.aif..\aif TimerToFileaif.rss c8 context_pane_icon.bmp context_pane_icon_mask.bmp list_icon.bmp list_icon_mask.bmp 7

::. Tool per lo sviluppo da linea di comando bldmake usa i file bld.inf e gli.mmp per creare uno script a linea di comando denominato abdl.bat bldmake bldfiles Quest ultimo viene usato per generare gli eseguibili abdl build winscw udeb bld.inf.mmp bldmake abdl.bat abdl makmake.winscw.arm4.armi.thumb ::. IDE per Sybian ieri Diverse soluzioni disponibili: Microsoft Visual C++ 6 Borland C++ BuilderX Mobile Metrowerks Codewarrior Tutti usano gli SDK rilasciati per le varie versioni delle interfacce grafiche (S60, UIQ, ), sfruttandone i servizi (tool-chain di cross-compilazione, emulatori, ) 8

::. IDE per Sybian oggi Diverse soluzioni disponibili: Carbide.c++: basato su Eclipse, promosso da NOKIA, le versioni commerciali forniscono anche un UI designer e tool per il debugging on-device. Wirelexsoft VistaMax SymbDev: un set di plug-in open source per eclipse Anche questi ultimi usano i servizi degli SDK disponibili ::. Risorse on-line www.symbian.com: informazioni generali, dati sui cellulari symbian developer.symbian.com: supporto allo sviluppo developer.uiq.com: dedicato a UIQ www.forum.nokia.com: dedicato alle interfacce Nokia (S60, Series 40, Series 80, ) www.newlc.com: la community di riferimento degli sviluppatori symbian 9