programmazione di applicazioni uwp - dalle basi del c# alla creazione di un’applicazione pratica

20
PROGRAMMAZIONE DI APPLICAZIONI UWP Dalle basi del C# alla creazione di un’applicazione pratica Cramarossa Giuseppe Microsoft Student Partner 23 Maggio 2016 Corso sulle UWP @ PoliBA

Upload: giuseppe-cramarossa

Post on 12-Feb-2017

116 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Programmazione di applicazioni UWP - Dalle basi del C# alla creazione di un’applicazione pratica

PROGRAMMAZIONE DI APPLICAZIONI UWP

Dalle basi del C# alla creazione di un’applicazione praticaCramarossa Giuseppe

Microsoft Student Partner23 Maggio 2016

Corso sulle UWP @ PoliBA

Page 2: Programmazione di applicazioni UWP - Dalle basi del C# alla creazione di un’applicazione pratica

SOMMARIO

• Programmazione ad oggetti con riferimento al C#• Tipi di dati• Classi• Metodi• Proprietà• Modificatori di accesso• Eccezioni

• Personalizzazione dell’ interfaccia tramite codice• Collegamento dell’app alle Mobile Service di Azure

Page 3: Programmazione di applicazioni UWP - Dalle basi del C# alla creazione di un’applicazione pratica

GENERALITÀ SUL C#

• Linguaggio orientato agli oggetti• Il problema da risolvere viene visto come un insieme di oggetti che si possono estendere,

includere o incapsulare• Esempio: l’automobile

• Ruote, motore, volante, frizione, cambio, …

• La compilazione non produce direttamente il codice in linguaggio macchina• Viene inizialmente compilato in un linguaggio intermedio (IL – Intermediate Language)• Viene poi esguito dal CLR

• Piattaforme su cui sviluppare in C#: tutte• Progetto Mono

Page 4: Programmazione di applicazioni UWP - Dalle basi del C# alla creazione di un’applicazione pratica

DATI E TIPI DI DATI

• Durante l’esecuzione di un programma è necessario salvare o ottenere dati• Variabili come contenitori di dati

• Esistono vari tipi di dati• Interi• Reali• Stringhe• Booleani• Definiti dal programmatore• …

• I tipi determinano le operazioni che si possono fare con i dati• I dati sono identificati da un nome, che può essere scelto dal programmatore

Page 5: Programmazione di applicazioni UWP - Dalle basi del C# alla creazione di un’applicazione pratica

ALCUNI TIPI DI DATI IN C#

Tipo di dato Notazione in C#Intero* byte, short, int, longReale float, doubleBooleano** boolStringa stringTipi di dato composti classi organizzati in namespace, struct* Anteponendo unsigned al tipo di dato, si possono assegnare solo valori senza segno

(ad esempio unsigned byte)** Può assumere solo due valori: true o falsePer approfondimenti sui tipi di dati: https://msdn.microsoft.com/it-it/library/ms228360%28v=vs.90%29.aspx e https://msdn.microsoft.com/it-it/library/ms173104.aspx

Page 6: Programmazione di applicazioni UWP - Dalle basi del C# alla creazione di un’applicazione pratica

CLASSI E OGGETTI• La classe definisce un nuovo tipo di dato composto

• Campi e Proprietà• Contengono i dati della classe. Tutti i metodi della classe potranno accedere alle proprietà• Risponde alla domanda: cosa deve contenere l’oggetto?• I campi sono generalmente privati

• Metodi• Risponde alla domanda: cosa deve fare l’oggetto? E di cosa ha bisogno per farlo?• Possono anche contenere dati, ma potranno essere utilizzati solamente nel metodo• Possono ritornare valori di tutti i tipi

• Diventa oggetto quando viene usato come tipo di un dato per una variabile, un campo, una proprietà o un metodo• L’oggetto è l’istanza di una classe

Page 7: Programmazione di applicazioni UWP - Dalle basi del C# alla creazione di un’applicazione pratica

MODIFICATORI DI ACCESSO DELLE PROPRIETÀ E DEI METODI

• Oltre a un tipo, un dato può avere una visibilità• Si vedranno solo public e private

Visibilità (C#) Descrizioneprivate La proprietà o il metodo è visibile solo all’interno della classe che

lo contienepublic La proprietà o il metodo è visibile all’interno e all’esterno della

classe che lo contieneprotected Simile a private, con la differenza che il metodo o la proprietà è

visibile anche alle classi derivateinternal Visibile solo all’interno del namespacePer approfondire l’argomento: https://msdn.microsoft.com/it-it/library/6tcf2h8w.aspx

Page 8: Programmazione di applicazioni UWP - Dalle basi del C# alla creazione di un’applicazione pratica

ESEMPIO PRATICO DI UN OGGETTO DI USO COMUNE: LA PENNA

• Alcune proprietà• Lunghezza : numero• Marca : stringa• Tappo : può essere visto come un oggetto a sè stante

• Ha le sue proprietà e i suoi metodi

• Alcuni metodi• Scrive un testo su un supporto• Disegna una figura• Scarica l’inchiostro

• Metodo privato

Page 9: Programmazione di applicazioni UWP - Dalle basi del C# alla creazione di un’applicazione pratica

ESEMPIO PRATICO DELLA PENNA IN C#

Page 10: Programmazione di applicazioni UWP - Dalle basi del C# alla creazione di un’applicazione pratica

ECCEZIONI

• Gestire comportamenti anomali• Un numero di telefono contiene anche dei caratteri• Si vuole dividere un numero per zero

• Blocco try/catch• Nel try vengono inserite le istruzioni da fare normalmente• Nel catch vengono invece inserite le istruzioni da eseguire in caso si verifica l’eccezione

• Le eccezioni vengono definite in classi con postfisso «Exception»• Alcune sono già implementate (es. divisione per zero, file non trovato)• Si possono creare anche eccezioni personalizzate

Page 11: Programmazione di applicazioni UWP - Dalle basi del C# alla creazione di un’applicazione pratica

ESEMPIO DI GESTIONE DELLE ECCEZIONI

Page 12: Programmazione di applicazioni UWP - Dalle basi del C# alla creazione di un’applicazione pratica

L’ESEMPIO CHE REALIZZEREMO - DESCRIZIONE

• Un semplice gestore di un portafoglio• Dati che verranno inseriti

• Causale credito/pagamento• Importo• Decidere se è un credito o un pagamento

• Uso di due ListView per memorizzare i pagamenti e i crediti• Contatore con saldo attuale• Utilizzo delle mobile services per salvare i dati su Azure

• Per approfondimenti vedere SLIDE 19

Page 13: Programmazione di applicazioni UWP - Dalle basi del C# alla creazione di un’applicazione pratica

L’ESEMPIO CHE REALIZZEREMO – PROGETTAZIONE CLASSI

Page 14: Programmazione di applicazioni UWP - Dalle basi del C# alla creazione di un’applicazione pratica

L’ESEMPIO CHE REALIZZEREMO – PROGETTAZIONE INTERFACCIA

Input Causale PagamentoInput Valore

Casella che, se spuntata, indica che il pagamento è un creditoBottone Aggiungi Pagamento

Totale:

Lista Crediti Lista Debiti

Page 15: Programmazione di applicazioni UWP - Dalle basi del C# alla creazione di un’applicazione pratica

L’ESEMPIO CHE REALIZZEREMO – L’INTERFACCIA REALIZZATA

Page 16: Programmazione di applicazioni UWP - Dalle basi del C# alla creazione di un’applicazione pratica

TIPICA ESECUZIONE - PROGRAMMA

Page 17: Programmazione di applicazioni UWP - Dalle basi del C# alla creazione di un’applicazione pratica

TIPICA ESECUZIONE – RECORD MEMORIZZATI SUL DATABASE

Page 18: Programmazione di applicazioni UWP - Dalle basi del C# alla creazione di un’applicazione pratica

LINK PER APPROFONDIRE

• Mobile Services• https://channel9.msdn.com/Series/Windows-Azure-Mobile-Services

• Serie in inglese• https://azure.microsoft.com/it-it/documentation/services/mobile-services/

• Documentazione in italiano• http://www.slideshare.net/GiuseppeCramarossa/cloud-development-with-microsoft

-azure-guida-pratica-alle-mobile-services-e-una-semplice-demo-per-dispositivi-android• Guida passo passo per implementare le mobile services in un’ applicazione per

dispositivi Android utilizzando Andoid Studio• Guida passo passo per implementare le mobile services in un progetto creato con Visual

Studio

Page 19: Programmazione di applicazioni UWP - Dalle basi del C# alla creazione di un’applicazione pratica

LINK PER APPROFONDIRE

• C#• Link inseriti nelle slide precedenti• https://msdn.microsoft.com/it-it/library/512aeb7t.aspx

• Approfondimento sui Generics, utilizzati per interfacciarsi con la libreria per le Mobile Services• https://msdn.microsoft.com/it-it/library/b2s063f7.aspx

• Utile per creare codice ben documentato

• UWP• https://msdn.microsoft.com/it-it/library/windows/apps/dn958439.aspx

• Informazioni di base sulle UWP• https://github.com/gcramarossa/SimpleUWPWalletManager

• Demo svolta

Page 20: Programmazione di applicazioni UWP - Dalle basi del C# alla creazione di un’applicazione pratica

GRAZIE PER L’ATTENZIONE