Windows Phone 7.x Pla1orma i programowanie SP2, ISWD, 2011-12



Podobne dokumenty
Podstawy Windows Phone 7.5

Laboratorium programowania urządzeń mobilnych

Windows Mobile. Andy Wigley, Daniel Moth, Peter Foot, Microsoft Mobile Development Handbook, Microsoft Press 2007

Politechnika Poznańska, Instytut Informatyki, TWO/GE. Programowanie dla ios

Rys. 3. Kod elementów na stronie po dodaniu kontrolek podstawowych.

Zacznij Tu! Poznaj Microsoft Visual Basic. Michael Halvorson. Przekład: Joanna Zatorska

Windows Phone 7. Zacznij, Twórz, Zarabiaj. Paweł Żochowski. Action Centrum Edukacji

MVVM i XAML w Visual Studio 2015 / Jacek Matulewski. Gliwice, cop Spis treści

dziennik Instrukcja obsługi

Utworzenie aplikacji mobilnej Po uruchomieniu Visual Studio pokazuje się ekran powitalny. Po lewej stronie odnośniki do otworzenia lub stworzenia

Programowanie telefonów z Windows Phone 7, cz. 2

Expo Composer Garncarska Szczecin tel.: info@doittechnology.pl. Dokumentacja użytkownika

ABC systemu Windows 2016 PL / Danuta Mendrala, Marcin Szeliga. Gliwice, cop Spis treści

Oprogramowanie. DMS Lite. Podstawowa instrukcja obsługi

Instrukcja obsługi urządzenia DS150E z systemem operacyjnym Windows 7. Dangerfield luty 2010 V1.0 Delphi PSS

1. Od czego zacząć? - Instalacja środowiska pracy

Programowanie obiektowe i zdarzeniowe wykład 1 Wprowadzenie do programowania zdarzeniowego

Studia podyplomowe. Programowanie na platformie Microsoft Visual Studio.NET

windows XP n a j l e p s z e t r i k i

INSTRUKCJA KORZYSTANIA Z APLIKACJI

Programowanie obiektowe

Programowanie aplikacji dla Sklepu Windows w języku C#

Oprogramowanie IPCCTV. ipims. Podstawowa instrukcja obsługi

Podstawowe możliwości programu Spectro Market Faktura

PAMIĘĆ OPERACYJNA...107

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

Pracownia internetowa w każdej szkole (edycja jesień 2005)

Instrukcja laboratoryjna cz.3

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy

Instrukcja instalacji oprogramowania dla środowiska Windows

WPF 4.5 : księga eksperta / Adam Nathan. Gliwice, cop Spis treści

System Broker. Wersja 5.1

Skrócony przewodnik OPROGRAMOWANIE PC. MultiCon Emulator

Laboratorium Programowanie urządzeń mobilnych

OMNITRACKER Wersja testowa. Szybki przewodnik instalacji

Pracownia internetowa w szkole ZASTOSOWANIA

Programowanie dla ios

WorkingDoc CostControl: Precyzyjna kontrola kosztów wydruku na urządzeniach Grupy Ricoh

OFERTA NA SYSTEM LIVE STREAMING

Ustalanie dostępu do plików - Windows XP Home/Professional

Przewodnik instalacji i rozpoczynania pracy. Dla DataPage+ 2013

Kancelaria Prawna.WEB - POMOC

Przewodnik instalacji i rozpoczynania pracy. dla DataPage+ 2012

Aplikacja serwerowa Platformy Prezentacyjnej Opis produktu

Podstawy technologii cyfrowej i komputerów

Praca w środowisku Visual Studio 2008, Visual C

Instrukcja obsługi programu MR-Transfer

Motorola Phone Tools. Krótkie wprowadzenie

Programowanie Urządzeń Mobilnych. Część II: Android. Wykład 2

R o g e r A c c e s s C o n t r o l S y s t e m 5

Dokument zawiera instrukcję samodzielnej Instalacji Microsoft SQL Server 2008 R2 RTM - Express na potrzeby systemu Sz@rk.

Wykaz zmian systemu PSZeDOK wersja 8.0 sp2.

Instrukcja Wirtualny Dysk:

Asix. Konfiguracja serwera MS SQL dla potrzeb systemu Asix. Pomoc techniczna NIEZAWODNE ROZWIĄZANIA SYSTEMÓW AUTOMATYKI

Tomasz Greszata - Koszalin

ibcslabel v2 Instrukcja instalacji systemu

Tworzenie aplikacji GIS w technologii Flex. Tomasz Turowski Esri Polska

MagicInfo Express instrukcja obsługi

Spis treści. Dzień 1. I Wprowadzenie (wersja 0906) II Dostęp do danych bieżących specyfikacja OPC Data Access (wersja 0906) Kurs OPC S7

Spis treści. S t r o n a 2

Instrukcja użytkownika. Aplikacja dla Comarch ERP XL

Kasy Fiskalne Lublin Analityk

Instrukcja obsługi programu. BlazeVideo HDTV Player v6

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

PROBLEMY TECHNICZNE. Co zrobić, gdy natrafię na problemy związane z użytkowaniem programu DYSONANS

Program Rejestr zużytych materiałów. Instrukcja obsługi

Instrukcja obsługi programu DS150E. Dangerfield March. 2009V3.0 Delphi PSS

Instrukcja instalacji wersja 1.01

ROZSZERZANIE MOŻLIWOŚCI...

Lista wprowadzonych zmian w systemie Vario v. 3.3 od wydania do wydania

Instrukcja obsługi ebook Geografia XXI wieku

Oprogramowanie specjalistyczne

Paweł Skrobanek. C-3, pok pawel.skrobanek.staff.iiar.pwr.wroc.pl

Karta sieciowa, 10/100/1000Mbit Dopuszcza się możliwość stosowania kart sieciowych zintegrowanych z płyta główną 8. Nagrywarka DVD+-RW DL SATA

Karta Video USB DVR-USB/42

1. Aplikacja LOGO! App do LOGO! 8 i LOGO! 7

Wymagane parametry techniczne laptopa

Programowanie obiektowe

Skrócony przewodnik OPROGRAMOWANIE PC. MultiCon Emulator

Czym jest technologia Bluetooth?

OMNITRACKER Wersja testowa. Szybki przewodnik instalacji

Samsung Universal Print Driver Podręcznik użytkownika

Podręcznik użytkownika PCI-x Karta przechwytująca 4xHDMI

Rejestratory Sił, Naprężeń.

Currenda EPO Instrukcja Konfiguracji. Wersja dokumentu: 1.3

Przewodnik po Sklepie Windows Phone

ActiveXperts SMS Messaging Server

Instrukcja podłączenia bramki IP 1R+L oraz IP 2R+L w trybie serwisowym za pomocą usługi telnet.

4 Web Forms i ASP.NET Web Forms Programowanie Web Forms Możliwości Web Forms Przetwarzanie Web Forms...152

Platforma szkoleniowa krok po kroku

Instrukcja obsługi programu CMS Dla rejestratorów HANBANG

Programowanie aplikacji na urządzenia mobilne

Instrukcja instalacji aplikacji i konfiguracji wersji jednostanowiskowej. KomKOD

Instrukcja NAWIGACJA MEDIATEC 7 CALI

Narzędzie Setup. Instrukcja obsługi

Instrukcja użytkownika. Aplikacja dla Magento

Instalacja programu SEE Electrical Expert V4

Roger Access Control System. Aplikacja RCP Point. Wersja oprogramowania : 1.0.x Wersja dokumentu: Rev. C

Programowanie aplikacji na iphone. Wstęp do platformy ios. Łukasz Zieliński

INSTRUKCJA. DO Aplikacji weryfikującej Firmy IT Business Consulting Group. Strona1. Warszawa, dnia 05 czerwca 2008r.

Transkrypt:

Windows Phone 7.x Pla1orma i programowanie SP2, ISWD, 2011-12

Referencje S.Wildermuth: Essen%al Windows Phone 7.5: Applica%on Development with Silverlight. Adison- Wesley 2012 M.Iantosca: Introduc%on to Mobile Applica%on Development Using Silverlight (hips://www.microsok.com/ educalon/facultyconneclon/arlcles/arlcledetails.aspx?cid=2368&c1=en- us&c2=0) Windows Phone Development (hip://msdn.microsok.com/en- us/library/ff402535%28vs.92%29.aspx) Ch.Petzold: Programming Windows Phone 7 Series. MicrosoK Press 2010 (hip://www.charlespetzold.com/phone)

Wprowadzenie

Windows CE Windows CE (Embedded Compact) Początkowo przycięta wersja Windows 95 (pierwsze netbooki?) Obecnie system operacyjny dla minimalistycznych komputerów i systemów osadzonych (inny niż Windows XP/7 Embedded) Oparty na architekturze komponentowej System czasu rzeczywistego Możliwość działania z 1 MB RAM i bez dysku Component- based, embedded, real- %me OS Możliwość skonfigurowania jako system zamknięty (bez rozszerzeń i aplikacji użytkownika, zapisane w ROM- ie) Baza dla wielu różnych pla1orm - - Pocket PC 2002, Windows Mobile 2003,, Windows Mobile 5.0, Windows Mobile 6

Historia Windows CE Windows CE 7.0 March 2011 Windows Phone 7.0 / 7.5

Windows CE 6.0 Nowe cechy systemowe 32 tys. procesów, 2GB pamięci wirtualnej na proces (poprzednio 32 procesy, 32MB pamięci wirtualnej na proces) System pliów ExFAT (bez ograniczenia 32GB na wolumen i 2GB na plik, dostosowany do pamięci flash) Wsparcie dla 512MB RAM Nowe cechy użytkowe Silverlight for Windows Embedded IE Embedded (panning/zooming) Flash Lite Dotyk i gesty Przeglądarki MS Office i PDF Windows Mobile 6.x bazuje na Windows CE 5.0 (5.2) z 2004!

Windows CE 7.0 Nowe cechy systemowe Wsparcie dla procesorów dual- core (ARM) Wsparcie dla 3GB RAM (pamięć fizyczna) Nowe cechy użytkowe Bluetooth 3.0 DLNA (Digital Living Network Alliance) MTP (Media Transfer Protocol) Windows Phone 7 IE z Flash 10.1... Podstawa dla Windows Phone 7.x

Windows Phone 7/7.5 Pla1orma programowa i sprzętowa Nowy UI (Metro) z koncentratorami zawartości (content hubs), aktywne ikony (live %les) i wielo- dotykiem Tworzenie aplikacji tylko w.net (C# i VB) Silverlight (wersja 4) XNA Aplikacje zatwierdzane przez MS i dostępne w Windows Phone Marketplace Aktualizacje systemu udostępniane przez MS (niezależne od producentów sprzętu i operatorów) 7.1 == 7.5 Windows Phone OS/SDK 7.1 ale Windows Phone Pla1orm (Mango) 7.5

Pla1orma sprzętowa Dokładna specyfikacja sprzętowa przygotowana przez MS (Hardware Chasis)

Pla1orma sprzętowa Mechanizmy do wprowadzania informacji

Metro UI koncentratory Grupują wybrane typy informacji (podejście data- driven zamiast applica%on- driven) Wsparcie ze strony API (kontrolka Panorama)

Przykłady koncentratorów Metro UI koncentratory

Metro UI aktywne ikony Podstawowy element ekranu startowego Możliwość wyświetlania dynamicznie zmieniającej się informacji Aktualizacja ikon przez aplikacje i usługi Ikony dwustronne oraz pozwalające na przejście do wybranych części (okien) w aplikacji (deep links) Wsparcie ze strony API

Rozpowszechnianie aplikacji Windows Phone Marketplace Obsługa płatności 70% zysku dla autora aplikacji Automatyczna aktualizacja aplikacji (darmowych i płatnych) Udostępnianie wersji demonstracyjnych i możliwość przejścia do wersji pełnej Koszt roczny 99$ 100 aplikacji darmowych, nieograniczona liczba aplikacji płatnych Autoryzacja 5 telefonów deweloperskich Możliwość autoryzacji telefonu bez konieczności uczestnictwa w Markteplace (?)

Wymagania dla aplikacji w Marketplace Odpowiednia jakość aplikacji Wyświetlenie początkowego ekranu w ciągu 5 sekund, pełne uruchomienie w ciągu 20 sekund Poprawna obsługa nawigacji za pomocą klawisza Back Bezpieczne zakończenie działania w razie wystąpienia wyjątku Zgodność z base applica%on policies Pełna funkcjonalność po instalacji aplikacji Informacja o konieczności ściągnięcia większej porcji danych (> 50MB) Rozmiar aplikacji do 500MB (20MB dla instalacji OTA) Zgodność z legal usage policies Płatności tylko w ramach Marketplace Zgoda użytkownika w wybranych sytuacjach (np. udostępnienie informacji osobistej, powiadomienia, dodatkowe zakupy) Reklamy zgodne z wytycznymi MS Zgodność z content policies

Technologie deweloperskie Silverlight Dla aplikacji użytkowych zamiast Windows Forms Pochodna WPF (Windows PresentaLon FoundaLon) Połączenie kodu i znaczników (XAML - - Extensible ApplicaLon Markup Language) Wersja 5 dla pla1orm desktopowych (Windows/ Mac), wersja 4 dla WP7.5 XNA (XNA is Not an Acronym) Pla1orma do programowania gier (2D, 3D) Pętla gry zamiast zdarzeń Dostępna dla Windows, Xbox oraz WP7 Możliwość połączenia obu technologii

Narzędzia deweloperskie Windows Phone SDK 7.1 Visual Studio 2010 Express for Windows Phone Środowisko samodzielnie Integracja z Visual Studio 2010 Professional (lub lepszym) MicrosoK Expression Blend Narzędzie do wizualnego projektowania interfejsu Windows Phone Emulator Wymaga DirectX 10 oraz sterowników WDDM 1.1! Silverlight for Windows Phone Toolkit (hip://silverlight.codeplex.com/) Dodatkowy zestaw kontrolek rozszerzający SDK

MicrosoK Expression Blend Otwieranie, modyfikacja oraz uruchamianie projektów stworzonych w Visual Studio

Windows Phone Emulator Możliwość symulacji zmiany fizycznego położenia oraz lokalizacji geograficznej

Hello, World!

Struktura aplikacji Ramka (PhoneApplicationFrame) Kontener najwyższego poziomu Jeden w aplikacji Strona (PhoneApplicationPage) Reprezentuje jeden ekran Jedna lub więcej w aplikacji Wyświetlana w ramce Elementy strony Pole systemowe (system tray) Tytuł aplikacji Tytuł strony Zawartość Pasek aplikacji (applica%on bar)

Elementy projektu

App.xaml / App.xaml.cs Zasoby wspólne dla całej aplikacji Deklaracja metod związanych z obsługą cyklu życia aplikacji Klasa implementująca aplikację (App) singleton (Application.Current) Metody związane z cyklem życia Metody obsługujące nieobsłużone wyjątki oraz błędy w nawigacji App.xaml à App.g.cs

MainPage.xaml / MainPage.xaml.cs Projekt (opis) UI dla aktualnej strony (nazwa pliku odpowiada nazwie klasy) Kod związany z obsługą zdarzeń na stronie Kod łączący wybrane elementy UI z obiektami.net (elementy z nazwami) MainPage.xaml à MainPage.g.cs

WMAppManifest.xml Ustawienia konfiguracyjne specyficzne dla aplikacji WP7.5 Meta dane Wymagane uprawnienia Strona startowa Zadania uruchamiane w tle Rozszerzenia koncentratorów Definicje aktywnych ikon

Format.XAP Format paczki z aplikacją dla WP7 Archiwum ZIP (łatwy dostęp po zmianie rozszerzenia pliku)

Projektowanie UI

Rozmieszczenie kontrolek na stronie Elementy UI rozmieszczane na stronie za pomocą kontenerów Możliwość wielokrotnego zagnieżdżania kontenerów

Kontrolki standardowe Proste (simple controls) TextBox RichTextBox PasswordBox Slider ProgressBar Z zawartością (content controls) możliwość zagnieżdżania XML- a Button CheckBox RadioButton HyperlinkButton tylko do odczytu! Listy (list controls) Możliwość wyświetlania kolekcji dowolnych danych (właściwość ItemSource) Możliwość definiowana szablonów dla wyświetlanych elementów ListBox

SIP (SoK Input Panel) Możliwość określenia rodzaju wirtualnej klawiatury (SIP) dla specyficznych typów informacji (właściwość InputScope)

Kontrolka Panorama Obszar (canvas) większy niż wyświetlacz Złożony z jednego lub wielu paneli (PanoramaItem) Możliwość dowolnego przewijania Wykorzystany do implementacji koncentratorów

Kontrolka Pivot Obszar większy niż wyświetlacz Złożony z jednego lub wielu paneli (PivotItem) Każdy panel zajmuje całą stronę Możliwość przechodzenia (skokowego) do sąsiednich paneli

Kontrolki z Silverlight Toolkit Dodatkowe kontrolki rozszerzające standardowy zestaw AutoCompleteBox ContextMenu DatePicker TimePicker ListPicker LongListSelector PerformanceProgressBar ToggleSwitch ExpanderView PhoneTextBox WrapPanel

Mechanizm Data Binding Powiązanie źródła danych z kontrolką UI Automatyczne ustawianie wartości kontrolki Automatyczna aktualizacja źródła danych Możliwość określenia mechanizmu konwersji oraz formatowania między źródłem danych a kontrolką UI Możliwość wiązania ze sobą kontrolek UI

Nawigacja w aplikacji

Nawigacja w aplikacji dla WP7 Aplikacja dla WP7 składa się z jednej lub kilku stron identyfikowanych za pomocą URI Nawigacja (oraz przekazywanie parametrów) zbliżona do nawigacji po stronach WWW Stos odwiedzonych stron Możliwość cofnięcia się do poprzedniej strony (przycisk Back) Cofnięcie się poza pierwszą stronę kończy aplikację /Views/SecondPage.xaml

Klasa NavigationService Udostępniona jako PhoneApplicationPage.NavigationService Funkcjonalność dostępna w PhoneApplicationFrame Metody do nawigacji NavigationService.Navigate(new Uri( MainPage.xaml, UriKind.Relative) NavigationService.GoBack() Dostęp do stosu odwiedzonych stron (tylko do odczytu) NavigationService.BackStack Możliwość usunięcia ostatnio odwiedzonej strony NavigationService.RemoveBackEntry() Wykorzystywana przez kontrolkę HyperlinkButton

Obsługa nawigacji Zestaw metod wirtualnych (nie zdarzeń!) w klasie PhoneApplicationPage OnNavigatingFrom(NavigatingCancelEventArgs e) Wywoływana w trakcie opuszczania strony Możliwość zablokowania przejścia OnNavigatedFrom(NavigationEventArgs e) OnNavigatedTo(NavigationEventArgs e) Parametry z URI dostępne jako NavigationContext.QueryString (tablica asocjacyjna)

Obsługa nawigacji MainPage.xaml.cs SecondPage.xaml.cs

UriMappings i UriMapper Bardziej czytelne URI oraz automatyczna konwersja ich fragmentów na parametry zapytania App.xaml.cs App.xaml MainPage.xaml

Cykl życia aplikacji

Stany aplikacji Tombstoning zamiast tradycyjnej wielozadaniowości Aplikacje usypiane lub wstrzymywane w wyniku deaktywacji Odtwarzanie stanu aplikacji podczas jej ponownej aktywacji Launching Uruchomienie aplikacji przez użytkownika Closing Zakończenie aplikacji przez użytkownika

Klasa PhoneApplicationService Singleton dostępny jako PhoneApplicationService.Current Obsługa cyklu życia aplikacji oraz przechowywanie danych użytkownika między deaktywacją a aktywacją aplikacji Obsługa poszczególnych zdarzeń w klasie App Application_Launching Application_Closing Application_Activated Application_Deactivated 10 sekund na aktywację! Dane użytkownika przechowywane w słowniku PhoneApplicationService.State (string à object) Automatyczny zapis i odczyt ustawień związanych z nawigacją (stos stron, ostatnio odwiedzona strona)

Wielo- dotyk i gesty

Poziomy obsługi wielo- dotyku Obsługa na poziomie klasy Touch i zdarzenia FrameReported Obsługa na poziomie klasy UIElement i zdarzeń związanych z gestami pinch/stretch i drag ManipulationStarted ManipulationCompleted ManipulationDelta Obsługa na poziomie klasy UIElement i gestów Tap Double- tap Hold

Zdarzenie FrameReported Opis zdarzenia dostępny w FrameReportedEventArgs GetPrimaryTouchPoint informacja o pierwszym dotkniętym punkcie (współrzędne względem wskazanej kontrolki) GetTouchPoints informacja o wszystkich punktach dotyku (współrzędne względne) Dla każdego punktu dotyku (TouchPoint) dostępna informacja o jego stanie, położeniu oraz dotykanej kontrolce

Zdarzenie ManipulationDelta Opis zdarzenia ManipulationDelta dostępny w ManipulationDeltaEventArgs (ManipulationDelta) Informacja o przesunięciu (transla%on) i skali (scale) Wielkości skumulowane dla całej manipulacji Zmiana w stosunku do ostatniego zdarzenia Informacja o kontrolce, której dotyczy manipulacja Informacja zagregowana brak rozróżnienia na poszczególne punkty dotyku

Integracja z funkcjami telefonu

Launchers i Choosers Uruchomienie wybranej funkcji telefonu Chooser pozwala na przekazanie pewnej informacji do aplikacji (zdarzenie wywoływane po zakończeniu choosera)

Przykłady wykorzystania Uwaga na tombstoning!

Obsługa kamery Klasa PhotoCamera możliwość wykonywania zdjęć z poziomu aplikacji (bez choosera) Konfiguracja kamery (fokus, redukcja czerwonych oczu) Przechwytywanie wykonanych zdjęć Klasa CaptureSource niskopoziomowy dostęp (na żywo) do kamery i mikrofonu AudioSink przetwarzanie danych z mikrofonu VideoSink przetwarzanie danych z kamery Dostęp do poszczególnych ramek danych

Aktywne ikony

Aktywne ikony Głowna ikona (main live %le) przypięta przez użytkownika do ekranu startowego i uruchamiająca aplikację Stan początkowy ikony opisany w WMAppManifest.xml, późniejsza możliwość zmiany z poziomu aplikacji Dodatkowe ikony (secondary %les) dodane z poziomu aplikacji i pozwalające na przejście do wskazanego ekranu (deep- link)

Przykład realizacji WMAppManifest.xml MainPage.xaml.cs DeepLink.xaml.cs

Pliki i bazy danych

Isolated Storage Wirtualny system plików dla każdej aplikacji (pełna izolacja bez współdzielenia informacji!) Klasa IsolatedStorageSettings słownik (string à object) pozwalający na zapis ustawień dla aplikacji Singleton IsolatedStorageSeetings.ApplicationSettings Wykorzystanie XML- a do serializacji Klasa IsolatedStorageFile dostęp do wirtualnego systemu plików (a nie pliku!) Instancja klasy zwracana przez IsolatedStorageFile. GetUserStoreForApplication Wsparcie dla typowych operacji IO (tworzenie, usuwanie plików i katalogów)

Przykładowe wykorzystanie

Baza danych SQL Server CE wbudowany w system Brak bezpośredniego dostępu za pomocą SQL (LINQ to SQL) Podejście code- first generacja schematu bazy danych na podstawie klas z odpowiednimi adnotacjami Plik bazy danych (.sdf) przechowywany w isolated storage (do 512 MB)

Przykładowe wykorzystanie

Pozostałe możliwości Definiowanie zależności 1:n i dostęp do obiektów nadrzędnych/podrzędnych adnotacja Association Aktualizacja schematu bazy danych (z poziomu aplikacji) klasa DatabaseSchemaUpdaterClass Szyfrowanie zawartości bazy danych i zabezpieczenie dostępu hasłem (hasło podawane jako element connec%on string)

Co jeszcze?

Inne ciekawostki Dostęp do koncentratorów i możliwość rejestracji aplikacji jako ich rozszerzenia Ograniczona wielozadaniowość agent działający w tle i wykonujący zlecone zadania (klasa ScheduledTaskAgent) PeriodicTask krótki, cyklicznie powtarzające się zadanie ResourceIntensiveTask dłuższe, jednorazowe zadanie wymagające wybranych zasobów (zewnętrzne zasilanie, połączenie WiFi, zablokowany ekran) Wysyłanie i pobieranie danych w tle Background Transfer Service (BTS) z wykorzystaniem HTTP/HTTPS (POST/GET)