Upload
tomasz-cieplak
View
1.416
Download
0
Embed Size (px)
Citation preview
Tworzenie aplikacji mobilnych Tworzenie aplikacji mobilnych z wykorzystaniem VS.NETz wykorzystaniem VS.NET
Tomasz CieplakTomasz Cieplak
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#.
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.
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
Część ICzęść I
Architektura aplikacjiArchitektura aplikacji
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
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
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
.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
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
Część IICzęść II
Środowisko programistyczneŚrodowisko programistyczne
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
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
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
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)
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
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
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
Część IIICzęść III
Tworzenie aplikacjiTworzenie aplikacji
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
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
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ń
Wykorzystanie zewnętrznych Wykorzystanie zewnętrznych źródeł danych w aplikacjach – źródeł danych w aplikacjach – urządzenia Smart Devicesurządzenia Smart Devices
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
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
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
Część IVCzęść IV
Działanie aplikacjiDziałanie aplikacji
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)
Część VCzęść V
Często spotykane problemyCzęsto spotykane problemy
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
Aplikacja nie uruchamia się Aplikacja nie uruchamia się w emulatorzew emulatorze
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
Emulator - brak połączenia Emulator - brak połączenia aplikacji z usługą XMLaplikacji z usługą XMLWeb ReferencesWeb References