Úvod do vývoja pre Windows Phone 7 II
Upcoming SlideShare
Loading in...5
×
 

Úvod do vývoja pre Windows Phone 7 II

on

  • 885 views

 

Statistics

Views

Total Views
885
Views on SlideShare
357
Embed Views
528

Actions

Likes
0
Downloads
3
Comments
0

5 Embeds 528

http://www.inmite.eu 404
http://www.kulman.sk 107
http://localhost 14
http://wwwdev.inmite.eu 2
http://new.kulman.sk 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Úvod do vývoja pre Windows Phone 7 II Úvod do vývoja pre Windows Phone 7 II Presentation Transcript

  • Windows Phone 7 Igor Kulman igor@inmite.eu www.inmite.eu
  • Windows Phone 7 Opakovanie z minule • XAML • C# Dnes • Navigácia • ApplicationBar • Lokalizácia • MVVM • Nuget • Komponenty tretích strán • Perzistencia nastavení aplikácie • Novinky vo Windows Phone 8
  • Opakovanie View slide
  • XAML – kontajnery Dva základné kontajnery Grid • Možnosť rozdeliť na riadky a stĺpce • Zaberá vždy maximum plochy Stackpanel • Vertikálna alebo horizontálna orientácia • Zaberá vždy nutné minimum (podľa veľkostí detí) View slide
  • XAML – základné komponenty • TextBlock, TextBox, ListBox, Button • Všetky komponenty obsahujú eventy, na ktoré môžeme reagovať (OnClick pre Button) • Kód reagujúci na eventy v „code behind“ súbore (*.xaml.cs) • Priradenie do riadku a stĺpca vrámci Gridu pomocou Grid.Row a Grid.Column • Odkaz na vlastnosti ViewModelu pomocou {Binding Name}
  • ListBox • Nastavenie, odkiaľ má použiť dáta pomocou ItemSource • Nastavenie šablóny pre jednotlivé položky pomocou ItemsTemplate
  • Šablóny a štýly • Globálne umiestnené v App.xaml, lokálne v *.xaml v sekcií PhoneApplicationPage.Resources • Štýl: <Style x:Key=“Key” TartgetType=“Type”> <Setter Property=“..” Value=“..”> </Style> • Šablóna <DataTemplate> … </DataTemplate> • Odkazovanie pomocou {StaticResource key}
  • Konvertory • Triedy implementujúce IValueConverter (metódy Convert a ConvertBack) • Možnosť prevodu akehokoľvek typu na akýkoľvek iný typ • Definované ako StaticResource • Použitie v Bindingu {Binding Name, Converter={StaticResource MyConverter}}
  • ViewModel • C# trieda, ktorej properties môžu byť použité v XAML cez Binding • Nastavenie cez this.DataContext v *.xaml.cs • Možnosť vygenerovať design time data v Blende
  • Dnes
  • Navigácia • Jednotlivé „stránky“ aplikácie tvorené *.xaml súbormi • Navigácia pomocou NavigationService.Navigate(Uri) • Uri môže okrem cesty k *.xaml súboru obsahovať aj parametre ako URL na webe • Pri vstupe na „stránku“ sa vykonáva OnNavigateTo – možnosť získať parametre • Pri opustení stránky OnNavigatedFrom
  • ApplicationBar • V spodnej časti stránky • Štandardný miesto na umiestnenie ovládacích prvkov • Max 4 ikonky a max 5 textových odkazov • Nie je možné použiť Binding • Možnosť definovať v XAML aj v C#
  • Lokalizácia • Využitie *.resx súborov (.NET štandard) • Konvencie (kód jazyka alebo krajiny) • AppResources.resx – neutrálny jazyk • AppResources.cs.resx – čeština • AppResources.en-US.resx – US angličtina • Jednoduché použitie v kóde • V XAML nutné použiť vlastnú triedu vo WP7, vo WP8 súčasť šablóny nového projektu • Možnosť testovať v emulátore
  • MVVM • Preferovaný spôsob tvorby aplikácií pre WP7/8 • View • XAML súbor predstavujúci UI • ViewModel • C# trieda obsahujúca properties, ktoré využíva View (Binding) • Model • Poskytuje dáta pre ViewModel • Možnosť zlúčiť ViewModel a Model
  • MVVM – obojsmerný binding • Vo View (XAML) je možné použiť obojsmerný Binding • <TextBlock Text=“{Binding Name, Mode=TwoWay}” /> • Zmena vo View sa prejaví zmenou property vo ViewModeli • ViewModel musí implementovať INotifyPropertyChanged • Hodnoty prvkov vo View je možné priamo prepojiť s properties ViewModelu, nepotrebujeme s nimi manipulovať v code behind (*.xaml.cs”)
  • MVVM – INotifyPropertyChanged • Musí implementovať každý ViewModel • Oznamuje View, že došlo k zmene hodnoty property a tá sa má prekresliť • Niektoré triedy implementujú automaticky (ObservableCollection) • Viac na príklade ...
  • Nuget • Štandardný spôsob inštalácie cudzích knižníc • Katalóg dostupný na Nuget.org, priamo vo VS • Jednoduchá inštalácia, update • Automatické riešenie závislostí • Väčšina .NET knižníc dostupná na Nugete • Možnosť publikovať vlastné knižnice
  • Komponenty tretích strán • SDK obsahuje len veľmi základné komponenty • Možnosť použiť komponenty tretích strán (cez Nuget) • Phone Toolkit • Sada komponent od zamestnancov MS • Všetky komponenty použité v systéme ale chýbajúce v SDK • Telerik • Platená sada komponent (99 USD)
  • Perzistencia nastavení aplikácie • Dáta možné ukladať do IsolatedStorage (súbory), IsolatedStorageSettings (nastavenia) • IsolatedStorageSettings.ApplicationSettings je klasický Dictionary<string,object> • Automatická perzistencia • Nutnosť volať Save() po každej zmene • Pri prístupe z viacerých vlákien nutné zamykať!
  • Novinky vo Windows Phone 8 • Native: DirectX, C++, and Direct3D graphics • Speech to Text, Text to Speech, Voice Commands • Lock Screen: Background image, counter, and text • Nokia Maps • Camera: Lenses apps • Wallet • Apps Tracking GeoLocation in the background • OS write access: Creating Calendar appointments, Contacts • App2app: Custom protocols, File associations • Bluetooth: phone to phone, Phone to device • NFC: "Tap and Share" • Multi resolution
  • DemoProjekt z úvodnej prednášky: http://dl.dropbox.com/u/73642/Demo.zipKompletné zdrojové kódy (BitBucket): http://code.kulman.sk/mff-wp7-basics