TRNG I HC M TP.H CHÍ MINH
KHOA CÔNG NGH THÔNG TIN
xyxy
TÌM HIU VÀ LP TRÌNH
TRÊN H IU HÀNH WINDOWS
PHONE 7
BÁO CÁO ÁN NGÀNH
SVTH: Dng Thái Bo
MSSV: 0851010007
Ngành: Tin hc
Hng Chuyên Ngành: C s d liu
Lp: TH08B2
Ngi Hng Dn
GV.H Quang Khi
Tp. H Chí Minh –Tháng 2 nm 2012
Trang1
LI CM N
đ án đt kt qu tt đp, trc ht em xin gi ti toàn
th các thy cô Khoa Công Ngh Thông Tin li chúc sc
khe, li chào trân trng và li cm n sâu sc nht. Vi s
quan tâm, ch bo tn tình chu đáo ca thy cô, s giúp đ
nhit tình ca các bn, đn nay em đã hoàn thành đ án
môn hc.
có đc kt qu này em xin gi li cm n chân thành
nht ti thy – Ths. H Quang Khi đã tn thi gian quý
báu giúp đ em hoàn thành đ án này.
Vi điu kin thi gian có hn cng nh kinh nghim còn
hn ch ca em nên đ án s không tránh nhng thiu sót.
Em rt mong nhn đc s ch bo, đóng góp ý kin ca
thy đ em có điu kin b sung kin thc và rút ra kinh
nghim và hoàn thin hn.
Tp.HCM, tháng 2 ngày 2012
Dng Thái Bo
Trang2
NHN XÉT CA GIÁO VIÊN HNG DN
……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………
Trang3
MC LC
Chng 1: TNG QUAN 8
1.1. Gii thiu: 8
1.1.1. Th trng di đng: 8
1.1.2. Nhng khó khn khi lp trình trên di đng: 9
1.2. Tng quan v Windows Phone: 10
1.3. Mc đích làm đ tài: 12
Chng 2: C S LÝ THUYT 13
2.1. Kin trúc ca Windows Phone 7: 13
2.2. Lp trình trên Windows Phone 7: 14
2.2.1. Môi trng lp trình: 16
2.2.2. Cài đt: 17
2.2.3. Cu trúc Project trong Windows Phone 7: 22
2.3. Nhng kin thc liên quan: 24
2.3.1. XAML: 24
2.3.2. Managed Code: 24
2.3.3. Ngôn ng C#: 24
2.3.4. Siverlight trong Windows Phone 7: 25
2.3.5. Isolated Storage: 25
2.3.6. Mô hình MVVM: 27
2.3.7. LINQ và Local DataBase: 28
2.3.7.1. LINQ: 28
2.3.7.2. Local DataBase: 29
2.3.8. Các control trong WP7: 30
Trang4
2.3.8.1. Panaroma: 30
2.3.8.2. Pivot: 31
2.3.8.3. armChart: 32
2.3.8.4. Button: 32
2.3.8.5. Grid: 32
2.3.8.6. ListPicker : 33
2.3.8.7. WrapPanel: 33
2.3.8.8. Slider: 33
2.3.8.9. TextBlock: 33
2.3.8.10. TextBox: 34
2.3.8.11. StackPanel: 34
2.3.8.12. Tooltip: 34
2.3.8.13. ListPicker:
34
2.3.8.14. Application Bar: 34
Chng 3: THC HIN NG DNG 35
3.1. Ý tng thc hin: 35
3.2. Mô Hình C S D Liu: 35
3.2.1. Mô hình thc th: 35
3.2.2. Mô hình vt lý d liu: 36
3.3. Các chc nng ca ng dng: 38
3.3.1. Hin th danh sách tuyn xe bus: 38
3.3.2. Xem Thông Tin Mt Tuyn Xe Bus: 39
3.3.3. Xem trm thuc mt tuyn: 40
3.4. Quá trình thc hin: 40
Chng 4: KT LUN VÀ HNG PHÁT TRIN 43
4.1. Kt qu đt đc: 43
Trang5
4.2. u đim: 43
4.3. Khuyt đim: 43
4.4. Hng phát trin: 44
TÀI LIU THAM KHO 45
Trang6
DANH MC HÌNH NH
Hình 1.1 Các nn tng lp trình di đng 9
Hình 1.2 Giao din ca Windows Phone 7 11
Hình 2.1. Kin trúc ca WP7 13
Hình 2.2. Bn thành phn chính ca Windows Phone Application Pflatform 13
Hình 2.3. Windows Phone 7 Frameworks 15
Hình 2.4. Application Development Lifecycle 16
Hình 2.5 Ti Windows Phone Developer Tools 18
Hình 2.6: 1.Cài đt Visual Studio 19
Hình 2.7: 2.Cài đt Visual Studio 19
Hình 2.8: Cài Windows SDK 7.1 20
Hình 2.9: Giao din Visual Studio 2010 21
Hình 2.10: To ng dng Windows Phone. 22
Hình 2.11. Cu trúc ca mt project WP7 23
Hình 2.12. Kin trúc ca Isolated Storage 26
Hình 2.13. Các loi lu tr d liu trong Isolated Storage . 26
Hình 2.14. Các loi lu tr d liu trong Isolated Storage . 27
Hình 2.15.Kin trúc ca LINQ . 28
Hình 2.16: S đ tính nng ca LINQ trên 2 ngôn ng lp trình VB.NET và C# : 29
Hình 2.17 Mô hình Local Database trong Windows Phone 7 30
Hình 2.18 : Control Panorama. 31
Hình 2.19 : Control Pivot. 32
Hình 2.20 : Control WrapPanel 33
Trang7
Hình 2.21 : Control Slider. 33
Hình 3.1 : Mi kt hp Trm thuc tuyn. 35
Hình 3.2 : Mô hình vt lý d liu. 36
Hình 3.2 :Danh sách các tuyn xe buýt. 38
Hình 3.2 :Danh sách con đng tuyn xe buýt đi qua. 39
Trang8
Chng 1: TNG QUAN
1.1. Gii thiu:
1.1.1. Th trng di đng:
S lng thit b di đng ngày càng tng Vit Nam, nhiu ngi
đã coi đin thoi di đng nh mt vt không th thiu trong cuc sng
hng ngày. Cùng vi s phát trin mnh m ca công ngh thông tin
trong thi đi mi, ngi s dng di đng bt đu h
ng ti nhng yêu
cu cao cp hn. Không ch nghe-gi, nhn tin mà gi đây h còn
mun s hu mt chic đin thoi có kh nng truy cp mng và thc
hin mi ng dng nh mt chic máy tính b túi.
có th thc hin đc các tính nng cao cp nh đc báo, tiu
thuyt, tra t đin, bn đ và nht là th gii gii trí vi ca nhc, xem
phim, chi game … thì ngoài nn tng phn cng do nhà sn xut đin
thoi cung cp còn cn phi có các phn mm chuyên dng cài đt trên
di đng đ thc hin các chc nng trên.
Tuy nhiên, th trng di đng là mt th trng rt sôi đng vi đ
loi thit b di đng ca các nhà sn xut có kiu dáng, tính nng, tc
đ x lý, b nh trong, màn hình giao din… khác nhau. Và cng vì có
nhiu sn xut mà li không có mt chun công ngh (v mt phn
mm) nào đc áp dng chung cho tt c các máy đin thoi di đng
nên công vic lp trình cho đin thoi di đng đúng là mt bài toán khó
cho các lp trình viên.
Vic la chn mt nn tng phát trin cho đin thoi di đng cng
là m
t vn đ nan gii. Hin nay có th k tên các nn tng di đng ph
bin: iPhone, Window Mobile, Android, J2ME, Symbian. Nhìn vào
hình di đây có th thy đc phn nào s phong phú ca th trng
này.
Trang9
Hình 1.1 Các nn tng lp trình di đng
1.1.2. Nhng khó khn khi lp trình trên di đng:
So vi chic máy tính đ bàn hay laptop, ch vi b nh trong vài
GB, RAM cao nht là 256 MB, b nh ca chic đin thoi di đng qu
là quá nh. Hn na, mt phn b nh này li đã đc s dng đ chy
h điu hành, x lý đ ha… Do đó khi vit ng dng, lp trình viên
phi chú ý nhiu đn b nh. Có th nói rng lp trình cho di đng
ging nh vic đy các lp trình viên v vi thi k đu ca lp trình
cho máy tính cá nhân, phi tit kim tng KB b nh mt nu không
mun xy ra tình trng tràn b nh.
Ngi s dng ng dng trên di đng đòi hi tc đ phi nhanh,
ví nh m mt game, ngi ta không th ngi ch c chc phút đ
game load xong. Do đó, quá trình đóng, m ng dng phi din ra
nhanh chóng. Hn na, dù có thông minh đn my, nhiu chc nng
Trang10
đn my, chic đin thoi di đng cng phi là “chic đin thoi” trc
đã. Vy khi đang chy ng dng, bt thình lình có mt tin nhn hay mt
cuc gi đn thì sao? ng dng phi đc đóng tm thi mt cách
nhanh chóng, lu tr li trng thái trc khi đóng, cho ngi dùng nhn
tin nhn, cuc gi (nu ngi dùng la chn nhn), sau đó li cho phép
ngi dùng tr li ng dng vi trng thái trc đó.
Sc hp dn ca Internet là không th chi cãi. Ngi dùng mun
truy cp internet mi lúc mi ni, ngi lp trình thì mun to ra các
ng dng có kh nng khai thác ngun tài nguyên vô tn ca internet.
Tuy nhiên không phi thit b di đng nào cng có kh nng truy nhp
internet. Vì vy, cn phi hi
u v các dch v phn cng ca thit b đó
h tr.
Hn na, màn hình hin th ca các thit b di đng cng “trm
hoa đua n” vi kích thc, đ phân gii màn hình… không theo mt
chun nht đnh nên chc chc s không ra kt qu nh mong mun khi
cài đt cùng mt ng dng lên các thit b khác nhau mà không có s
sa đi hin th đu ra cho phù hp. Mt khác, các thit b di đng cng
tip nhn tng tác ca ngi dùng rt khác nhau: qua bàn phím, chut,
bút, cm ng… nên lp trình viên cng cn phi lu ý đn điu này.
1.2. Tng quan v Windows Phone:
WP7 chính thc đc phát hành vào ngày 21/10/2010 ti New
Zealand, Australia, Singapore ri Châu Âu. Tuy nhiên, nhng hình nh
đu tiên ca nó đã xut hin trc đó khá lâu, khi Microsoft gii thiu
WP7 ti MWC 2010 din ra vào tháng 2. n đu tháng 10/2010, HTC
chính thc gii thiu mt lot sn phm chy WP7 s ra mt nh HTC
Mozart, HTC Trophy, HTC HD7, HTC Surround và HTC 7 Pro. Sau
đó, nhiu hãng sn xut khác nh Samsung, LG và Dell cng ln lt
gii thiu các sn phm chy WP7 ca mình nh Omnia 7, Optimus 7
hay Dell Venue Pro.
Và ngày "lch s" cng đã đn, 20/10/2010, New Zealand là quc
gia đu tiên bán ra đin thoi WP7 vi sn phm HTC Trophy thông
qua nhà mng Vodafone. Ch sau 3 tháng, đã có hn 2 triu máy
đin
thoi WP7 đc xut xng. Sc hp dn ca WP7 đã khin cho Nokia
quyt đnh hp tác vi Microsoft. Thông tin v s kin này tràn ngp
các trang tin công ngh th gii. Nokia cho bit s bt đu xut xng
đin thoi chy WP7 ca hãng t nm 2012.
Trang11
Windows Phone (hay còn gi là Windows Phone 7 Series) là h
điu hành ca Microsolf dành cho smartphone k tc nn tng
Windows Mobile. Khác vi Windows Mobile, Windows Phone tp
trung vào s phát trin ca Marketplace – ni các nhà phát trin có th
cung cp sn phm (min phí hoc có phí) ti ngi dùng.
Hình 1.2 Giao din ca Windows Phone 7
Tên mã d án Windows Phone là “Photon”. Ban đu tên gi d
đnh s là Windows 7 Series, tuy nhiên ngày 22 tháng 4 nm 2010
Microsoft chính thc thông báo phiên bn đu tiên là Windows Phone 7
- tng xng vi h điu hành Windows 7 dành cho PC.
Phiên bn Windows Phone 7 đu tiên có tên mã là “ NoDo”, tip
đó là Windows Phone 7.1 Mango, đn nay đã phát trin lên phiên bn
Windows Phone 7.5 vi tên mã Mango tip đn s có phiên bn k tip
vi tên mã là Tango.
Microsolf vn s đ vic sn xut thit b phn cng li cho hãng
th
3, nhng khác vi Windows Mobile, WP7 đòi hi mt chính sách
phn cng ti thiu kht khe và nghiêm ngt hn rt nhiu. Mi chic
smartphone WP7 đu s phi đt yêu cu ti thiu nh sau:
Trang12
• Vi x lý: 1GHz Qualcomm Snapdragon
• GPU: Qualcomm Adreno 200
• RAM: 256MB
• B nh trong: 8GB Flash
• Màn hình cm ng: Cm ng đin dung h tr ít nht 4 đim
tip xúc cùng lúc
• Mng vin thông: GSM/GPRS/EDGE/UMTS/HSPA
• Kt ni Wireless: 802.11b/g (chun n nu có th), Bluetooth
2.1 + EDR, FM Radio
• Nút bm bt buc: Start, search, back, volume, power &
camera (half-press focus)
• Camera: 5MP, đèn flash riêng
• Cm bin: A-GPS, cm bin tim cn, gia tc, ánh sáng
• Cng kt ni: Micro-USB, 3.5mm TRS headphone jack
• Các la chn khác: bn phím cng, khe cm th nh SD
1.3. Mc đích làm đ tài:
Xây dng ng dng qun lý thông tin các tuyn xe buýt ti Tp.HCM trên h
điu hành Windows Phone 7.
Trang13
Chng 2: C S LÝ THUYT
2.1. Kin trúc ca Windows Phone 7:
Mô hình sau đây mô t chi tit v kin trúc ca Windows Phone 7.
Hình 2.1. Kin trúc ca WP7
Windows Phone Application Platform kin trúc đc to thành t bn thành
phn chính:
Hình 2.2. Bn thành phn chính ca Windows Phone Application Pflatform
Trang14
1. Runtimes – Siverlight và XNA frameworks cùng vi
tính nng ca Windows Phone kt hp đ to mt môi trng trong
vic xây dng các ng dng an toàn và phong phú.
2. Tools – Visual Studio, Expression Blend và các công
c và tài liu liên quan h tr cho vic to, g ri, trin khai và cp
nht các ng dng mt cách nhanh chóng.
3. Cloud Services – gm Windows Azure, Xbox LIVE
Services, Notifications services, and Location services, cùng vi mt
lot các ng dng web khác cho phép nhng nhà phát trin chia s
d liu qua clouds services. Ngi dùng có th d dàng truy cp và
s dng ng dng đó bt c đâu thông qua thit b mà h đang s
dng.
4. Portal Services – Windows Phone Marketplace cung
cp các dch v cho phép nhà phát trin đng ký, xác nhn và mua
bán ng dng ca h.
2.2. Lp trình trên Windows Phone 7:
Công c lp trình trên WP7:
• IDE: Visual Studio Express for Windows Phone.
• Công c thit k giao din: Express Blend for Windows
Phone.
• Frameworks: Silverlight for Windows Phone and XNA Game
Studio for Windows Phone.
• Và mt Windows Phone 7 emulator đ lp trình and debug
ng dng.
Nn tng ng dng Windows Phone cung cp 2 framworks cho vic phát trin
ng dng là : Silverlight và XNA.
Trang15
Hình 2.3. Windows Phone 7 Frameworks
• Silverlight : có ngun gc t công ngh Windows
Presentation Foundation (WPF). WPF s dng Extensible
Application Markup Language (XAML) đ đnh ngha giao
din và mã đ s dng các class .Net frameworks cho vic
thc hin các chc nng ca mt ng dng.
• XNA: Bao gm các phn mm dch v, tài nguyên, tài
nguyên và cng đng tp trung vào vic phát trin trò chi và
ng dng truyn thông đ phát trin thành công trên nn tng
game Microsolf. XNA cung cp cho các nhà phát trin kh
nng truy cp trc tip các tính nng ca thit b nh video và
h thng âm thanh.
Trang16
Phn này mô t làm th nào các nhà phát trin có th s dng ng dng nn
tng Windows Phone t đu đn cui ca chu k phát trin.
Hình 2.4. Application Development Lifecycle
2.2.1. Môi trng lp trình:
Microsoft đã chính thc cung cp b công c lp trình ng dng cho các nhà
phát trin phn mm di đng cng nh các lp trình viên th gii. B kit phát trin
phn mm dành cho Windows Phone 7 đc cung cp min phí trc tuyn, bao gm:
• Microsoft Visual Studio 2010 Express bao gm Windows Phone
SDK 7.1, cung cp công c min phí đ phát trin ng dng cho Windows
Phone s dng .NET, Silverlight và XNA.
• Mã ngun Silverlight, XNA Game Studio 4.0,
• Windows Phone 7 Series Emulator,
• B th vin Windows Phone 7 Series add-in (dùng kèm Visual
Studio 2010 RC).
Trang17
Tt c các công c đu h tr cm ng đa đim, cm bin chuyn đng, phn
cng tích hp chip đ ha, dch v Microsoft Location Service và Microsoft
Notification Service.
2.2.2. Cài đt:
Yêu cu cu hình cài đt :
• Windows 7 (x86 and x64), Windows® Vista® (x86 and x64) SP2.
• Yêu cu 4GB cng.
• 2 GB RAM (3GB di vi ai dùng Visual Studio đ lp trình)
• Windows Phone Emulator yêu cu card đ ha DirectX 10 vi trình điu
khin WDDM 1.1.
• Windows Phone SDK 7.1 có th tng thích vi phiên bn mi ca Visual
Studio 2010 SP1
Bn SDK bao gm:
• Microsoft Visual Studio 2010 Express for Windows Phone
• Windows Phone Emulator
• Windows Phone SDK 7.1 Assemblies
• Silverlight 4 SDK and DRT
• Windows Phone SDK 7.1 Extensions for XNA Game Studio 4.0
• Microsoft Expression Blend SDK for Windows Phone 7
• Microsoft Expression Blend SDK for Windows Phone OS 7.1
• WCF Data Services Client for Window Phone
• Microsoft Advertising SDK for Windows Phone
B công c cn thit
• B Windows SDK 7.1 download ti :
/>020CCD6C65C8/WPSDKV71_en1.iso
• Visual Studio 2010 Ultimate download ti:
Trang18
/>E28CDCA88ED5/X1642552VS2010UltimTrial1.iso
• Bn SP1 Visual Studio 2010 download ti :
/>EFB686E3CA20/VS2010SP1dvd1.iso
• B Windows Developer Tools download ti :
/>C4D98F0567AE/WPDT_v2_Beta_en1.iso
Hng dn cài đt :
Bc 1: Ti b cài Windows Phone 7 Development Kit (file vm_web.exe.zip
đính kèm) v máy và tin hành cài đt. File này ch có 3.3Mb nhng trong quá trình
cài đt nó s t đng ti v các thành phn cn thit (tng cng lên đn 292Mb). Máy
bn phi có kt ni internet.
Hình 2.5 Ti Windows Phone Developer Tools
Trang19
Tin hành download và cài đt Visual Studio 2010 Untimate và bn SP1 ca
nó.
Hình 2.6: 1.Cài đt Visual Studio
Hình 2.7: 2.Cài đt Visual Studio
Trang20
Tip tc cài đt cho đn khi hoàn tt và nâng cp lên bn SP1. Tip theo ta
tin hành cài đt b Windows SDK 7.1
Hình 2.8: Cài Windows SDK 7.1
Trang21
Tip tc cài đt cho khi hoàn thành. Sau khi cài đt xong chúng ta m Visual
Studio 2010 lên.
Hình 2.9: Giao din Visual Studio 2010
Bc 2: Sau khi cài đt thành công, bn s đc yêu cu phi khi đng li
máy.
Bc 3: Tip theo chy Microsoft Visual Studio 2010 (là phn mm va
đc cài vào).
Bc 4: Trong Microsoft Visual Studio 2010, click chn New Project và
nhn tip OK.
Chn New Project > Siverlight for Windows Phone
Trang22
Hình 2.10: To ng dng Windows Phone.
Bc 5: Ti đây bn đã cài đt thành công Windows Phone 7 Emulator trên
máy tính ca mình. Bây gi chúng ta đã có th tin hành lp trình ng dng Windows
Phone. Nhn F5 đ chy.
2.2.3. Cu trúc Project trong Windows Phone 7:
ứ App.xaml/App.xaml.cs: nh ngha đu vào ca ng dng,
khi to các resource mc ng dng và hin th giao din ng
dng.
ứ File App.xaml vi các XAML markup (Extensible
Application Markup Language gm mt root element là
Application và phn Application.Resources cha các
resources mc ng dng nh color, brushes, style object…
ứ MainPage.xaml\MainPage.xaml.cs: nh ngha trang giao
din khi đu ng dng.
ứ MainPage.xaml đnh ngha giao din chính ca ng dng.
Bn có th dùng designer ca Visual Studio đ thit k UI ca
ng dng ngay trc tip. Toàn b UI ca ng dng đc xây
dng bng cách s dng XAML – mt ngôn ng khai báo
ging kiu XML.
Trang23
ứ ApplicationIcon.png: nh icon ng dng trong application
list ca phone.
ứ Background.png: nh icon ng dng màn hình start.
ứ SplashScreenImage.jpg: nh đu tiên khi lauch ng dng.
ứ Properties\AppManifest.xml: File manifest dùng đ to ra
gói ng dng.
ứ Properties\AssemblyInfo.cs: Cha tên và thông tin phiên
bn đc nhúng vào trong file assembly khi complie.
ứ Properties\WMAppManifest.xml: File manifest cha các
thông tin riêng ca ng dng Windows Phone Silverlight.
Hình 2.11. Cu trúc ca mt project WP7
Trang24
2.3. Nhng kin thc liên quan:
2.3.1. XAML:
XAML là mt ngôn ng da trên XML, ngôn ng này cho phép bn có th
xây dng giao din ca các ng dng rt d dàng và nhanh chóng, bn ch cn khai
báo các thành phn có trên giao din ca ng dng cùng vi các thuc tính ca nó, khi
chy chng trình s hin th ging nh bn đã khai báo. iu này cho phép tách bch
đc gia vic thit k giao di
n và vic hin thc hóa các tính nng.
XAML có trong Silverlight là mt tp con ca XAML trên .NET 3.0, trong đó
đã b hn ch mt s tính nng nh đ ha 3D nhm gi tính tng thích trên nhiu
nn tng và trình duyt khác nhau.
Ví d: Khai báo TextBox: <TextBox>Ni dung text</TextBox>
2.3.2. Managed Code:
Windows Phone 7 h tr 2 ngôn ng là C# và VB.net. Vic thc thi ngôn ng
lp trình trong .Net bi Common Language Runtime(CLR). Mt trong nhng li ích
ca CLR là t đng cp phát và hy b nh. ng dng trên WP7 đc xây dng trên
.NET frameworks 3.7.
2.3.3. Ngôn ng C#:
C# là mt ngôn ng lp trình hng đi tng đc phát trin bi Microsoft,
là phn khi đu cho k hoch. Microsoft phát trin C# da trên C++ và Java, C# đc
miêu t là ngôn ng có đc s cân bng gia C++, Visual Basic, Delphi và Java. C#
đc thit k ch yu bi Anders Hejlsberg kin trúc s phn mm ni ting vi các
sn phm Turbo Pascal, Delphi, J++, WFC.
C#, theo mt hng nào đó, là ngôn ng lp trình phn ánh trc tip nht đn
.NET Framework mà tt c các chng trình .NET chy, và nó ph thuc mnh m
vào Framework này. Mi d liu c s đu là đi tng, đc cp phát và hy b bi
trình dn rác Garbage-Collector (GC), và nhiu kiu tru tng khác chng hn nh
class, delegate, interface, exception, v.v, phn ánh rõ ràng nhng đc trng ca .NET
runtime.