Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaJázmin Soósné Megváltozta több, mint 9 éve
1
Windows Store alkalmazások
3
Windows 8 platform Communication & Data Devices & Printing WinRT API csoportok Graphics & Media Asztali C C++ Win32 C# VB.NET & SL HTML JavaScript IE 10 Windows Store (W8 stílusú) Alkalmazásmodell XAML JavaScript HTML / CSS C++ C# VB Windows kernel szolgáltatások DirectX
4
C C++ Win32 C# VB.NET runtime HTML CSS JavaScript IE 10 Asztali alkalmazások . NET 4.5 (C#, VB) WPF 4.5 Silverlight 5 XNA Windows Forms C/C++ Win32 Web HTML, JS IE 10 stb... Windows kernel szolgáltatások C/C++ runtime FelügyeltNatív C/C++ runtime WPF, WF, Konzol HTA
5
W8 stílusú alkalmazások Alapvető eltérések Megjelenés, kezelés eltér az asztali alkalmazásoktól Alapvetően táblagép szemlélet Egyszerűsített felület, többpontos érintés- ujjmozgatás alapú vezérlés Szenzorok „A felhasználó akcióira történő azonnali reagálás”
6
W8 stílusú alkalmazások .NET 4.5 (C#, VB) XAML (DirectX) C++ XAML DirectX HTML/CSS + JS Filozófia: „Válaszd azt, amihez értesz!” Windows Kernel Services Communication & Data Devices & Printing WinRT API-k Graphics & Media Windows Store (W8 stílusú) Windows Runtime Kernel XAML JavaScript HTML / CSS C++ C#, VB DirectX.NET 4.5 Runtime JavaScript motor
7
Windows Runtime (WinRT) API-k Devices SensorsGeolocation Portabl e NFC Communications & Data Contracts XML Web SMS Networking Notification s Local & Cloud Storage Streams Background Transfer User Interface HTML5/CSSXAMLDirectXControls InputAccessibilityPrinting Data Binding TilesSVG Fundamentals Application Services AuthenticationCryptography Globalizatio n Memory ManagementThreading/Timers Media Visual Effects PlaybackPlayToCapture Windows Runtime Kernel
8
Windows Runtime (WinRT) Alapja a COM Metadata (interfész definíció) .winmd fájlok .NET metadata (Ecma-335) Névterek, osztályok, interfészek, … Nyelvi leképezés (language projection) Automatikusan leképződnek az adott környezetre Pl..NET: IVector - IList INotifyPropertyChanged
9
Windows Runtime (WinRT) Windows Runtime objektum Implementáció: C++, C#, VB Windows Runtime objektum Implementáció: C++, C#, VB Windows Metadata C++ App Leképezés CLR C#/VB App Leképezés HTML/JS App Chakra Leképezés
10
További WinRT komponensek Runtime Broker – en keresztül érhetők el a mikrofon, webkamera, internet, GPS, szenzorok, stb. – a felhasználó engedélyéhez kötött erőforrások Az RB kérdezi meg a felhasználót az első hozzáférési kísérletnél Web Host – ebben futnak a HTML-CSS-JavaScript alkalmazások
11
Windows Runtime (WinRT) Core funkciók Alkalmazás életciklus Adatkezelés (JSON, XML) Szálkezelés, aszinkron műveletek natív támogatása Listák Eszközkezelés Sensor API (giroszkóp, gyorsulásmérő, iránytű, fény, orientáció, stb…) Helymeghatározás (GPS, WiFi, IP) Nyomtatás NFC, SMS, FAX, WPD, …
12
Windows Runtime (WinRT) Adattárolás Könyvtár/fájl műveletek FilePicker, keresés, ZIP Hálózatkezelés Socket Push notification Background transfer Háttérfolyamatok Szolgáltatások 2 • Clipboard • Keresés • Megosztás • Biztonság • Kriptográfia • Certificate, creadentials • Erőforrások, lokalizáció
13
Windows Runtime (WinRT) Web RSS, AtomPub Multimédia Kamera Videó, audió Kódolás PlayTo (DLNA) PlayReady (DRM) Szolgáltatások 3 • UI • XAML • Csempék • Toast értesítések • Popup • Stb…
15
Projekt
17
„Hagyományos” tárolók Felbontás: 1024x768.. 2560x1440… Ugyanaz, mint WPF/SL StackPanel Grid Canvas VirtualizingStackPanel Mi nincs? WrapPanel DockPanel UniformGrid De lehet sajátot készíteni: Panel leszármazott
18
StackPanel Elemek egymás alatt vagy mellett Orientation Horizontal Vertical ItemHeight, ItemWidth: elemek mérete MaximumRowsOrColumns: max hány sor vagy oszlop lehet az Orientationtól függően (-1: bármennyi – ez a default) Virtualizált változat: VirtualizingStackPanel
19
Grid Táblázatos megjelenítés Sorok/oszlopok megadása: Fix pixel Auto Csillag (*) Gyerekelemek elhelyezése Grid.Row Grid.Column Grid.RowSpan Grid.ColumnSpan
20
WrapGrid Uniform megjelenítés Nem WrapPanel! Elemek mérete: ItemHeight, ItemWidth Ha nincs beállítva, akkor az első elem mérete alapján Egyéb tulajdonságok: MaximumRowsOrColumns Orientation Csak listáknál használható Virtualizált
21
VariableSizedWrapGrid Uniform megjelenítés Elemek mérete: ItemHeight, ItemWidth Ha nincs beállítva, akkor az első elem mérete alapján Különböző elemméretek (attached property) RowSpan, ColumnSpan Egyén tulajdonságok: MaximumRowsOrColumns Orientation Csak listáknál használható Nem virtualizált!
22
Canvas Gyerek vezérlők szabadon elhelyezhetők: Canvas.Left Canvas.Right Canvas.Top Canvas.Bottom
24
Egyszerű vezérlők
25
RepeatButton, HyperlinkButton
26
ToggleSwitch Header IsOn OnContent OffContent Toggled esemény ToggleButton IsThreeState IsChecked vagy események: Checked/Unchecked/Indeterminate
27
Szöveg beviteli vezérlők Single-Line Text BoxPassword Box Multi-Line Text Box Rich Edit Box Clear Button Reveal Button
28
Szöveg megjelenítés Egyszerű szöveg TextBlock egyszerű formázás: Font, TextAlign, TextWrap, TextTrimming (…), LineHeight, Foreground TextBox: InputScope PasswordBox: PasswordChar, IsPasswordRevealButtonEnabled Formázott szöveg RichTextBlock, RichTextBlockOverflow Paragraph, Span, LineBreak, Run, Bold, Italic, InlineUIContainer
29
Csúszka Slider Minimum, Maximum SmallChange, LargeChange TickFrequency Inline TickPlacement: Inline, TopLeft, BottomRight, Outside, None StepFrequency – milyen részletességgel (felbontással) vehet fel értékeket
30
Folyamat előrehaladása ProgressBar IsIndeterminate ProgressRing IsActive
31
Parancsok és műveletek Application bar Context menu Popup Tooltip Message dialog
32
Üzenetablak megjelenítése Egyszerű üzenetablak Bezár gombbal async private async void ToggleButton_Indeterminate_1(object sender, RoutedEventArgs e) { var md = new MessageDialog("Indeterminate"); await await md.ShowAsync(); }
33
Párbeszédpanel létrehozása és használata
34
Megjelenítés és bezárás
35
További vezérlők Frame Page UserControl ViewBox Web View Media Element Image Scrollbar
36
Grafikai alakzatok Path Line Polygon Polyline Rectangle Ellipse
37
Mi hiányzik? TabControl Expander Label DatePicker/TimePicker Rating
39
Lista vezérlők hierarchiája ItemsControl leszármazottjai ItemsSource adatkötés ItemTemplate/ItemTemplateSelector Csoportosítás (Group) ListBox FlipView ListView GridView
40
Támogatott Selector SelectedItem ListViewBase Semantic Zoom Adat virtualizáció Drag n drop, átrendezés Gesztusok (swipe kiválasztás) Animációk
41
ListView/GridView
42
FlipView Oldalra lapozható Jobbra és balra Fel és le Touch Slide gesztus Egér gomb Ideális: Képgaléria
43
Semantic Zoom „Szemantikus nagyítás” Csoportosított kollekción 2 szint Alapból: ListViewBase, de kiterjeszthető
44
Nem áll rendelkezésre DataGrid TabControl TreeView Menu ContextMenu
46
async - await SyndicationClient scOlvasó = new SyndicationClient(); // Nem a gyorsítótárból kívánjuk olvasni az adatokat. scOlvasó.BypassCacheOnRetrieve = true; Uri uriRSS= new Uri("http://index.hu/belfold/rss/"); try { // Bejegyzéslista lekérése. SyndicationFeed sfRSS = await scOlvasó.RetrieveFeedAsync(uriRSS); // A metódus további része akkor hajtódik végre, amikor a // RetrieveFeedAsync végrehajtódott. var Hírek = sfRSS.Items; cbHírek.ItemsSource = Hírek; cbHírek.DisplayMemberPath = "Title.Text"; cbHírek.IsEnabled = true; } catch {}
47
Aszinkron hívást végrehajtó metódus async A neve előtt: async AsyncTaskAsync Elnevezési konvenció: …Async(…) vagy …TaskAsync(…) A visszatérési értéke: void void – ha nem várunk visszatérési értéket, és nem akarjuk tudni, hogy mikor fejeződött be Task Task – ha nem várunk visszatérési értéket, de szinkronizálni akarunk hozzá valami más tevékenységet var x= Obj.DoAsync(); … // Itt jönnek azok a műveletek amelyek végrehajthatók, … // amíg az aszinkron művelet befejeződik await x; Task Task - T típusú visszatérési értéket várunk SyndicationFeed sf= await client.RetrieveFeedAsync(rss); Névtelen metódus és lambda kifejezés is lehet async
49
Támogatott szenzorok 1 Gyorsulásmérő (Accelerometer) 3 tengely mentén szöggyorsulás Iránytű (Compass) Mágnesen északi irány, valódi északi irány Giroszkóp (Gyrometer) Szögsebesség a 3 tengely mentén Dőlésszögmérő (Inclinometer) Yaw, pitch, roll szögek a 3 tengely mentén
50
Támogatott szenzorok 2 Egyszerű orientáció (Simple orientation) Hogy áll az eszköz? 0 fok, 90 fok, 180 fok, 270 fok, stb… Pontos orientáció (Orientation sensor) Pontos helyzet (mátrix vagy kvaternió) Fényérzékelő (Light sensor) Fényerősség Lux-ban
51
Helymeghatározás Támogatott módszerek IP cím Wi-Fi háromszögelés GPS Geolocator osztály Két pontosság (eltérő költség) Geoposition: Geocoordinate: hosszúság, szélesség, magasság, pontosság, sebesség, nézőpont Address: ország, város, postakód
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.