poniedziałek, 18 października 2010

Windows Phone 7 RTM - wybrane zagadnienia cz.2

W ramach tego postu chciałbym się podzielić różnymi ciekawostkami i spostrzeżeniami. Z jednej strony w większości przypadków dotyczą one funkcjonalności dłużej znanych, ale spojrzymy tu czasem na nie od bardziej wysublimowanej strony. Znajdzie się też kilka całkowicie nowych wstawek z RTM.

Poniżej udostępniam moje wcześniejsze materiały z Windows Phone 7 dotyczące funkcjonalności sprzed bety, zaktualizowane, by działały poprawnie w wersji finalnej. Po drodze zaktualizowałem je do bety, ale nie zdążyłem opublikować, o czym pisałem niedawno.

Launchers & choosers

Wróćmy na chwilę do tematyki launcherów i chooserów. Nie wszystkie da się bezproblemowo przetestować na emulatorze. Potwierdzam za dokumentacją, że nie można wysyłać maili (nawet w sensie otwarcia ich w programie pocztowym), bo nie można skonfigurować konta pocztowego, nawet przy odblokowanym obrazie. Mogę też potwierdzić, że MediaPlayerLauncher ma problemy z wyświetleniem obrazu video na emulatorze (ewentualnie może nam coś mignąć). Co do tasków związanych ze sklepem, udało mi się odpalić MarketplaceHubTask i MarketplaceSearchTask.

02_MarketPlaceHub04_MarketPlaceSearch

W przypadku MarketplaceDetailTask w stosunku do bieżącej aplikacji i  MarketplaceReviewTask przy próbie wyświetlenia interfejsu dostaję informacje o błędzie. Dokumentacja informuje o problemach z tym drugim, o pierwszym pisze że nie ma różnic w porównaniu z telefonem. Task szczegółów pewnie nabierze sensu jak nasza aplikacja będzie opublikowana na MarketPlace, jak sądzę. Z pewnością warto rzucić okiem na aktualną zawartość sklepu, w przypadku aplikacji opatrzonego notą o testowym działaniu do 21 października. 

Przykład: WP7TasksDemo

Gesty

O gestach mówi się od pierwszego CTP narzędzi dla WP7, mamy na poziomie platformy działające zdarzenia manipulacji. Wersji finalnej towarzyszy ponadto toolkit, w którym zapewniono detekcję konkretnych gestów (dla dużej części wystarczy obsłużyć jedno zdarzenie). Moją uwagę zwróciła obsługa rotacji. Do tej pory możemy spotkać adnotację w dokumentacji, że rotacja nie jest obsługiwana (w przykładzie z Mixa też jej nie było). Oglądałem jednak ostatnio na Channel 9 filmik z premiery toolkita i na żywym telefonie zostały pokazane obroty. Ze swojej strony mogę potwierdzić, że w emulatorze też całkiem dobrze to działa (nawet jeśli nie dysponuje się ekranem dotykowym). 

05_Gestures_01

Dla wyjaśnienia - czerwone punkty, to wskaźniki dwóch myszy, za pomocą których testowałem gest pinch and stretch. Nie mając ekranu dotykowego można na Windows 7 zainstalować odpowiedni sterownik. W kwietniu opublikowałem na vimeo filmik, który dokładnie pokazywał, jak włączałem obsługę wielu myszek.

Przykład: WP7DemoApp

Notyfikacje push

Tu tylko napiszę, że pojawiła mi się pewna zagadka w działaniu notyfikacji toast w przykładowej aplikacji z WP7 Training Kit. Kiedy aplikacja subskrybująca jest wyłączona, wszystko jest w porządku. Natomiast gdy wyślemy notyfikację w trakcie działania aplikacji, to … następuje jej wyłączanie (pamiętam,że w Becie też mi się tak działo). Okazuje się, że dostaję wyjątek: Data at the root level is invalid. Co ciekawe w moim odświeżonym WP7DemoApp, gdzie w bardzo prosty sposób obsługuję notyfikacje toast, wszystko działa dobrze zarówno przy włączonej, jak i wyłączonej aplikacji. Mam nadzieję, że uda się to wyjaśnić. Być może jest jednak jakaś drobna różnica w formacie wysyłanej wiadomości, której nie dostrzegłem? Założyłem na forum WP7 wątek z tym tematem.

ShellTileSchedule

Jak możemy aktualizować obrazek w tile bez notyfikacji push? Od wersji finalnej możemy wykorzystać ShellTileSchedule. Funkcjonalność jest o tyle ciekawa, że … trudno ją przetestować. Najmniejszy okres to 1 godzina (ograniczenie systemu operacyjnego z uwagi na wydajność) i tyle trzeba nieraz odczekać, żeby zobaczyć efekt. W przykładowej aplikacji z WP7 Training Kit udało mi się zaobserwować po godzinie efekt podmiany obrazka:

03_ScheleTileSchedule_2

Na podsumowanie powiem, że… dokumentacja msdn, na którą się tak często powołuję została ostatnio odświeżona i sygnowana datą 7 października. Zmieniły się nieco szczegóły lokalizacji tytułu aplikacji, dodano dobry przykład integracji z Music + Videos hub (czego zawsze brakowało), lepiej udokumentowano niektóre, czasami dość istotne zagadnienia.

W związku z aktualizacją informacji na temat integracji z hubem multimedialnym dokonałem małej aktualizacji swojego ascetycznego przykładu z odtwarzaczem (MusicVideosHubAppDemo).

01_VMH

Zaktualizowaną wersję można pobrać tutaj. Mimo doprecyzowania przez dokumentację przekazywania do aplikacji informacji o uruchomieniu jej z tile i nazwy utworu i tak pozostało mi kilka niejasności. Dlaczego nie wyświetlają się z automatu tytuły utworów na tile’ach? Dlaczego na własnoręcznym tile aktualnego utworu pisze ciągle Paused i nie widać czasu? (jak się nic nie ustawi to domyślna reprezentacja to potrafi). Sporadycznie zdarzało mi się, że tło na tym tile mi się nie odświeżało (być może przy szybkich zmianach odtwarzanego utworu i przechodzenia z aplikacji na huba i odwrotnie). Zobaczymy jak to zadziała na fizycznym telefonie (bo emulator z odblokowanym obrazem nie może być do końca wyznacznikiem).

Ostatnio sporo dzieje się lub będzie się działo w tematyce WP7 na różnych frontach (samych urządzeń, MarketPlace, różnych frameworków). Z pewnością więc nie zabraknie mi tematów na kolejne posty -:)

Brak komentarzy: