370 likes | 556 Views
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
E N D
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 -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)
Ś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”
Silverlightvs. XNA • Dla aplikacji użytecznych (RIA) • XAML (ExtensibleApplicationMarkupLanguage) • 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
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 (vectorgraphics) vs. XNA (bitmap graphics) • Time-steeredvs. user(event) steeredapps
Windows Phone 7 jest w chmurze! • Mapy Bing (LBS) • Xbox Live • Windows PhoneMarketplace
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 • PushNotification
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!!
Pierwsza aplikacja Silverlight • Windows PhoneApplication • 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
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”
MainPage.cs.xaml - > MainPage.g.cs • Element w Silverlight i XML • Hierarchia obiektów:
/bin/Debug • Plik XAP – spakowany, przekompilowany projekt
A teraz „HelloWorld” w XNA • Brak wbudowanych czcionek • Czcionka jest bitmapą! Wszystko jest bitmapą! • Czcionka musi być osobno zaimportowana do projektu (problemy licencyjne)
Orientacja (Sliverlight) • Portrait, • Landscape, • PortraitOrLandscape • Orientacja a dynamiczne lokowanie komponentów (dynamiclayout) • HorizontalAlignment • VerticalAlignment
Marigin i padding Atrybuty: ActualWidth ActualSize SizeChanged Loaded LayoutUpdated
Orientacja XNA BackBuffer i jego rola BackBuffer a wydajność
Dotyk w WP7 (XNA) • 4 przyciski równocześnie • Obsługa przez zdarzenia (Sliverlight) • W XNA sprawdzanie robimy w metodzie Update (TouchPanel) TouchCollectiontouchLocations = TouchPanel.GetState(); State : Pressed, Moved, Released. Position ( Vector2 ) Id TouchLocationpreviousTouchLocation; bool success = touchLocation.TryGetPreviousLocation(out previousTouchLocation);
Gesty!! • Tap, doubleTap, pinch, pinchComplete, fredrag, HorizontalDrag, VerticalDrag, DragComplete
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
Bitmapy (XNA) • Definicja bitmapy w Silvelight (vectordrawing, image, bitmap) a w XNA (Texture2D) • BMP, JPG(S), PNG(S)
Bitmapy (Silverlight) <Image Source="Images/Hello.png" Stretch="None" /> W Silverlight można pobierać obrazek z URL: