Author Archive

Pytanie – rozwiązanie [8] Podgląd źródła RSS

Przy okazji testów związanych ze standardem OData oraz WCF Data Services przyszło mi zmierzyć się z pewnym, jak się później okazało dość błachym problemem. Chodziło mianowicie o wyłączenie w przeglądarce internetowej przetworzonej zawartości RSS i udostepnienie jej w surowej formie.
Oto dane przetworzone przez przeglądarkę:

Jak widać, nie można z nich dowiedzieć się zbyt wiele. A oto format, który jest moim celem.

Aby to osiągnąć przenosimy się do opcji przeglądarki internetowej (w moim przypadku IE – wygodnie mi się z nią pracuje w kontekście debugowania aplikacji uruchamianych z Visual Studio), wybieramy zakładkę “Zawartość” (Content). Wybieramy konfigurację źródeł RSS w której odznaczamy opcję widoczną na rysunku poniżej.

Gotowe! Teraz można już korzystać z dobrodziejstw WCF Data Services i móc je swobodnie “podglądać” :)


Narzędzia deweloperskie dla Windows Phone 7.1 Mango

Na witrynie create.msdn.com pojawiły się informacje o udostępnieniu Windows Phone Developer Tools 7.1 Beta. Jednocześnie udostępnione zostały nowe dema oraz dokumentacja pozwalająca zorientować się co nowego przed nami. Narzędzia można pobrać z tej strony. Pobieranie czas zacząć :)

Mini tip – poprzednia wersja miała problemy z instalacją offline. Mimo to sprawdzę jak to będzie wyglądało w tym momencie. W razie problemów z poprawnym działaniem iso od razu polecam instalację online.

Samo Mango (gdyż taka jest nazwa kodowa dla nowej odsłony Windows Phone) zostało zaprezentowane podczas konferencji MIX 2011 w Las Vegas, która odbyła się w kwietniu. Na witrynie konferencji można znaleźć szereg linków pozwalających obejrzeć sesje z tej konferencji osobom, które nie miały okazji na nią pojechać. Jest ich dość dużo, z czego ok 20 poświęconych jest tematowi Windows Phone.

Główne nowości dotyczą zadań w tle (temat bardzo oczekiwany), zmianow w mechaniźmie notyfikacji PUSH oraz optymalizacji uruchamiania samych aplikacji. Dodatkowo mamy możliwość połączenia aplikacji napisanych w Silverlight oraz XNA w jednym projekcie (daje to niesamowite możliwości i uproszczenie pisania gier) oraz modyfikacje w zarządzaniu stanem aplikacji (przed tombstoningiem będzie jeszcze stan umożliwiający bardzo szybkie wznowienie aplikacji). Jest o czym poczytać i posłuchać, oraz co pokodować w wolnym czasie :)


Świeżutkie, pachnące, prosto z drukarni

Helion zrobił mi dziś bardzo miłą niespodziankę, a mianowicie przysłał mi paczkę z książkami. Nie są to jednak byle jakie książki… Są to świeżutkie, pachnące i prosto z drukarni wydania książki, której jestem współautorem!
Jakiś czas temu Jacek Matulewski zaprosił mnie do projektu mającego na celu przygotowanie książki na temat Visual Studio 2010 oraz języka C#. Efektem naszej współpracy jest ukazanie się pozycji pod tytułem “Visual Studio 2010 dla programistów C#“. Niedawno książka znalazła się w przedsprzedaży, a tydzień później w regularnej dystrybucji.

W swojej części postanowiłem przedstawić Windows Communication Foundation. Z racji na dużą ilość tematów podejmowanych w książce nie było to proste zadanie, bo jak opisać tak potężne zagadnienie na kilkudziesięciu stronach… Udało się jednak zarysować najważniejsze pojęcia związane z tematem oraz przedstawić jego istotę.

Korzystając z okazji prywatna dedykacja i podziękowania dla mojej żony, która była bardzo wyrozumiała w trakcie prac nad książką i dodatkowo mnie motywowała :)

Visual Studio 2010 dla programistów C#

Zachęcam do lektury!


WP7 Accelerometer Emulator April Update

W grudniu opublikowałem post na temat mojego projektu Windows Phone 7 Accelerometer Emulator. Niedawno ponownie zasiadłem do kodu emulatora i dodałem jedną z możliwości, którą zapowiadałem.

Nagrywanie sekwencji użytkownika.

Wyobraźmy sobie sytuację, w której piszemy jakiś kawałek kodu, który ma się zachować w określony sposób przy danej sekwencji ruchów, jaką wykona użytkownik telefonu. Do tej pory jeżeli korzystaliście z mojego projektu trzeba było wykonywać te sekwencje samemu przy każdym teście. Teraz to się zmieniło. Wystarczy raz nagrać taką sekwencję, a następnie przy kolejnych testach można ją odtworzyć. Jeżeli chcemy skorzystać z aktualnej sekwencji w późniejszych testach, wystarczy zapisać sekwencję do pliku XML. Po ponownym rozpoczęciu pracy wczytać do emulatora plik z zapisem sekwencji. Eksport ten daje również możliwość testowania przez kilku programistów tej samej sekwencji poprzez zwykłą wymianę pliku symulacji.

WP7 Accelerometer Emulator Recording Panel

Użycie:
1 – przycisk Start
2 – wykonujemy sekwencję
3 – przycisk Stop
4 – aby odtworzyć wybieramy Play
5 – aby zatrzymać sekwencję w dowolnym momencie klikamy Stop
6 – jeżeli chcemy zachować sekwencję testową wybieramy Save
7 – aby wczytać wcześniej przygotowaną sekwencję wybieramy Load.
W razie gdyby w sekwencji coś poszło nie tak (wykonaliśmy nie ten ruch, który zamierzaliśmy), można wyczyścić zgromaczone dane przy pomocy przycisku Clear.

Jeszcze może słowo na temat opcji Limit – ograniczamy w ten sposób ilość zapamiętanych przez program stanów, dzięki czemu nie będzie sytuacji, w której po rozpoczęciu nagrania aplikacja zacznie pochłaniać pamięć. Wstępnie ustawiłem maksymalną wartość na 500, co daje nam ok 50s sekwencji – moim zdaniem dużo :)

WP7Accelerometer Emulator April Update

Paczka ze źródłami


Pomorska Konferencja Informatyczna

Dziś w Gdańsku miała miejsce Pomorska Konferencja Informatyczna. Moja wizyta w Gdańsku była dość krótka, aczkolwiek treściwa. Podczas prezentacji udało się uniknąć problemów technicznych oraz ożywić salę – a o to właśnie chodzi, żeby wciągnąć słuchaczy w temat i w dyskusję. Temat, o którym opowiadałem był połączeniem wstępu do platformy Windows Phone 7 oraz opisu mechanizmu notyfikacji PUSH. Osoby, które są zainteresowane przestudiowaniem przygotowanych przeze mnie materiałów mogą je pobrać korzystając z poniższych linków. Przed uruchomieniem Notifiera polecam zapoznanie się z plikiem ReadThisBeforeYouStart.txt.

Projekt

Prezentacja


2nd Silesian Code Camp

Weekend minął pod znakiem drugiej edycji Silesian Code Camp, na której miałem przyjemność być prelegentem. Duże brawa należą się organizatorom, za dobre przygotowanie i organizację całej konferencji. Co do samych sesji, to nie mogę za dużo powiedzieć, bo nie miałem okazji uczestniczyć w nich (poza swoją :) )
Drugi plus należy się uczestnikom konferencji. Wiedzieli czego oczekują i na jakie sesje przychodzą, dlatego też pozytywnie zaskoczyła mnie skala dyskusji, która rozwinęła się podczas mojej prezentacji. Widać było, że temat jest interesujący i nowości, o których opowiadałem od razu podsunęły niektórym pomysły na ich wykorzystanie.

Dla osób, które chciałyby we własnym zakresie przejrzeć przygotowane przeze mnie dema poniżej załączam link do spakowanego kodu oraz prezentacji. W przykładach znajduje się plik BeforeYouStart.txt, który objaśnia w jaki sposób poradzić sobie z prawami do nasłuchu na protokole http w aplikacji konsolowej (konieczne do uruchomienia przykładowych hostów).

Projekt

Prezentacja


Pytanie – rozwiązanie [7] – WP7 jak rozpoznać Theme

Aby aplikacje tworzone na platformie Windows Phone 7 dawały użytkownikowi jeszcze większy komfort korzystania warto dostosować UI do aktualnych ustawień telefonu. Możemy to osiągnąć między innymi rozpoznając wybrany przez niego motyw (theme).  W tym celu korzystamy z prostego enuma oraz metody widocznej na poniższym listingu

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public enum Theme
{
	Light,
	Dark
}
 
public static Theme PhoneTheme
{
	get
	{
		if (Application.Current.Resources["PhoneBackgroundColor"].ToString() == "#FF000000")
			return Theme.Dark;
		else
			return Theme.Light;
	}
}

Pytanie – rozwiązanie [6] – jak odwrócić string

Przy okazji przygotowywania testowego serwisu na 2nd Silesian Code Camp zastanawiałem się jak najwygodniej odwrócić łańcuch znaków (string). Poza oczywistym rozwiązaniem wykorzystującym odwracanie tablicy w pętli, w oko wpadł mi następujący kawałek kodu, który w przejrzysty sposób rozwiązuje to zadanie:

1
2
3
4
5
6
public string Reverse(string str)
{
	char[] charArray = str.ToCharArray(); 
	Array.Reverse(charArray);
	return new string(charArray);
}

Windows Phone 7 na Channel 9 i codeguru.pl – Multimedialne funkcje XNA

Dziś na Channel 9 ukazał 12 odcinek serii poświęconej Windows Phone 7. Jest to piąty przygotowany przeze mnie webcast z tej serii i prawdopodobnie ostatni, gdyż dobiega ona już końca. Być może przygotujemy jeszcze jakieś odcinki, natomiast aktualnie natłok innych planów skutecznie to uniemożliwia :)

W tym odcinku przedstawiam multimedialne możliwości oferowane przez framework XNA.

Podobnie jak poprzednio na Codeguru ukazał się analogiczny artykuł podejmujący ten sam temat.

Projekt do pobrania

Windows Phone 7 Odcinek 12 - Multimedialne funkcje dzięki XNA


Gdzie mnie spotkasz w kwietniu

Wiosna to sezon obfitujący w różnego rodzaju konferencje organizowane przez społeczności, czy to offline, czy też akademickie. Kwiecień jest pod tym względem chyba najbardziej dynamiczny – szczególnie dla mnie, gdyż będę prowadził sesje na trzech wydarzeniach. Rozpoczynając chronologicznie:
2011-04-06 – IT Academic Day zorganizowany przez połączone siły kół akademickich WFAiIS i WMiI Uniwersytetu Mikołaja Kopernika w Toruniu, gdzie przedstawię platformę Widnows Phone 7. Wydarzenie odbędzie się na Auli WMiI UMK

itad

Trzy dni później, bo w sobotę 2011-04-09 będę na drugiej edycji Silesian Code Camp w Katowicach, która jest organizowana przez Śląską Regionalną Grupę Microsoft. Na swojej sesji opowiem na temat nowości w WCF 4. Rejestracja ruszyła 27 marca, a już dziś kończą się miejsca i organizatorzy podnoszą limity. Świadczy to o pozytywnym odbiorze konferencji przez całą społeczność i o zaangażowaniu organizatorów w przygotowania – wystarczy spojrzeć na mocną obsadę prelegentów.

Silesian Code Camp

Trzecia konferencja odbędzie się na Pomorzu. 2011-04-12 zapraszam na Pomorską Konferencję Informatyczną, na której opowiem pokrótce o platformie Windows Phone 7, a następnie przedstawię ideę notyfikacji PUSH na tej właśnie platformie. Wydarzenie jest ogranizowane przez Trójmiejską Grupę Zawodową .NET.

Zapowiada się intensywny okres wyjazdowy, ale czego się nie robi dla społeczności :)


  • O mnie

    Maciej Grabek

    Moje profile na:

    MVP

    Codeguru.pl GoldenLine
    Twitter CodeProject

  • english version
  • Polecam

  • Copyright © Maciej Grabek. All rights reserved.
    Powered by WordPress
    %d bloggers like this: