Transcript
Page 1: Seminarium - Tworzenie Aplikacji Mobilnych 2004

Tworzenie aplikacji mobilnych Tworzenie aplikacji mobilnych z wykorzystaniem VS.NETz wykorzystaniem VS.NET

Tomasz CieplakTomasz Cieplak

Page 2: Seminarium - Tworzenie Aplikacji Mobilnych 2004

PPrzydatanarzydatana wiedza wiedza

Umiejętność tworzenia aplikacji typu Umiejętność tworzenia aplikacji typu Windows Forms,Windows Forms,

Podstawowa wiedza o urządzeniach Podstawowa wiedza o urządzeniach mobilnych,mobilnych,

Znajomość podstaw C#.Znajomość podstaw C#.

Page 3: Seminarium - Tworzenie Aplikacji Mobilnych 2004

Czego oczekuję od tej sesji?Czego oczekuję od tej sesji?

Chciałbym wykorzystać kod napisany Chciałbym wykorzystać kod napisany dla aplikacji desktopowych w dla aplikacji desktopowych w aplikacjach dla urządzeń mobilnych,aplikacjach dla urządzeń mobilnych,

Chciałbym wykorzystać moją wiedzę Chciałbym wykorzystać moją wiedzę odnośnie budowy aplikacji odnośnie budowy aplikacji desktopowych w aplikacjach desktopowych w aplikacjach mobilnych,mobilnych,

Chciałbym szybko i wydajnie budować Chciałbym szybko i wydajnie budować aplikacje dla urządzeń takich jak aplikacje dla urządzeń takich jak telefon komórkowy lub PocketPC.telefon komórkowy lub PocketPC.

Page 4: Seminarium - Tworzenie Aplikacji Mobilnych 2004

AgendaAgenda

„„Smart Devices Extensions”, Smart Devices Extensions”, „ASP.NET Mobile Controls” oraz „ASP.NET Mobile Controls” oraz „Tablet PC SDK” w VS.NET„Tablet PC SDK” w VS.NET

Tworzenie aplikacji zorientowanych na Tworzenie aplikacji zorientowanych na dane dla PocketPC, urządzeń dane dla PocketPC, urządzeń mobilnych i Tablet PCmobilnych i Tablet PC

Tworzenie interfejsów użytkownika Tworzenie interfejsów użytkownika aplikacji działających na platformie aplikacji działających na platformie PocketPC oraz urządzeniach PocketPC oraz urządzeniach mobilnychmobilnych

Page 5: Seminarium - Tworzenie Aplikacji Mobilnych 2004

Część ICzęść I

Architektura aplikacjiArchitektura aplikacji

Page 6: Seminarium - Tworzenie Aplikacji Mobilnych 2004

Wzrastająca funkcjonalnośćWzrastająca funkcjonalność

Notebook PCNotebook PC

Windows CE+Windows CE+ Windows XPWindows XP

Tablet PCTablet PC

Pocket PC Pocket PC PhonePhone

SmartphoneSmartphone

Smart Smart Personal Personal ObjectsObjects

Ewolucja platformy mobilnejEwolucja platformy mobilnej

Page 7: Seminarium - Tworzenie Aplikacji Mobilnych 2004

Rodzaje aplikacji klienckichRodzaje aplikacji klienckich

Visual Studio .NETVisual Studio .NET

.NET Framework.NET Framework

Aplikacje typu

„gruby” klient

Serwerowe aplikacje sieciowe

Zdalne strony sieciowe

Mobilna przeglądarka internetowa

Mobilna przeglądarka internetowa

Kod lokalny

.NET CompactFramework

.NET CompactFramework

Kod lokalny

.NETFramework

.NETFramework

Page 8: Seminarium - Tworzenie Aplikacji Mobilnych 2004

ASP.NET Mobile ControlsASP.NET Mobile Controls

SOAP

XML Web Services

Common Language Runtime (CLR)

Base Framework

Data and XML

Web Services User InterfaceASP.NET, ASP.NET Mobile Controls

VB C++ C# Perl Python …

Visual Studio.NET

Windows

Mobile Web Pages

Mobile Web Browser

Device OS

Page 9: Seminarium - Tworzenie Aplikacji Mobilnych 2004

.NET Compact Framework.NET Compact Framework

System

System.Data System.Xml

System.Web

Globalization

Text

Security

Collections

Resources

Reflection

Net

IO

Threading

Diagnostics

ServiceProcess

Configuration

Design

ADO.NET

SqlServerCe

SqlClient

Xslt/XPath

XmlDocument

RuntimeInteropServices

Remoting

Serialization

Serialization

Configuration SessionState

Caching Security

ServicesDescription

Discovery

Protocols

UIHtmlControls

WebControls

System.Drawing

Imaging

Drawing2D

Text

Printing

System.WinForms

Design ComponentModel

Reader/Writers

Page 10: Seminarium - Tworzenie Aplikacji Mobilnych 2004

Tablet PCTablet PC

InkCollector InkCollector InkOverlayInkOverlay

InkInk

StrokesStrokes

RendererRenderer

TabletTablet

StrokeStroke

RecognizersRecognizers

RecognizerRecognizer

DrawingAttributesDrawingAttributes

RecognizerContextRecognizerContext.NE

T F

ram

ewo

rk.N

ET

Fra

mew

ork

Page 11: Seminarium - Tworzenie Aplikacji Mobilnych 2004

Część IICzęść II

Środowisko programistyczneŚrodowisko programistyczne

Page 12: Seminarium - Tworzenie Aplikacji Mobilnych 2004

NarzędziaNarzędzia

MS .NET FrameworkMS .NET Framework MS Visual Studio .NET 2003MS Visual Studio .NET 2003 Software Developer Kit:Software Developer Kit:

Pocket PC 2003 SDK,Pocket PC 2003 SDK, SmartPhone 2003 SDK,SmartPhone 2003 SDK, Tablet PC SDK.Tablet PC SDK.

EmulatoryEmulatory UrządzeniaUrządzenia

Page 13: Seminarium - Tworzenie Aplikacji Mobilnych 2004

Emulatory - dostępne z VS.NETEmulatory - dostępne z VS.NET

PDAPDA Pocket PC 2002,Pocket PC 2002, Windows CE .NET.Windows CE .NET.

Telefon komórkowy, pagerTelefon komórkowy, pager BrakBrak

Page 14: Seminarium - Tworzenie Aplikacji Mobilnych 2004

Emulatory – rozszerzenia VS.NETEmulatory – rozszerzenia VS.NET

PDA i MDA*PDA i MDA* Pocket PC 2003Pocket PC 2003 Pocket PC 2003 Phone EditionPocket PC 2003 Phone Edition

dostępny po zainstalowaniu Pocket PC 2003 SDKdostępny po zainstalowaniu Pocket PC 2003 SDK

Smartphone*Smartphone* Smartphone 2003Smartphone 2003

dostępny po zainstalowaniu SmartPhone 2003 dostępny po zainstalowaniu SmartPhone 2003 SDKSDK

*Dostępne na stronie: http://msdn.microsoft.com*Dostępne na stronie: http://msdn.microsoft.com

Page 15: Seminarium - Tworzenie Aplikacji Mobilnych 2004

Emulatory – rozszerzenia VS.NETEmulatory – rozszerzenia VS.NET

Telefony komórkoweTelefony komórkowe Openwave SDK – najnowsza wersja 6.22 – Openwave SDK – najnowsza wersja 6.22 –

dostępne narzędzie do integracji emulatora ze dostępne narzędzie do integracji emulatora ze środowiskiem VS.NET (OpwvSimVSSetup.msi) - środowiskiem VS.NET (OpwvSimVSSetup.msi) - www.openwave.com

Microsoft Mobile Explorer 3.0 – Microsoft Mobile Explorer 3.0 – http://msdn.microsoft.comhttp://msdn.microsoft.com

Nokia Mobile Internet Toolkit 4.0* – emulator Nokia Mobile Internet Toolkit 4.0* – emulator telefonu + Nokia WAP Gateway Simulator – telefonu + Nokia WAP Gateway Simulator – http://www.forum.nokia.comhttp://www.forum.nokia.com

Sony Ericsson – WAP Emulator* - wymagany do Sony Ericsson – WAP Emulator* - wymagany do poprawnego działania WAP Gateway – poprawnego działania WAP Gateway – http://www.sonyericsson.com/developer/

* * Wymagany JAVA Runtime Environment (JRE)Wymagany JAVA Runtime Environment (JRE)

Page 16: Seminarium - Tworzenie Aplikacji Mobilnych 2004

Urządzenia typu Pocket PCUrządzenia typu Pocket PC

H5150 H1940 H4350 H4150 H2210

Intel® 400MHz

SamsungS3C2410266 MHz

Intel® 400MHz

Intel® 400MHz

Intel® 400MHz

64 MBSDRAM,

64 MBSDRAM

64 MBSDRAM

64 MB SDRAM 64 MB SDRAM

Bluetooth®, WLAN 802.11b,Bluetooth®,IrDA

WLAN 802.11b,Bluetooth®, IrDA

Bluetooth®

TFT LCD, 64K, 16-bit, 240x320

TFT LCD, 64K,16-bit, 240x320

TFT LCD, 64K,16-bit, 240x320

TFT LCD, 64K,16bit, 240 x 320

TFT LCD, 64K,16-bit, 240 x 320

Page 17: Seminarium - Tworzenie Aplikacji Mobilnych 2004

Urządzenia typu SmartPhoneUrządzenia typu SmartPhone

Neonode N1Neonode N1 GSM 900 / GSM 1800 / GSM 900 / GSM 1800 /

GSM 1900GSM 1900 TFT, 65k kolorówTFT, 65k kolorów 16 MB wew. pamięci16 MB wew. pamięci Microsoft SmartPhone Microsoft SmartPhone

20032003

Motorola V700Motorola V700 GSM 900 / GSM 1800 / GSM 900 / GSM 1800 /

GSM 1900GSM 1900 TFT, 65k TFT, 65k kolorówkolorów 10 MB 10 MB wew. pamięciwew. pamięci Microsoft SmartPhone Microsoft SmartPhone

20022002

Page 18: Seminarium - Tworzenie Aplikacji Mobilnych 2004

Wsparcie dla nowych urządzeń Wsparcie dla nowych urządzeń klienckichklienckich

http://www.asp.net/mobile/http://www.asp.net/mobile/deviceupdate.aspx?tabindex=6deviceupdate.aspx?tabindex=6

Page 19: Seminarium - Tworzenie Aplikacji Mobilnych 2004

Część IIICzęść III

Tworzenie aplikacjiTworzenie aplikacji

Page 20: Seminarium - Tworzenie Aplikacji Mobilnych 2004

Smart Devices ExtensionSmart Devices ExtensionPodgrupa kontrolek typu „Desktop”Podgrupa kontrolek typu „Desktop”Wprowadzanie danychWprowadzanie danych Check BoxCheck Box Combo BoxCombo Box Command ButtonCommand Button Domain Up/DownDomain Up/Down List BoxList Box Numeric Up/DownNumeric Up/Down Radio ButtonRadio Button Text BoxText Box Track BarTrack Bar DataGridDataGrid

WyświetlanieWyświetlanie LabelLabel Picture BoxPicture Box Progress BarProgress Bar Status BarStatus Bar

OrganizująceOrganizujące List ViewList View PanelPanel Tab ControlTab Control

InneInne Context MenuContext Menu Scroll BarsScroll Bars Image ListImage List Main MenuMain Menu Open & Save Open & Save

File DialogsFile Dialogs TimerTimer Tool BarTool Bar

Page 21: Seminarium - Tworzenie Aplikacji Mobilnych 2004

ASP.NET Mobile ControlsASP.NET Mobile ControlsPodgrupa kontrolek typu „Desktop”Podgrupa kontrolek typu „Desktop”

Wprowadzanie danychWprowadzanie danych Command ButtonCommand Button Text BoxText Box Selection ListSelection List ObjectListObjectList

WyświetlanieWyświetlanie LabelLabel Picture BoxPicture Box Progress BarProgress Bar Status BarStatus Bar TextViewTextView ImageImage AdRotatorAdRotator

OrganizująceOrganizujące FormForm ListList PanelPanel StyleSheetStyleSheet LinkLink PhoneCallPhoneCall

InneInne CustomValidatorCustomValidator CompareValidatorCompareValidator RangeValidatorRangeValidator RegularExpressionVaRegularExpressionVa

lidatorlidator RequiedFildValidatorRequiedFildValidator ValidationSummaryValidationSummary DeviceSpecificDeviceSpecific

Page 22: Seminarium - Tworzenie Aplikacji Mobilnych 2004

Porównanie ASP.NET Mobile Porównanie ASP.NET Mobile Controls oraz SDEControls oraz SDE ASP.NET Mobile ASP.NET Mobile

ControlsControls ZaletyZalety

Wspiera szeroki Wspiera szeroki zakres urządzeńzakres urządzeń

Dostęp przez Dostęp przez przeglądarkęprzeglądarkę

Uwzględnia różnice Uwzględnia różnice sprzętowesprzętowe

WadyWady Praca tylko w trybie Praca tylko w trybie

„online”„online” Nie wykorzystuje Nie wykorzystuje

mocy lokalnego mocy lokalnego procesoraprocesora

Ubogi interfejs Ubogi interfejs użytkownikaużytkownika

SDESDE ZaletyZalety

Praca w trybie Praca w trybie „online” i „offline”„online” i „offline”

Wykorzystuje Wykorzystuje wszystkie zalety Poket wszystkie zalety Poket PCPC

Doskonała integracja z Doskonała integracja z SQL Server CESQL Server CE

Wykorzystanie Wykorzystanie lokalnej mocy lokalnej mocy procesora, interfejsu i procesora, interfejsu i multimediówmultimediów

WadyWady Ograniczona ilość Ograniczona ilość

obsługiwanych obsługiwanych urządzeńurządzeń

Page 23: Seminarium - Tworzenie Aplikacji Mobilnych 2004

Wykorzystanie zewnętrznych Wykorzystanie zewnętrznych źródeł danych w aplikacjach – źródeł danych w aplikacjach – urządzenia Smart Devicesurządzenia Smart Devices

Page 24: Seminarium - Tworzenie Aplikacji Mobilnych 2004

Dostępne źródła danychDostępne źródła danych

Źródła danych dostępne w .NET CFŹródła danych dostępne w .NET CF System.Data.SqlClientSystem.Data.SqlClient System.Data.SqlServerCeSystem.Data.SqlServerCe

Inne źródła danychInne źródła danych Tworzone przez programistę tłumaczenia Tworzone przez programistę tłumaczenia

zdalnych struktur do DataSetzdalnych struktur do DataSet

Page 25: Seminarium - Tworzenie Aplikacji Mobilnych 2004

Bezpośredni dostęp do bazy danychBezpośredni dostęp do bazy danych

SQL ServerSQL Server

Windows Windows ServerServer

ADO.NETADO.NET

Data ProviderData Provider.NET Compact .NET Compact

FrameworkFramework

ADO.NETADO.NET

WindowsWindowsFormsForms

PrzeciwPrzeciw Połączenie musi być stałePołączenie musi być stałe Bez skalowania na Bez skalowania na

serwerzeserwerze; ; klasyczne klasyczne podejście dwu-warstwowepodejście dwu-warstwowe

Bez modelu Bez modelu synchronizacji dla synchronizacji dla typowych danych typowych danych dynamicznychdynamicznych

ZaZa Zapytania do dużych Zapytania do dużych

źródeł danychźródeł danych Dostęp do całego Dostęp do całego

żródła danychżródła danych

Page 26: Seminarium - Tworzenie Aplikacji Mobilnych 2004

SQL Server CE i replikacjaSQL Server CE i replikacja

SQL CESQL CE

Replication Replication (HTTP)(HTTP).NET Compact .NET Compact

FrameworkFramework

SQL CESQL CE

ADO.NETADO.NET

WindowsWindowsFormsForms

SQL ServerSQL Server

Windows Windows ServerServer

PrzeciwPrzeciw Wymagana konfiguracja Wymagana konfiguracja

serweraserwera Skutki działania Skutki działania

serwera SQL CE na serwera SQL CE na urządzeniuurządzeniu

ZaZa Szybkie lokalne Szybkie lokalne

składowanie danychskładowanie danych Skomplikowane zapytania Skomplikowane zapytania

SQLSQL Dwa rodzaje Dwa rodzaje

synchronizacjisynchronizacji Wykorzystuje HTTPWykorzystuje HTTP

Page 27: Seminarium - Tworzenie Aplikacji Mobilnych 2004

Część IVCzęść IV

Działanie aplikacjiDziałanie aplikacji

Page 28: Seminarium - Tworzenie Aplikacji Mobilnych 2004

ASP.NET Mobile Controls – ASP.NET Mobile Controls – jak to działa?jak to działa?1. 1. Zapytanie Zapytanie HTTPHTTP

2. 2. Przetwarzanie Przetwarzanie ASP.NET ASP.NET

3.3.RezultatRezultat ASP.NETASP.NET

4. 4. OdpowiedźOdpowiedź

Zwracany jako Zwracany jako odpowiedni protokół odpowiedni protokół przeglądarkiprzeglądarki• HTMLHTML• cHTMLcHTML• WMLWML• XHTMLXHTML

Tworzenie stronyTworzenie strony ASPX ASPX• Przetwarzanie stronyPrzetwarzanie strony• Każda kontrolka tworzy Każda kontrolka tworzy swój wyglądswój wygląd

Badanie możliwości Badanie możliwości urządzeniaurządzenia• Ekran (W, Sz)Ekran (W, Sz)• Kolor (Ilość)Kolor (Ilość)• Bitmapy (T/N)Bitmapy (T/N)• Funkcja Telefon (T/N)Funkcja Telefon (T/N)

Page 29: Seminarium - Tworzenie Aplikacji Mobilnych 2004

Część VCzęść V

Często spotykane problemyCzęsto spotykane problemy

Page 30: Seminarium - Tworzenie Aplikacji Mobilnych 2004

Często spotykane problemyCzęsto spotykane problemy

Testowanie Testowanie Aplikacja nie uruchamia się w emulatorzeAplikacja nie uruchamia się w emulatorze

Internetowe Usługi XMLInternetowe Usługi XML Emulator - brak połączenia aplikacji Emulator - brak połączenia aplikacji

z usługą XML z usługą XML

Page 31: Seminarium - Tworzenie Aplikacji Mobilnych 2004

Aplikacja nie uruchamia się Aplikacja nie uruchamia się w emulatorzew emulatorze

Page 32: Seminarium - Tworzenie Aplikacji Mobilnych 2004

Emulator - brak połączenia Emulator - brak połączenia aplikacji z usługą XML aplikacji z usługą XML Stacja roboczaStacja robocza

Zainstaluj kartę sieciową Zainstaluj kartę sieciową Microsoft LoopbackMicrosoft LoopbackUstaw Adres IPUstaw Adres IP

EmulatorEmulator

Wejdź do ustawień Wejdź do ustawień połączeńpołączeń

Z zaawansowanychZ zaawansowanychwybierz Karty Sieciowewybierz Karty Sieciowe

Dla karty DC21X4 ustawDla karty DC21X4 ustawadres IP z tej samej sieciadres IP z tej samej siecijak dla karty Loopbackjak dla karty Loopback

Page 33: Seminarium - Tworzenie Aplikacji Mobilnych 2004

Emulator - brak połączenia Emulator - brak połączenia aplikacji z usługą XMLaplikacji z usługą XMLWeb ReferencesWeb References


Recommended