Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Windows Phone 7 - wstęp Andrzej Chybicki.

Podobne prezentacje


Prezentacja na temat: "Windows Phone 7 - wstęp Andrzej Chybicki."— Zapis prezentacji:

1 Windows Phone 7 - wstęp Andrzej Chybicki

2 Windows Phone 7 - początki
Microsoft o Windows Phone 7: In golf, it’s known as a “mulligan”; in schoolyard sports, it’s called a “do-over”; and in the computer industry, we say it’s a “reboot.” Dwie ścieżki programowania : - XNA -Silverlight Silverlight – platforma developerska łącząca wygodę tworzenia interfejsu, automatycznym łączeniem zdarzeń z możliwością zaawansowanego przetwarzaniem danych XNA – platforma developerska do tworzenia gier (2D i 3D), -game-loop -XBOX, PC, Zune (mobile)

3 Środowisko pracy aplikacji
Kod w pełni zarządzalny przez .NET Framework Języki programowania Sugerowane rozwiązanie – C# XNA i Silverlight współdzieli niektóre biblioteki, ale nie można tworzyć projektów „mieszanych”

4 Silverlight vs. XNA Dla aplikacji użytecznych (RIA)
XAML (Extensible Application Markup Language ) Interfejs użytkownika Przekazywanie zdarzeń Niektóre elementy logiczne oraz animacyjne WP7 Silverlight = Silverlight 3 – niektóre rzeczy, których nie można zrobić na telefonie + niektóre rzeczy które można zrobić tylko na telefonie 

5 XNA vs. Silverlight Gry, aplikacje medialne, animacje z interakcją z użytkownikiem wymagające zaawansowanego renderowania grafiki Wewnętrzna synchronizacja wątków odświeżania i użytkownika 2D (sprites) i 3D (models) Silverlight (vector graphics) vs. XNA (bitmap graphics) Time-steered vs. user (event) steered apps

6 Two Flavors of Applications
High performance game framework Rapid creation of multi-screen 2D and 3D games Rich content pipeline Mature, robust, widely adopted technology spanning Xbox 360, Windows, and Zune Modern XAML/event-driven application UI framework Rapid creation of visually stunning apps Metro-themed UI controls HTML/JavaScript 500,000 developers spanning Windows and web

7 Windows Phone 7 jest w chmurze!
Mapy Bing (LBS) Xbox Live Windows Phone Marketplace

8 General Concept Software Architecture App Model
Cloud and Integration Services Hardware Foundation UI Model General Concept

9 New Concept DESIGN: END USER COMES FIRST
PLATFORM: RICHER, DEEPER, EASIER APPS HARDWARE: FASTER TO MARKET, LESS HEAVY LIFTING

10 Metro UI

11 Hardware Foundation (in 7.0)
MIX 11 3/26/2017 Hardware Foundation (in 7.0) Capacitive touch 4 or more contact points 800 Sensors A-GPS, Accelerometer, Compass, Light, Proximity, Camera 5 mega pixels or more Multimedia Common detailed specs, Codec acceleration Memory 256MB RAM or more, 8GB Flash or more GPU DirectX 9 acceleration CPU Qualcomm MSM8x Mhz or higher Hardware buttons | Back, Start, Search 480 © 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

12 Sprzęt, wymagania i usługi
Wielodotykowy ekran OLED (“organic light emitting diode”) Przyciski: Rozmiar ekranu: 480 x 800 (480 x 320) (160 px) Modem 3G, Wi-fi, Camera, Akcelerometr Vibration FM Radio Push Notification

13 Windows Phone Developer Tools
Phone Emulator Samples Documentation Guides Community Packaging and Verification Tools Tools Windows Phone device Packaging & Verification Tools Windows Phone Emulator myapp.xap

14 Deployment Process Develop & Debug Submit & Validate Certify & Sign
Windows Phone Application Deployment Service Marketplace

15 Certyfikacja aplikacji – główne filary
Applications are reliable. Applications make efficient use of resources. Applications do not interfere with the phone functionality. Applications are free of malicious software.

16 Obszary procesu certyfikacji
Application Policies Content Policies Application Submission Requirements Technical Certification Requirements Additional Requirements for Specific Application Types Patrz materiały do wykładu

17 Application Policies – Aplikacja…
…musi być w pełni funkcjonalna i nie może żądać dodatkowej opłaty za udostępnienie swojej funkcjonalności, chyba że… … nie może promować planów taryfowych połączeń … nie może stanowić zagrożenia dla bezpieczeństwa telefonu oraz Marketplace … jeśli aplikacja pobiera lub zajmuje ponad 50 MB danych musi poinformować o tym użytkownika … jeśli wymaga uwierzytelniania w komunikacji peer2peer należy się upewnić że użytkownik ma ponad 13 lat

18 Application Policies (2)– Aplikacja…
… może określać pozycję tylko na podstawie API ... może udostępniać lokalizację tylko za zgodą użytkownika … musi spełniać jeszcze inne wymagania : patrz materiały do wykładu

19 Content Policies Logo i znaki towarowe
aplikacja może (powinna) posiadać swoje logo Może korzystać z innych znaków towarowych pod warunkiem akceptacji właściciela Nie może zawierać treści niezgodnych z prawem, w szczególności Promowanie przemocy, rasizmu, alkoholu, broni palnej i innych Treści, które ogólnie nie są obraźliwe ale mogą być uznane za takie w niektórych krajach ->treść powinna uwzględniać aspekt prawny każdego kraju w jakim MarketPlace oferuje swoje aplikacje

20 Application Submission Requirement
Maksymalny rozmiar pliku XAP – 225 MB Używanie tylko API Windows Phone Zabronione jest korzystanie z metod wywołania typu Pinvoke oraz obiektów COM Nie może zawierać konfiguracji DEBUG Nie jest możliwe łączenie technologii XNA i Silverlight Microsoft.Xna.Framework.Game System.Windows.Controls Phone Capabilites czyli prawidłowy Manifest

21 Technical Certification Requirements
Kompatybilność z różnymi telefonami WP 7 (2) Unexpected closure Responsywność aplikacji Operacji trwające dłużej niż 3 sekundy muszą być obsługiwane przez ProgressBar lub BusyIndicator W momencie przekazania aplikacji do MarketPlace wszystkie zdalne serwisy i zasoby aplikacji muszą być dostępne i wpływają na proces certyfikacji! Czas startu i responsywności po starcie – 5 s. i 20 s.

22 Technical Certification (2)
Elementy obsługi przycisków telefonu…. Zajętość pamięci Max 90 MB RAM, dla urządzeń do 256 MB RAMU całkowitego Zaleca się użycie obiektów DeviceExtendedProperties DeviceStatus Aplikacja nie może blokować , opóźniać, przerywać odbioru połączeń telefonicznych, wiadomości SMS oraz innych zdarzeń wywoływanych z poziomu OS

23 Additional Requirements
Lokalizacja Jeśli użytkownik nie życzy sobie … Aplikacje działające w tle a oszczędność baterii Aplikacje działające w tle do pobierania danych Muszą umożliwiać podgląd stanu zaawansowania pobierania oraz anulowania

24 Software Architecture
App Model Cloud and Integration Services Hardware Foundation UI Model Software Architecture

25 Silverlight Capabilities
Inputs Keyboard, Mouse, Touch, Ink XAML UI Core Common Controls, Text, Images, Data Binding, Page Navigation, Vector Graphics, Animation, Transformation, Styles and Templates Media Capture and Playback, VC1, WMA, MP3 Data LINQ to Objects, LINQ to XML, Isolated Storage, XML Base Class Library Generics, Collections, Cryptography, Threading Communication REST, RSS/ATOM, SOAP

26 Multitouch OOB Controls support touch
Translate touch events to mouse events ScrollViewer has built-in support for pan and flick Manipulation for all UIElements Scale Translate

27 Keyboard Silverlight TextBox integrates with the SIP (on screen keyboard) Password has a delay SIP supports input scoping Key InputScopes: Text, Url, Number, Time, TelephoneNumber, NameOrAddress

28 Media Media support H/W decode MediaStreamSource PlayReady DRM
MediaElement Limitations One MediaElement only XNA sound effect API Supports polyphonic, looping wav data

29 Isolated Storage Compatible APIs with Silverlight on desktop
No quota limits Not shared No write access to Media Library, use XNA for that Use for your application settings

30 Application Model Software Architecture App Model
Cloud and Integration Services Hardware Foundation UI Model Application Model

31 Activation and Navigation
Activation Events Handled by the Application instance Launching, Activated, Deactivated and Closing Navigation Events Handled by each PhoneApplicationPage class OnNavigatedTo, OnNavigatedFrom, OnBackKeyPressed, OnChooserReturn, OnOrientationChanged Controlled by Hardware using Back and Home keys Software using Navigation Service

32 Application Lifecycle
Developer should check the IsApplicationInstancePreserved property to know if the application is returning from being dormant or tombstoned state. If it’s value true, then the application was in dormant state else tombstoned state. Application Lifecycle Load State!

33 Application Bar and System Tray
No integration, but does affect Layout Show:Hide using SystemTray.IsVisible Application Bar Up to 4 Buttons Menu Items (Recommended 6) Toggle Visibility <mypage>.ApplicationBar.IsVisible

34 Panorama Part of the native Windows Phone look and feel
Panorama is a long horizontal canvas PanoramaItem serves as a container that hosts other content and controls

35 Pivot Provides a quick way to manage views or pages
Pivot is a container of pivot items PivotItem contain individual page content such as controls, grids, or links

36 Many more… Standard Controls
Buttons, Image, Layout, ListBox, TextBox, Slider, Other… Bing Maps Bing Map Control, Integration with Bing Maps Services Deep Zoom Included in core run-time , Optimized to take advantage of GPU, Consumes same content as SL on desktop, Supported for Online content Web Browser Displays network and local content, Supports pan, double tap and pinch to zoom, Supports transforms & projections, Application can interact with javascript

37 Integration Services Software Architecture App Model
Cloud and Integration Services Hardware Foundation UI Model Integration Services

38 Launchers & Choosers Enable applications to provide a set of common phone tasks to their users Launchers let you fire and forget SMS, , Web Browser, Dialer, Search, etc. Choosers let you fire and pick the results back Picture, Camera, Contact, etc.

39 Push Notifications

40 Types of Push Notifications
Tile notifications Update tile count, title and background image Toast notifications Display a on-top-like message Raw notifications Can be used in application logic

41 Location and Services The service obtains location data from multiple sources such as GPS, Wi-Fi, and cellular Applications can access location information Allows you to create location- aware applications

42 Accelerometer +Y +X +Z Measures force applied on each axis over time
Determine in which direction the user is moving the device Expressed as a 3-dimensional vector +Y -Y +X -X +Z -Z

43 Register Your Device Test on a physical device Register your device
Install, run, and debug unsigned applications Use Zune to register your device

44 Programowanie Windows 7!! Visual Studio 2010
Zune software (zamiast ActiveSync) Oczywiście będą problemy z deployowaniem aplikacji na Windows Mobile (dlaczego ma być zbyt prosto?) Co trzeba zrobić aby zsynchronizować kalendarz Windows XP z Windows Phone 7? UŻYĆ GOOGLA!!

45 Pierwsza aplikacja Silverlight
Windows Phone Application WMAppManifest.xml Title="SilverlightHelloPhone„ Deployowanie na emulator albo prosto do urządzenia Rozdzielczość ekranu emulatora jest taka sama jak w urządzeniu Możliwość zmiany orientacji emulatora

46 Układ plików projektu Silverlight
Cztery główne pliki każdego projektu: App.xaml MainPage.xaml App.xaml.cs MainPage.xaml.cs Postulat „code-behind”

47 App.xaml.cs, App.xaml oraz App.g.cs

48 MainPage.cs.xaml - > MainPage.g.cs
Element w Silverlight i XML Hierarchia obiektów:

49 /bin/Debug Plik XAP – spakowany, przekompilowany projekt

50 A teraz „Hello World” w XNA
Brak wbudowanych czcionek Czcionka jest bitmapą! Wszystko jest bitmapą! Czcionka musi być osobno zaimportowana do projektu (problemy licencyjne)

51 Game.cs – główna część projektu w XNA

52

53 Orientacja (Sliverlight)
Portrait, Landscape, PortraitOrLandscape Orientacja a dynamiczne lokowanie komponentów (dynamic layout) HorizontalAlignment VerticalAlignment

54 Wynik

55 Marigin i padding Atrybuty: ActualWidth SizeChanged Loaded ActualSize
LayoutUpdated

56 Powiązywanie zdarzeń poprzez XAML

57 Wykrywanie zmiany orientacji

58 Orientacja XNA BackBuffer i jego rola BackBuffer a wydajność

59 Obsluga zmiany orientacji w XNA

60

61 Dotyk w WP7 (XNA) 4 przyciski równocześnie
Obsługa przez zdarzenia (Sliverlight) W XNA sprawdzanie robimy w metodzie Update (TouchPanel) TouchCollection touchLocations = TouchPanel.GetState(); State : Pressed, Moved, Released. Position ( Vector2 ) Id TouchLocation previousTouchLocation; bool success = touchLocation.TryGetPreviousLocation(out previousTouchLocation);

62 Dotyk w XNA - przykład

63 Gesty!! Tap, doubleTap, pinch, pinchComplete, fredrag, HorizontalDrag, VerticalDrag, DragComplete

64 Dotyk w WP7 (Silverlight)
Low-level Zdarzenie Touch.FrameReported (XNA TouchPanel), nie zawiera gestów TouchPoint Action (Down, Move, and Up). Position (Point), Size TouchDevice High-level 3 zdarzenia w klasie UIElement ManipulationStarted, ManipulationDelta, ManipulationCompleted

65 Routed Event handling args.Handled = true;

66 Bitmapy (XNA) Definicja bitmapy w Silvelight (vector drawing, image, bitmap) a w XNA (Texture2D) BMP, JPG(S), PNG(S)

67 Bitmapy (Silverlight)
<Image Source="Images/Hello.png" Stretch="None" /> W Silverlight można pobierać obrazek z URL:

68 Bitmapy (XNA)

69 Camera

70 Photo Library (XNA)

71 Photo Library Silverlight

72 Sensory w WP7 - akcelerometr

73 Akcelerometr w XNA


Pobierz ppt "Windows Phone 7 - wstęp Andrzej Chybicki."

Podobne prezentacje


Reklamy Google