Programering af mobile enheder Windows Phone Storage.

Slides:



Advertisements
Lignende præsentationer
SPBG.  Test driven development  Unit test frameworks  MOSS TDD  Mocking  Design patterns.
Advertisements

Throw a die Read the current value of index Add 1 Return the new value to index IndexIndex Create an empty array to count the number of dice throws Initialize.
Indsæt nyt billede: Format: B 254 x 190,5 mm Efter indsættelse, højreklik på billedet og placér det bagerst. Delete det gamle foto Legal aid in Denmark.
Teknik og Miljø - Planlægning og Byggeri Aarhus Kommune •Flemming Meyer •Master of Law, Special Consultant •Municipality of Aarhus •Department of employment.
Overskrift her Navn på oplægsholder Navn på KU- enhed For at ændre ”Enhedens navn” og ”Sted og dato”: Klik i menulinjen, vælg ”Indsæt” > ”Sidehoved / Sidefod”.
Velkommen til Softwarekonstruktion
C# introduktion. using System; Namespace MyFirst { class eks1 { public static void Main() { Console.WriteLine("Hej!"); Console.Write("Skriv dit navn her:
Dagens program  Emne: Tim Berners-Lees WWW koncept og deraf følgende innovationer Forbered hver for sig Præsenter og diskutér i grupper Fremlæggelse med.
Februar 2005Sprog-nyheder i C# og VB1 Captator Tlf: Henrik Lykke Nielsen Softwarearkitekt, Microsoft Regional Director for Denmark.
Microsoft Windows.NET Compact Framework Niels Hilmar Madsen Developer & Platform Strategy Group Microsoft Danmark.
C#: Data Typer. Indhold: “.NET is designed around the CTS, or Common Type System. The CTS is what allows assemblies, written in different languages, to.
07 – Kort om OO Introduktion.
Perspektiverende Datalogi Internetalgoritmer MapReduce Gerth Stølting Brodal.
Distribueret programmering, specielt Web Services Rasmus D. Lehrmann DM
T1 – OPGAVE 14.2 LINETT & SABRINA Klasse Varer namespace Opgave_14._2 { class Varer { private string vare; private string farve; private double.
Array og ArrayList Et slideshow. Som er sødt.. Hvordan virker ArrayList?  ArrayList NAVN = new ArrayList ();  NAVN.add(”Værdi”);  NAVN.add(index, ”værdi”)
1 JavaServer Faces Copyright © Lund & Bendsen Dynamikken i JSF.
C#: Udtryk og metoder. Indhold “With regards to programming statements and methods, C# offers what you would come to expect from a modern OOPL…” Udtryk.
Datastrukturer og Collections Oversigt og forskel imellem Jave og.net Collections library Collection interfaces ArrayList IList interface Hashtable Hashtable.
06 – Java Packages Packages og ClassPath. 2 NOEA2009Java-kursus – Packages og class path Hvad er Packages? En package er en gruppering af relaterede typer.
Item gennemgang  Item: 01 – Static factory methods  Item: 09 – Override hashCode  Item: 17 – Design & document inheritence  Item: 25 – Lists over arrays.
Programmeringsteknologi: Lektion 1
Distribueret programmering, specielt.NET Remoting Rasmus D. Lehrmann DM
Collectionklasser Klassifikation og anvendelse. Collections Motivation –hvorfor bruge collections? Realisering af en-til-mange relationer –Importer, erklær,
Arne Winther Et værdifuldt samarbejde mellem hospital og produktudvikler.
Indsæt nyt billede: Format: B 254 x 190,5 mm Efter indsættelse, højreklik på billedet og placér det bagerst. Delete det gamle foto Model-Driven Development.
View Procedures Trigger og Function Jesper Tørresø DAB1 E07 1. november 2007.
Array vs. ArrayList. Arrays Et array er en struktureret metode til at gemme flere værdier af den samme datatype. Data’en i et array ligger op ad hinanden.
1 Filer - intro Data-hierarki Filer og strømme (eng.: streams) af bytes Klasserne File og Directory Oprettelse af sekventiel tekstfil Læsning af data fra.
Objekter og klasser Applikationsdesign Code Namespace Value og reference typer Reference type Rasmus D. Lehrmann1.
12 – GUI med Swing. 2 NOEA2009Java-kursus – GUI med Swing Designer view Komponenter Frame Properties Inspector.
14 - JavaBeans. 2 NOEA2009Java-kursus – JavaBeans Content What is a Java Bean? BDK What makes Bean possible? Support for Java Bean References.
Tietgen Skolen Syntaks: while ( betingelse for loop ) statement; Eksempel: int tal = 0; while ( tal/3 != 4 ) { System.Console.WriteLine(tal); tal = tal.
Tietgen Skolen Trick med facadeklasse og serialisering ”Trick” – model ”samles” til eet overordnet objekt Alle klasser i model skal have attriutten [Serializable]
WCF service Hostet på website x. Opret tomt web applikations projekt.
Sockets Logiske endepunkter mellem server og klient På applikationsniveauet betragtes Sockets som pålidelige Sockets optræder parvis Til en Socket er der.
Medtag.NET komponent for serialisering med DataContracts.
Tråde og synkronisering. Tråde To typer tråde Dedikerede tråde -programmør opretter og tilknytter metode -”kører tråd-metoden (job) én gang” Tråd pulje.
Litteratursiden / forfattere / anmeldelser / analyser / lister / temaer / læseklubber / video / brugere Digital communication of performance literature.
Introduktion til.NET- platformen og version 2.0 Michell Cronberg Microsoft MVP
Distribution af funktionalitet Webservice med WCF x.
Distribution af funktionalitet Webservice med WCF x.
Web service - elementer SOAP (Simple Object Access Protocol) WSDL (Web Service Description language) UDDI (Universal Description, Discovery and Integration)
Web service - elementer SOAP (Simple Object Access Protocol) WSDL (Web Service Description language) UDDI (Universal Description, Discovery and Integration)
ASP.NET Custom Web Controls Deployment. Agenda – ASP.NET Web User Controls Composite Control Rendered Custom Control Deploy en Web Applikation.
Abstrakte klasser og interfaces i Java
Object-Orienteret Programmering og Design Kilde: Joe Hummel.
Agenda 1.Informationer 1.Excel i fb.m. projekt 2 2.Reserver tid til projekt 2 3.Øvelse: a / b = c 2.Opsamling fra sidst 3.Estimation (konfidensintervaller)
Begreber og Redskaber 9. Plan for idag I dag: Datastrukturer Tabeller Lister, mængder, maps, grafer Hægtede lister.
Session Når man hoster en WCF Service på ASP.NET website, kan man bruge ASP.NET’s Session.
Gruppe sort Morten, Peter, Jesper, Spencer & Støving.
Begreber og Redskaber 5. Collections i Java 1.2 Framework: samling af datastrukturer og algoritmer som generelt værktøj. En ramme til at arbejde med søgning.
Begreber og Redskaber 5. Plan for idag Overblik over klasser,objekter,nedarvning –Repetition fra Dat A/Indledende programmering –Centrale begreber om.
Paradigmer i Programmering 4. IO + oversigt over udtryk.
Lektion 7 Læsestof: Kopier fra Caranno
Mønstre En lille introduktion. Singleton Tilgå et objekt igennem klassereference i stedet for objektreference.  Overflødiggør referencer til objektet.
DATATYPER. For at tilpasse hvert felt i databasen til dets formål og dermed øge funktionalitet 1 bit er tilstrækkelig til at angive køn (0/1) men for.
10. Datastrukturer. 2 Nordjyllands Erhvervakademi Collections library Datastrukturer i.NET kaldes normalt Collections Findes i namespace System.Collections.
Repetition: Introduktion til OOP med C# og .NET
KF04 GRAY Item 2, 12, 22, 32, 42, 52. Consider a builder when faced with many constructor parameters Item 2.
03 – Udtryk og metoder. 2 NOEA2009Java-kursus – Udtryk og metoder Udtryk i Java Java har standard udtrykene… Værditildeling Subrutiner og funktionskald.
Kjeld Svidt  Institut for Byggeri og Anlæg  Aalborg Universitet IT i Byggeriet Semester 6, kursusgang Databaser (1) Kjeld Svidt
Tekst filer Tekstfiler opbygges normalt af linier, hvor disse ikke behøver at være samme længde. Når man skal arbejde med tekstfiler, ønsker man metoder.
Effective Java Blå gruppe. Item 18: Interfaces frem for abstrakte klasser Kan implementeres i klasser der ikke nedarver Eksisterende klasser kan nemt.
 Jens Bennedsen 2002Objektorienteret systemudvikling Design -> kode Mapning af et klassediagram til kode.
Don’t be afraid of the advanced editor
WebApi service x.
Software Testing Software testing.
MaaS i Europe Rasmus Lindholm.
Simpel test-client (javascript) Session og Application data
Præsentationens transcript:

Programering af mobile enheder Windows Phone Storage

Sources of Data Data can exist in several locations. For example, read-only data can be stored in a local file within your applications. User-specific data can be stored locally in an area called isolated storage. Data can be stored on the Internet, which can be accessed through web services.

Windows Phone Files Quickstart Working with files and folders in Windows Phone 7

Mapper og Tekstfiler using System.IO.IsolatedStorage; IsolatedStorageFile myStore = IsolatedStorageFile.GetUserStoreForApplication(); myStore.CreateDirectory("Test_cat1"); myStore.CreateDirectory("Test_cat2"); myStore.CreateFile("Test_file1"); string[] f = myStore.GetDirectoryNames(); // Oprettelse/Skrivning til tekst-fil NB: MyStore er kataloget IsolatedStorageFileStream outStream = new IsolatedStorageFileStream("MyText.txt", FileMode.Create, myStore);//Stream er binær StreamWriter writer = new StreamWriter(outStream);// Tekstfil på basis af stream writer.WriteLine(”en tekst”); writer.Close(); // Oprettelse/Læsning til tekst-fil NB: MyStore er kataloget IsolatedStorageFileStream inStream = new IsolatedStorageFileStream("MyText.txt", FileMode.Open, myStore);//Stream er binær StreamReader reader = new StreamReader(inStream); // Tekstfil på basis af stream String txt = reader.ReadLine(); reader.close();

Serialisering af objekter Der er muligt at gemme objekter, herunder komplicerede, som referere til andre objekter. Når et objekt serialiseres gemmes alle tilknyttede objekter Der muligt at sikre at objekter der er reference til flere steder fra kun gemmes en gang – man kan således gemme en hel model som eet objekt.

Serialisering af objekter DataContract Klasser der skal serialiseres skal forsynes med en DataContract attribut. Alle data der skal gemmes skal være public – hvis der gemmes via properties skal disse have public get og set !!!!!!!!!!!!! De datatyper der skal gemmes skal også være serialserbare (have datakontrakter) Simple typer (int, float mfl.), string og collectionklasser fx List er serialiserbare.... using System.Runtime.Serialization;.... [DataContract] public class Vare { private string navn; [DataMember] public string Navn { get { return navn; } set { navn = value; } } [DataContract] public string Enhed ;// Måske ikke god idé, men mulig

Serialisering af objekter DataContract og interfaces Hvis der anvendes interfaces, kan man i dette udelade set-properties således af indkapsling holdes, man skal dog så også angive type-attribut for de rigtige klasser der skal bruges..... using System.Runtime.Serialization;.... [DataContract]// evt [DataContract(IsReference = true)] hvis flere referencer til samme objekt [KnownType(typeof(Afdeling))]// Konkrete klasser i objekt-hierarki skal med her ved interfaces public class Forening : IForening { private string navn; [DataMember] public string Navn { get { return navn; } set { navn = value; } } private List afdelinger = new List (); [DataMember] // Bemærk at her returneres listen, hvorved indkapslingen ryger – så denne skal ikke med i IForening public List Afdelinger { get { return afdelinger; } set { afdelinger = value; } }

Serialisering af objekter Gem med DataContractSerializer..... using System.IO.IsolatedStorage; using System.Runtime.Serialization;// dll skal medtages under referencer..... private const string FORENING_FILENAME = "forening.bin"; public void StoreForening (Iforening forening) { IsolatedStorageFile myStore = IsolatedStorageFile.GetUserStoreForApplication(); using (IsolatedStorageFileStream outStream = new IsolatedStorageFileStream(FORENING_FILENAME, FileMode.Create, myStore)) { DataContractSerializer ser = new DataContractSerializer(typeof(Forening)); ser.WriteObject(outStream, foreningen); }

Serialisering af objekter Indlæs med DataContractSerializer..... using System.IO.IsolatedStorage; using System.Runtime.Serialization; // dll skal medtages under referencer..... private const string FORENING_FILENAME = "forening.bin"; public IForening LoadForening() { Iforening foreningen = null; IsolatedStorageFile myStore = IsolatedStorageFile.GetUserStoreForApplication(); if (myStore.FileExists(FORENING_FILENAME)) { using (IsolatedStorageFileStream inStream = new IsolatedStorageFileStream(FORENING_FILENAME, FileMode.Open, myStore)) { DataContractSerializer ser = new DataContractSerializer(typeof(Forening)); foreningen = ser.ReadObject(inStream) as Forening; } return foreningen; }

Windows Phone Settings Quickstart Working with settings in Windows Phone

ApplicaionSettings Du kan gemme data i ApplicaionSettings - bruges typisk til data der kun findes i en variant..... using System.IO.IsolatedStorage; // Problem med Serialisering?????? if (IsolatedStorageSettings.ApplicationSettings.Contains("PersistentKey")) { MessageBox.Show("PersistentKey findes"); string data = IsolatedStorageSettings.ApplicationSettings["PersistentKey"] as string; } //IsolatedStorageSettings.ApplicationSettings.Add("PersistentKey", "Persistent Data"); IsolatedStorageSettings.ApplicationSettings["PersistentKey"] = "Persistent Data"; IsolatedStorageSettings.ApplicationSettings.Save();

PageState Hvis du ikke har brug for persistens men ønsker at gemme en state undervejs (forsvinder ved Tombstone) kan du bruge PageState i din Page – der er en tilsvarende for applicatonen ved brug af PhoneApplicationService. if (this.State.ContainsKey("StateKey")) { MessageBox.Show("StateKey findes"); string data = this.State["StateKey"] as string; } this.State["StateKey"] = "Gemt State data";