SM-01-LAB-WIKI

From Studia Informatyczne

Spis treści

Temat ćwiczenia

Zapoznanie się ze środowiskiem Microsoft Visual Studio 2005 wykorzystywanym w projektowaniu aplikacji mobilnych.

Wymagania

Podstawowe umiejętności posługiwania się językiem C# i środowiskiem Microsoft Visual Studio 2005.

Ćwiczenie

Wprowadzenie

Urządzenia mobilne

W dzisiejszych czasach wielokrotnie spotykamy się ze słowem „mobilne”. Wielu producentów, zarówno urządzeń jak i oprogramowania, coraz częściej wykorzystuje powyższe słowo w promocji swoich produktów, a wszystkie produkty określane mianem „mobilne” stają się coraz bardziej popularne.

Jakie wymagania musi spełnić produkt aby określono go mianem „mobilne”? Czy wystarczy aby było ono małe i przenośne? Okazuje się, że nie jest to jedyne wymaganie stawiane tej klasie urządzeń. Aby dowolne urządzenie mogło zostać uznane za urządzenie mobilne musi ono umożliwiać komunikację z innymi urządzeniami oferując swoim użytkownikom szereg usług oferowanych przez urządzenia stacjonarne. Obecnie wśród urządzeń mobilnych możemy wyróżnić m.in.:

  • Telefon komórkowy – jest najbardziej rozpowszechnionym urządzeniem mobilnym. Obecnie liczbę użytkowników telefonii komórkowej szacuje się na około 2 miliardów,
  • Personal Digital Assistant (PDA) – stanowi mniejszą wersję komputera osobistego oferując swoim użytkownikom wiele usług dostępnych na komputerach klasy Desktop. Wśród tych urządzeń wyróżniamy dwie główne klasy: urządzania typu Palmtopy pracujące pod kontrolą systemu operacyjnego PalmOS, oraz urządzenia typu Pocket PC pracujące pod kontrolą Windows Mobile,
  • Smartphone – jest to telefon komórkowy umożliwiający szereg dodatkowych usług jak odtwarzanie plików video, videokonferencje. Posiada również takie funkcje jak: obsługa poczty e-mail, edycja plików tekstowych oraz wiele dodatkowych funkcji multimedialnych,
  • Pozostałe urządzenia – do tej klasy możemy zaliczyć szereg urządzeń oferujących wiele dodatkowych usług i funkcji dla urządzeń mobilnych takich jak m.in.: odbiorniki GPS, bezprzewodowe kamery, dalmierze laserowe.

Możliwości i ograniczenia urządzeń mobilnych

Możliwości i ograniczenia urządzeń mobilnych związane są przede wszystkim z możliwościami technicznymi tych urządzeń. Dysponują one znacznie mniejszą mocą obliczeniową, dysponują mniejszą pamięcią jak również wielkość wyświetlacza takich urządzeń jest znacznie mniejsza niż w urządzeniach stacjonarnych. Obecnie urządzenia klasy PDA oferują rozdzielczości wyświetlacza na poziomie 480x640 pikseli. W przypadku urządzeń Smartphone jest to około 160x220 pikseli.

W związku z ograniczeniami technicznymi również tworzenie oprogramowania na te urządzenia obarczone jest wieloma ograniczeniami. Nie dostępne są niektóre, powszechnie znane w urządzeniach stacjonarnych, zdarzenia, jak np. „OnMouseOver” w związku z brakiem możliwości poruszani kurosem myszy na tych urządzeniach. Ponadto w związku z wielkością wyświetlacza, okienka wyświetlane są w trybie pełnoekranowym, co pociąga za sobą ich zachowanie podczas próby zamknięcia. Ponieważ nie jest możliwe wyświetlanie wielu okienek jednocześnie, zamknięcie okienka kończy się jedynie jego minimalizacją – program nie zostaje zakończony.

Środowiska tworzenia oprogramowania

Najbardziej rozpowszechnionym pakietem do tworzenia aplikacji przeznaczonych na urządzenia mobilne jest Microsoft Visual Studio 2005. Platforma ta umożliwia szybkie tworzenie programów użytkowych zarówno dla systemu operacyjnego Windows jak również aplikacji internetowych. Wspomaga tworzenie rozwiązań dla szerokiej grupy odbiorów: od aplikacji internetowych, poprzez aplikacje dla systemu Windows a skończywszy na urządzeniach mobilnych. W ramach środowiska Microsoft Visual Studio możliwe jest pisanie programów w dowolnym języku programowania.

Microsoft Visual Studio dostępny jest dla końcowych użytkowników w kilku wersjach, od wersji Express, poprzez wersje Standard i Professional, skończywszy na wersji Team System. Wersje te różnią się zarówno ceną pakietów jak również ilością oferowanych funkcji przy tworzeniu aplikacji. Wersja Express dostępna jest nieodpłatnie dla końcowych użytkowników, umożliwia tworzenie podstawowych rozwiązań, nie umożliwia tworzenia aplikacji dla urządzeń mobilnych. Wersje Standard i Professional oferują dodatkowe funkcję tworzenia aplikacji dla urządzeń mobilnych jak również rozproszonych aplikacji bazodanowych oraz aplikacji internetowych. Wersja Team System zawiera wszystkie dostępne funkcje pakietu Visual Studio, a jej główną zaletą jest wsparcie dla tworzenia aplikacji przez wielu programistów dzięki wykorzystaniu mechanizmu repozytorium, kontroli kodu, testowania i zarządzania projektem.

Dostępne są również inne środowiska programistyczne umożliwiające tworzenie aplikacji na urządzenia mobilne, są to:

  • Microsoft eMbedded Visual Basic 3.0 – darmowe środowisko umożliwiające tworzenie aplikacji dla urządzeń mobilnych. Aplikacje kompilowane są do kodu natywnego, nie wymagają Microsoft Compact Framework’a. Od wersji 3.0 środowisko nie jest dalej wspierane przez firmę Microsoft,
  • Microsoft eMbedded Visual C++ 4.0 – darmowe środowisko umożliwiające tworzenie aplikacji dla urządzeń mobilnych. Podobnie jak w przypadku Microsoft eMbedded Visual Basic 3.0, aplikacje kompilowane są do doku natywnego. Wymagane jest doinstalowanie do środowiska SDK dla urządzeń Pocket PC 2003 lub Pocket PC 2005. Wszystkie niezbędne składniki dostępne są do pobrania ze strony internetowej http://www.microsoft.com

Microsoft Compact Framework

Microsoft Compact Framework stanowi pozbawioną części funkcjonalności wersję Microsoft Framework. Zawiera zestaw klas przeznaczonych do tworzenia aplikacji na urządzenia mobilne typu Pocket PC i Smartphone pracujących pod kontrolą systemu operacyjnego Windows Mobile.

OpenNETCF – Smart Device Framework

Smart Device Framework w znacznym stopniu wzbogaca oraz rozszerza podstawową funkcjonalność Microsoft Compact Framework. Zawiera bogaty zestaw dodatkowych klas, kontrolek oraz komponentów znacznie przyspieszających i ułatwiających tworzenie aplikacji mobilnych na urządzenia Pocket PC i Smartphone. Umożliwia znaczne wzbogacenie tworzonych aplikacji o wiele funkcjonalnych rozwiązań m.in. z zakresu komunikacji z innymi urządzeniami oraz kryptografii (więcej informacji pod adresem: http://www.opennetcf.org).

Tworzenie aplikacji mobilnej w środowisku Microsoft Visual Studio 2005

Po uruchomieniu środowiska Microsoft Visual Studio 2005 wyświetlone zostaje strona startowa umożliwiająca otwarcie ostatnio tworzonych projektów jak również rozpoczęcie nowego projektu (Rysunek 1).

Rysunek 1 – Widok głównego okna środowiska Microsoft Visual Studio 2005
Enlarge
Rysunek 1 – Widok głównego okna środowiska Microsoft Visual Studio 2005

W celu stworzenia nowego projektu z menu wybieramy File -> New -> Project (Rysunek 2).

Rysunek 2 – Tworzenie nowego projektu
Enlarge
Rysunek 2 – Tworzenie nowego projektu

Wyświetlone zostaje okno dialogowe (Rysunek 3).

Rysunek 3 – Wybór projektu
Enlarge
Rysunek 3 – Wybór projektu

Za pomocą wyświetlonego okna dialogowego możemy dokonać wyboru rodzaju projektu w zależności od rodzaju urządzenia dla którego aplikacja ma być przeznaczona. Wśród urządzeń mobilnych określanych mianem „Smart Devices” do wyboru mamy następujące urządzenia: PocketPC 2003, Smartphone 2003 oraz urządzenie pracujące pod kontrolą Windows CE 5.0.

Musimy również określić nazwę projektu w polu Name oraz ewentualnie zmienić domyślną lokalizację dla tworzonego projektu w polu Location.

Przyjmijmy, że interesuje nas stworzenie aplikacji przeznaczonej dla urządzenia Pocket PC. W tym celu z listy Project types wybieramy pozycję PocektPC 2003, a z listy Templates wybieramy opcję Device Aplication. Nazwą tworzonego projektu będzie MojaAplikacjaPocketPC, a miejscem jej przechowywania będzie folder Visual Studio 2005\Projects na dysku C.

Okienko dialogowe powinno wyglądać tak jak przedstawione poniżej (Rysunek 4).

Rysunek 4 – Okno dialogowe wyboru nowego projektu
Enlarge
Rysunek 4 – Okno dialogowe wyboru nowego projektu

Całość zatwierdzamy poprzez kliknięcie przycisku OK.

Wyświetlone zostaje okno umożliwiające tworzenie aplikacji dla urządzenia mobilnego (Rysunek 5).

Rysunek 5 – Główne okno tworzenia nowego projektu
Enlarge
Rysunek 5 – Główne okno tworzenia nowego projektu

W lewej części okna widzimy zakładkę Designer’a (Form1.cs[Design]), umożliwiającego nam graficzne komponowanie elementów tworzonej aplikacji. Z prawej strony okna widoczne są zakładki Solution Explorer, dzięki któremu możliwa jest szybka nawigacja pomiędzy elementami projektu oraz zakładka Properties, służąca do definiowania właściwości komponentów aplikacji. Umieszczenie komponentów na formie tworzonej aplikacji dokonujemy przy pomocy zakładki Toolbox widzianej z lewej części ekranu (Rysunek 6).

Rysunek 6 – Zakładka komponentów Toolbox
Enlarge
Rysunek 6 – Zakładka komponentów Toolbox

W tym celu z zakładki Toolbox wybieramy interesujący nas komponent, a następnie metodą przeciągnij i upuść (ang. Drag and Drop) umieszczamy go na formie aplikacji w okienku Form1.cs[Design]. Zachowanie aplikacji definiujemy w pliku Form1.cs dostępnego z poziomu okienka Solution Explorer. W tym celu klikamy prawym przyciskiem myszy na pliku Form1.cs i wybieramy z menu podręcznego opcję View Code. Wyświetlone zostaje okno (Rysunek 7).

Rysunek 7 – Okno kodu aplikacji
Enlarge
Rysunek 7 – Okno kodu aplikacji

Na etapie tworzenia aplikacji niezbędne jest zdefiniowanie rozdzielczości urządzenia dla którego tworzony jest program. Dokonujemy tego wybierając odpowiednią opcję właściwości Form Factor aplikacji (aktywna zakładka Form1.cs[Design]) znajdującą się na zakładce Properties. Do wyboru mamy m.in.:

  • PocketPC 2003 – urządzenie o rozdzielczości 240x320,
  • PocketPC 2003 VGA – urządzenie o rozdzielczości 480x640.

Uruchomienie stworzonej aplikacji możliwe jest w dwojaki sposób. Użytkownicy dysponujący własnym urządzeniem Pocket PC mogą uruchamiać tworzone przez siebie aplikacje po podłączeniu PockePC do komputera. Użytkownicy nie dysponujący takim urządzeniem mogą skorzystać z dostępnego w Microsoft Visual Studio 2005 emulatora. Wybór sposobu uruchomienia programu dokonywany jest z poziomu paska narzędzi Device lub poprzez menu Tools -> Options -> Device Tools -> Devices. Korzystając z podłączonego do komputera urządzenia Pocket PC wybieramy opcję PocketPC 2003 Device. Dodatkowe możliwości wyboru:

  • PocketPC 2003 SE Emulator – emulator Pocket PC o rozdzielczości ekranu 240x320,
  • PocketPC 2003 SE Square Emulator – emulator Pocket PC, w którym wysokość i szerokość ekranu są jednakowe, rozdzielczość ekranu: 240x240 pikseli,
  • PocketPC 2003 SE Square VGA Emulator – emulator o rozdzielczości ekranu 480x480,
  • PocketPC 2003 VGA Emulator – emulator o rozdzielczości ekranu 480x640.

Możliwe jest stosowanie innego rodzaju emulatorów, jednak wymaga to doinstalowania ich w systemie operacyjnym.

W naszym przypadku jako urządzenie docelowe wybieramy PocketPC 2003 SE Emulator. Uruchomienia aplikacji dokonujemy poprzez kliknięcie klawisza F5 bądź też wybór opcji menu Debug -> Start Debugging (również zielona strzałka paska narzędzi Standard). Uruchomione zostaje okno emulatora (Rysunek 8).

Rysunek 8 – Okno emulatora urządzenia Pocket PC
Enlarge
Rysunek 8 – Okno emulatora urządzenia Pocket PC

Zamknięcie uruchomionej aplikacji dokonujemy w jeden z kilku możliwych sposobów:

  • Menu Debug -> Stop Debugging,
  • Zamknięcie aplikacji na emulatorze.

Konfiguracji pracy emulatora wybranego urządzenia dokonać możemy wybierając z menu Tools -> Options, a następnie Device Tools -> Devices. Po wskazaniu konkretnego emulatora urządzenia wybieramy przycisk Properties. W wyświetlonym oknie dialogowym w opcji Emulator Options określić możemy takie parametry jak:

  • Parametry techniczne emulatora, m.in.: dostępną pamięć, wersję systemu operacyjnego, folder współdzielony,
  • Wygląd emulatora,
  • Mapowanie interfejsów sieciowych emulatora,
  • Mapowanie portów emulatora.

Aby możliwe było ustanowienie połączenia TCP/IP pomiędzy emulatorem a komputerem należy uprzednio zainstalować Virtual PC Network Driver dostępny pod adresem http://go.microsoft.com/fwlink/?linkid=46859 lub http://msdn.microsoft.com/mobility/windowsmobile/howto/windowsmobile5/install/default.aspx#virtpcnetdrvr

Następnie w zakładce Network ustawień emulatora należy określić powiązanie pomiędzy interfejsem sieciowym emulatora a interfejsem sieciowym komputera. W kolejnym kroku należy skonfigurować oba interfejsy (emulatora oraz komputera) przypisując im adresy IP należące do tej samej klasy adresów.

Konfiguracji adresu IP emulatora dokonujemy wybierając w emulatorze kolejno: menu Start -> Settings -> zakładka Connections -> Network Cards. Wybieramy odpowiedni interfejs sieciowy (zazwyczaj NE2000 Compatible Ethernet Driver) i w zakładce IP Address definiujemy adres IP.

Zadanie

Utworzyć pustą aplikację dla urządzenia SmartPhone i uruchomić wykorzystując odpowiedni emulator urządzenia.