Upload
chadwick-branch
View
30
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Windows Phone 7 - wstęp. Andrzej Chybicki. 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 - PowerPoint PPT Presentation
Citation preview
Windows Phone Microsoft Corporation.
Windows Phone 7 - wstęp
Andrzej Chybicki
Windows Phone Microsoft Corporation.
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)
Windows Phone Microsoft Corporation.
Ś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”
Windows Phone Microsoft Corporation.
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
Windows Phone Microsoft Corporation.
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
Windows Phone Microsoft Corporation.
Two Flavors of Applications
6
Windows Phone Microsoft Corporation.
Windows Phone 7 jest w chmurze! Mapy Bing (LBS) Xbox Live Windows Phone Marketplace
General Concept Software
Architecture
App Model
Cloud and Integration
Services
Hardware Foundation
UI Model
Windows Phone Microsoft Corporation.
New Concept
9
DESIGN: END USER COMES FIRST
PLATFORM: RICHER, DEEPER, EASIER APPS
HARDWARE:FASTER TO MARKET, LESS HEAVY LIFTING
Windows Phone Microsoft Corporation.
Metro UI
10
Windows Phone Microsoft Corporation.
Hardware Foundation (in 7.0) Capacitive touch
4 or more contact points
SensorsA-GPS, Accelerometer, Compass, Light, Proximity,
Camera5 mega pixels or more
MultimediaCommon detailed specs, Codec acceleration
Memory256MB RAM or more, 8GB Flash or more
GPUDirectX 9 acceleration
CPUQualcomm MSM8x55 800Mhz or higher
Hardware buttons | Back, Start, Search
Windows Phone Microsoft Corporation.
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
Windows Phone Microsoft Corporation.
Windows Phone Developer Tools
13
myapp.xap
Windows Phone device
Windows PhoneEmulator
Phone EmulatorSamples DocumentationGuides Community
Packaging and Verification Tools
Tools
Windows Phone Microsoft Corporation.
Deployment Process
14
Develop & Debug
Submit& Validate
Certify & Sign
Windows Phone Application Deployment Service
Marketplace
Windows Phone Microsoft Corporation.
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.
15
Windows Phone Microsoft Corporation.
Obszary procesu certyfikacji Application Policies Content Policies Application Submission Requirements Technical Certification Requirements Additional Requirements for Specific Applic
ation Types Patrz materiały do wykładu
16
Windows Phone Microsoft Corporation.
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
17
Windows Phone Microsoft Corporation.
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
18
Windows Phone Microsoft Corporation.
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
19
Windows Phone Microsoft Corporation.
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 Manifest20
Windows Phone Microsoft Corporation.
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.
21
Windows Phone Microsoft Corporation.
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
22
Windows Phone Microsoft Corporation.
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
23
Software Architecture Software
Architecture
App Model
Cloud and Integration
Services
Hardware Foundation
UI Model
Windows Phone Microsoft Corporation.
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
25
Windows Phone Microsoft Corporation.
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
26
Windows Phone Microsoft Corporation.
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, EmailNameOrAddress
27
Windows Phone Microsoft Corporation.
Media
28
Media support H/W decode MediaStreamSource PlayReady DRM
MediaElement Limitations One MediaElement only
XNA sound effect API Supports polyphonic,
looping wav data
Windows Phone Microsoft Corporation.
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
29
ApplicationModel Software
Architecture
App Model
Cloud and Integration
Services
Hardware Foundation
UI Model
Windows Phone Microsoft Corporation.
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
31
Windows Phone Microsoft Corporation.
Application Lifecycle
- Phone removed from memory
- Some state saved to storage
Save State!
Load State!
Windows Phone Microsoft Corporation.
Application Bar and System Tray 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.IsVisibl
e33
Windows Phone Microsoft Corporation.
Panorama
34
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
Windows Phone Microsoft Corporation.
Pivot
35
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
Windows Phone Microsoft Corporation.
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
36
IntegrationServices Software
Architecture
App Model
Cloud and Integration
Services
Hardware Foundation
UI Model
Windows Phone Microsoft Corporation.
Launchers & Choosers Enable applications to provide a set of
common phone tasks to their users Launchers let you fire and forget
SMS, Email, Web Browser, Dialer, Search, etc.
Choosers let you fire and pick the results back Picture, Camera, Contact, etc.
38
Windows Phone Microsoft Corporation.
Push Notifications
39
Windows Phone Microsoft Corporation.
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
40
Windows Phone Microsoft Corporation.
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
41
Windows Phone Microsoft Corporation.
Register Your Device
43
Test on a physical device Register your device Install, run, and debug
unsigned applications Use Zune to register
your device
Windows Phone Microsoft Corporation.
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!!
Windows Phone Microsoft Corporation.
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
Windows Phone Microsoft Corporation.
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”
Windows Phone Microsoft Corporation.
App.xaml.cs, App.xaml oraz App.g.cs
Windows Phone Microsoft Corporation.
MainPage.cs.xaml - > MainPage.g.cs Element w
Silverlight i XML Hierarchia
obiektów:
Windows Phone Microsoft Corporation.
/bin/Debug Plik XAP – spakowany, przekompilowany
projekt
Windows Phone Microsoft Corporation.
A teraz „Hello World” w XNA Brak wbudowanych czcionek Czcionka jest bitmapą! Wszystko jest
bitmapą! Czcionka musi być osobno zaimportowana
do projektu (problemy licencyjne)
Windows Phone Microsoft Corporation.
Game.cs – główna część projektu w XNA
Windows Phone Microsoft Corporation.
Windows Phone Microsoft Corporation.
Orientacja (Sliverlight) Portrait, Landscape, PortraitOrLandscape Orientacja a
dynamiczne lokowanie komponentów (dynamic layout) HorizontalAlignment VerticalAlignment
Windows Phone Microsoft Corporation.
Wynik
Windows Phone Microsoft Corporation.
Marigin i padding
Atrybuty:ActualWidt
h ActualSize
SizeChangedLoaded
LayoutUpdated
Windows Phone Microsoft Corporation.
Powiązywanie zdarzeń poprzez XAML
Windows Phone Microsoft Corporation.
Wykrywanie zmiany orientacji
Windows Phone Microsoft Corporation.
Orientacja XNA
BackBuffer i jego rola
BackBuffer a wydajność
Windows Phone Microsoft Corporation.
Obsluga zmiany orientacji w XNA
Windows Phone Microsoft Corporation.
Windows Phone Microsoft Corporation.
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 )
IdTouchLocation previousTouchLocation ;
bool success = touchLocation.TryGetPreviousLocation(out previousTouchLocation) ;
Windows Phone Microsoft Corporation.
Dotyk w XNA - przykład
Windows Phone Microsoft Corporation.
Gesty!!
Tap, doubleTap, pinch, pinchComplete, fredrag, HorizontalDrag, VerticalDrag, DragComplete
Windows Phone Microsoft Corporation.
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
Windows Phone Microsoft Corporation.
Routed Event handling
args.Handled = true;
Windows Phone Microsoft Corporation.
Bitmapy (XNA) Definicja bitmapy w Silvelight (vector drawing,
image, bitmap) a w XNA (Texture2D) BMP, JPG(S), PNG(S)
Windows Phone Microsoft Corporation.
Bitmapy (Silverlight)<Image Source="Images/Hello.png"
Stretch="None >/ "
W Silverlight można pobierać obrazek z URL:
Windows Phone Microsoft Corporation.
Bitmapy (XNA)
Windows Phone Microsoft Corporation.
Camera
Windows Phone Microsoft Corporation.
Photo Library (XNA)
Windows Phone Microsoft Corporation.
Photo Library Silverlight
Windows Phone Microsoft Corporation.
Sensory w WP7 - akcelerometr
Windows Phone Microsoft Corporation.
Akcelerometr w XNA