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

Post on 12-Feb-2017

116 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

PROGRAMMAZIONE DI APPLICAZIONI UWP

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

Microsoft Student Partner23 Maggio 2016

Corso sulle UWP @ PoliBA

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

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

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

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

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

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

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

ESEMPIO PRATICO DELLA PENNA IN C#

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

ESEMPIO DI GESTIONE DELLE ECCEZIONI

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

L’ESEMPIO CHE REALIZZEREMO – PROGETTAZIONE CLASSI

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

L’ESEMPIO CHE REALIZZEREMO – L’INTERFACCIA REALIZZATA

TIPICA ESECUZIONE - PROGRAMMA

TIPICA ESECUZIONE – RECORD MEMORIZZATI SUL DATABASE

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

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

GRAZIE PER L’ATTENZIONE

top related