TRƯỜNG ĐẠI HỌC MỞ TP.HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN
YZYZ
TÌM HIỂU VÀ LẬP TRÌNH
TRÊN HỆ ĐIỀU HÀNH WINDOWS
PHONE 7
BÁO CÁO ĐỒ ÁN NGÀNH
SVTH: Dương Thái Bảo
MSSV: 0851010007
Ngành: Tin học
Hướng Chuyên Ngành: Cơ sở dữ liệu
Lớp: TH08B2
Người Hướng Dẫn
GV.Hồ Quang Khải
Tp. Hồ Chí Minh –Tháng 2 năm 2012
LỜI CẢM ƠN
Để đồ án đạt kết quả tốt đẹp, trước hết em xin gửi tới toàn
thể các thầy cô Khoa Công Nghệ Thông Tin lời chúc sức
khỏe, lời chào trân trọng và lời cảm ơn sâu sắc nhất. Với sự
quan tâm, chỉ bảo tận tình chu đáo của thầy cô, sự giúp đỡ
nhiệt tình của các bạn, đến nay em đã hoàn thành đồ án
môn học.
Để có được kết quả này em xin gửi lời cảm ơn chân thành
nhất tới thầy – Ths. Hồ Quang Khải đã tốn thời gian quý
báu giúp đỡ em hoàn thành đồ án này.
Với điều kiện thời gian có hạn cũng như kinh nghiệm còn
hạn chế của em nên đồ án sẽ không tránh những thiếu sót.
Em rất mong nhận được sự chỉ bảo, đóng góp ý kiến của
thầy để em có điều kiện bổ sung kiến thức và rút ra kinh
nghiệm và hoàn thiện hơn.
Tp.HCM, tháng 2 ngày 2012
Dương Thái Bảo
Trang 1
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………
Trang 2
MỤC LỤC
Chương 1:
TỔNG QUAN .......................................................................................... 8
1.1. Giới thiệu: ..........................................................................................................8
1.1.1. Thị trường di động: .....................................................................................8
1.1.2. Những khó khăn khi lập trình trên di động:................................................9
1.2. Tổng quan về Windows Phone:........................................................................10
1.3. Mục đích làm đề tài: ........................................................................................12
Chương 2:
CƠ SỞ LÝ THUYẾT ............................................................................. 13
2.1. Kiến trúc của Windows Phone 7:.....................................................................13
2.2. Lập trình trên Windows Phone 7: ....................................................................14
2.2.1. Môi trường lập trình: ................................................................................16
2.2.2. Cài đặt:......................................................................................................17
2.2.3. Cấu trúc Project trong Windows Phone 7: ...............................................22
2.3. Những kiến thức 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
Trang 3
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
Chương 3:
THỰC HIỆN ỨNG DỤNG .................................................................. 35
3.1. Ý tưởng thực hiện:............................................................................................35
3.2. Mô Hình Cơ Sở Dữ Liệu: .................................................................................35
3.2.1. Mô hình thực thể: ......................................................................................35
3.2.2. Mô hình vật lý dữ liệu: ..............................................................................36
3.3. Các chức năng của ứng dụng: .........................................................................38
3.3.1. Hiển thị danh sách tuyến xe bus: ..............................................................38
3.3.2. Xem Thông Tin Một Tuyến Xe Bus: ..........................................................39
3.3.3. Xem trạm thuộc một tuyến: .......................................................................40
3.4. Quá trình thực hiện:.........................................................................................40
Chương 4:
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ............................................ 43
4.1. Kết quả đạt được: ............................................................................................43
Trang 4
4.2. Ưu điểm:...........................................................................................................43
4.3. Khuyết điểm: ....................................................................................................43
4.4. Hướng phát triển: ............................................................................................44
TÀI LIỆU THAM KHẢO ............................................................................................. 45
Trang 5
DANH MỤC HÌNH ẢNH
Hình 1.1 Các nền tảng lập trình di động ..........................................................................9
Hình 1.2 Giao diện của Windows Phone 7 ...................................................................11
Hình 2.1. Kiến trúc của WP7.........................................................................................13
Hình 2.2. Bốn thành phần chính của 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 Tải 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 diện Visual Studio 2010 .......................................................................21
Hình 2.10: Tạo ứng dụng Windows Phone. ..................................................................22
Hình 2.11. Cấu trúc của một project WP7 ....................................................................23
Hình 2.12. Kiến trúc của Isolated Storage.....................................................................26
Hình 2.13. Các loại lưu trữ dữ liệu trong Isolated Storage . .........................................26
Hình 2.14. Các loại lưu trữ dữ liệu trong Isolated Storage . .........................................27
Hình 2.15.Kiến trúc của LINQ . ....................................................................................28
Hình 2.16: Sơ đồ tính năng của LINQ trên 2 ngôn ngữ lập 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
Trang 6
Hình 2.21 : Control Slider. ............................................................................................33
Hình 3.1 : Mối kết hợp Trạm thuộc tuyến. ....................................................................35
Hình 3.2 : Mô hình vật lý dữ liệu. .................................................................................36
Hình 3.2 :Danh sách các tuyến xe buýt. ........................................................................38
Hình 3.2 :Danh sách con đường tuyến xe buýt đi qua. .................................................39
Trang 7
Chương 1:
TỔNG QUAN
1.1. Giới thiệu:
1.1.1. Thị trường di động:
Số lượng thiết bị di động ngày càng tăng ở Việt Nam, nhiều người
đã coi điện thoại di động như một vật không thể thiếu trong cuộc sống
hằng ngày. Cùng với sự phát triển mạnh mẽ của công nghệ thông tin
trong thời đại mới, người sử dụng di động bắt đầu hướng tới những yêu
cầu cao cấp hơn. Không chỉ nghe-gọi, nhắn tin mà giờ đây họ còn
muốn sở hữu một chiếc điện thoại có khả năng truy cập mạng và thực
hiện mọi ứng dụng như một chiếc máy tính bỏ túi.
Để có thể thực hiện được các tính năng cao cấp như đọc báo, tiểu
thuyết, tra từ điển, bản đồ và nhất là thế giới giải trí với ca nhạc, xem
phim, chơi game … thì ngoài nền tảng phần cứng do nhà sản xuất điện
thoại cung cấp còn cần phải có các phần mềm chuyên dụng cài đặt trên
di động để thực hiện các chức năng trên.
Tuy nhiên, thị trường di động là một thị trường rất sôi động với đủ
loại thiết bị di động của các nhà sản xuất có kiểu dáng, tính năng, tốc
độ xử lý, bộ nhớ trong, màn hình giao diện… khác nhau. Và cũng vì có
nhiều sản xuất mà lại không có một chuẩn công nghệ (về mặt phần
mềm) nào được áp dụng chung cho tất cả các máy điện thoại di động
nên công việc lập trình cho điện thoại di động đúng là một bài toán khó
cho các lập trình viên.
Việc lựa chọn một nền tảng phát triển cho điện thoại di động cũng
là một vấn đề nan giải. Hiện nay có thể kể tên các nền tảng di động phổ
biến: iPhone, Window Mobile, Android, J2ME, Symbian. Nhìn vào
hình dưới đây có thể thấy được phần nào sự phong phú của thị trường
này.
Trang 8
Hình 1.1 Các nền tảng lập trình di động
1.1.2. Những khó khăn khi lập trình trên di động:
So với chiếc máy tính để bàn hay laptop, chỉ với bộ nhớ trong vài
GB, RAM cao nhất là 256 MB, bộ nhớ của chiếc điện thoại di động quả
là quá nhỏ. Hơn nữa, một phần bộ nhớ này lại đã được sử dụng để chạy
hệ điều hành, xử lý đồ họa… Do đó khi viết ứng dụng, lập trình viên
phải chú ý nhiều đến bộ nhớ. Có thể nói rằng lập trình cho di động
giống như việc đẩy các lập trình viên về với thời kỳ đầu của lập trình
cho máy tính cá nhân, phải tiết kiệm từng KB bộ nhớ một nếu không
muốn xảy ra tình trạng tràn bộ nhớ.
Người sử dụng ứng dụng trên di động đòi hỏi tốc độ phải nhanh,
ví như mở một game, người ta không thể ngồi chờ cả chục phút để
game load xong. Do đó, quá trình đóng, mở ứng dụng phải diễn ra
nhanh chóng. Hơn nữa, dù có thông minh đến mấy, nhiều chức năng
Trang 9
đến mấy, chiếc điện thoại di động cũng phải là “chiếc điện thoại” trước
đã. Vậy khi đang chạy ứng dụng, bất thình lình có một tin nhắn hay một
cuộc gọi đến thì sao? Ứng dụng phải được đóng tạm thời một cách
nhanh chóng, lưu trữ lại trạng thái trước khi đóng, cho người dùng nhận
tin nhắn, cuộc gọi (nếu người dùng lựa chọn nhận), sau đó lại cho phép
người dùng trở lại ứng dụng với trạng thái trước đó.
Sức hấp dẫn của Internet là không thể chối cãi. Người dùng muốn
truy cập internet mọi lúc mọi nơi, người lập trình thì muốn tạo ra các
ứng dụng có khả năng khai thác nguồn tài nguyên vô tận của internet.
Tuy nhiên không phải thiết bị di động nào cũng có khả năng truy nhập
internet. Vì vậy, cần phải hiểu về các dịch vụ phần cứng của thiết bị đó
hỗ trợ.
Hơn nữa, màn hình hiển thị của các thiết bị di động cũng “trăm
hoa đua nở” với kích thước, độ phân giải màn hình… không theo một
chuẩn nhất định nên chắc chắc sẽ không ra kết quả như mong muốn khi
cài đặt cùng một ứng dụng lên các thiết bị khác nhau mà không có sự
sửa đổi hiển thị đầu ra cho phù hợp. Mặt khác, các thiết bị di động cũng
tiếp nhận tương tác của người dùng rất khác nhau: qua bàn phím, chuột,
bút, cảm ứng… nên lập trình viên cũng cần phải lưu ý đến điều này.
1.2. Tổng quan về Windows Phone:
WP7 chính thức được phát hành vào ngày 21/10/2010 tại New
Zealand, Australia, Singapore rồi Châu Âu. Tuy nhiên, những hình ảnh
đầu tiên của nó đã xuất hiện trước đó khá lâu, khi Microsoft giới thiệu
WP7 tại MWC 2010 diễn ra vào tháng 2. Đến đầu tháng 10/2010, HTC
chính thức giới thiệu một loạt sản phẩm chạy WP7 sẽ ra mắt như HTC
Mozart, HTC Trophy, HTC HD7, HTC Surround và HTC 7 Pro. Sau
đó, nhiều hãng sản xuất khác như Samsung, LG và Dell cũng lần lượt
giới thiệu các sản phẩm chạy WP7 của mình như Omnia 7, Optimus 7
hay Dell Venue Pro.
Và ngày "lịch sử" cũng đã đến, 20/10/2010, New Zealand là quốc
gia đầu tiên bán ra điện thoại WP7 với sản phẩm HTC Trophy thông
qua nhà mạng Vodafone. Chỉ sau 3 tháng, đã có hơn 2 triệu máy điện
thoại WP7 được xuất xưởng. Sức hấp dẫn của WP7 đã khiến cho Nokia
quyết định hợp tác với Microsoft. Thông tin về sự kiện này tràn ngập
các trang tin công nghệ thế giới. Nokia cho biết sẽ bắt đầu xuất xưởng
điện thoại chạy WP7 của hãng từ năm 2012.
Trang 10
Windows Phone (hay còn gọi là Windows Phone 7 Series) là hệ
điều hành của Microsolf dành cho smartphone kế tục nền tảng
Windows Mobile. Khác với Windows Mobile, Windows Phone tập
trung vào sự phát triển của Marketplace – nơi các nhà phát triển có thể
cung cấp sản phẩm (miễn phí hoặc có phí) tới người dùng.
Hình 1.2 Giao diện của Windows Phone 7
Tên mã dự án Windows Phone là “Photon”. Ban đầu tên gọi dự
định sẽ là Windows 7 Series, tuy nhiên ngày 22 tháng 4 năm 2010
Microsoft chính thức thông báo phiên bản đầu tiên là Windows Phone 7
- tương xứng với hệ điều hành Windows 7 dành cho PC.
Phiên bản Windows Phone 7 đầu tiên có tên mã là “ NoDo”, tiếp
đó là Windows Phone 7.1 Mango, đến nay đã phát triển lên phiên bản
Windows Phone 7.5 với tên mã Mango tiếp đến sẽ có phiên bản kế tiếp
với tên mã là Tango.
Microsolf vẫn sẽ để việc sản xuất thiết bị phần cứng lại cho hãng
thứ 3, nhưng khác với Windows Mobile, WP7 đòi hỏi một chính sách
phần cứng tối thiểu khắt khe và nghiêm ngặt hơn rất nhiều. Mỗi chiếc
smartphone WP7 đều sẽ phải đạt yêu cầu tối thiểu như sau:
Trang 11
Vi xử lý: 1GHz Qualcomm Snapdragon
GPU: Qualcomm Adreno 200
•
RAM: 256MB
•
Bộ nhớ trong: 8GB Flash
•
Màn hình cảm ứng: Cảm ứng điện dung hỗ trợ ít nhất 4 điểm
tiếp xúc cùng lúc
•
Mạng viễn thông: GSM/GPRS/EDGE/UMTS/HSPA
•
Kết nối Wireless: 802.11b/g (chuẩn n nếu có thể), Bluetooth
2.1 + EDR, FM Radio
•
Nút bấm bắt buộc: Start, search, back, volume, power &
camera (half-press focus)
•
Camera: 5MP, đèn flash riêng
•
Cảm biến: A-GPS, cảm biến tiệm cận, gia tốc, ánh sáng
•
Cổng kết nối: Micro-USB, 3.5mm TRS headphone jack
•
Các lựa chọn khác: bản phím cứng, khe cắm thẻ nhớ SD
•
•
1.3. Mục đích làm đề tài:
Xây dựng ứng dụng quản lý thông tin các tuyến xe buýt tại Tp.HCM trên hệ
điều hành Windows Phone 7.
Trang 12
Chương 2:
CƠ SỞ LÝ THUYẾT
2.1. Kiến trúc của Windows Phone 7:
Mô hình sau đây mô tả chi tiết về kiến trúc của Windows Phone 7.
Hình 2.1. Kiến trúc của WP7
Windows Phone Application Platform kiến trúc được tạo thành từ bốn thành
phần chính:
Hình 2.2. Bốn thành phần chính của Windows Phone Application Pflatform
Trang 13
1.
Runtimes – Siverlight và XNA frameworks cùng với
tính năng của Windows Phone kết hợp để tạo một môi trường trong
việc xây dựng các ứng dụng an toàn và phong phú.
2.
Tools – Visual Studio, Expression Blend và các công
cụ và tài liệu liên quan hỗ trợ cho việc tạo, gỡ rối, triển khai và cập
nhật các ứng dụng một cách nhanh chóng.
3.
Cloud Services – gồm Windows Azure, Xbox LIVE
Services, Notifications services, and Location services, cùng với một
loạt các ứng dụng web khác cho phép những nhà phát triển chia sẻ
dữ liệu qua clouds services. Người dùng có thể dễ dàng truy cập và
sử dụng ứng dụng đó bất cứ đâu thông qua thiết bị mà họ đang sử
dụng.
4.
Portal Services – Windows Phone Marketplace cung
cấp các dịch vụ cho phép nhà phát triển đăng ký, xác nhận và mua
bán ứng dụng của họ.
2.2. Lập trình trên Windows Phone 7:
Công cụ lập trình trên WP7:
•
IDE: Visual Studio Express for Windows Phone.
•
Công cụ thiết kế giao diện: Express Blend for Windows
Phone.
•
Frameworks: Silverlight for Windows Phone and XNA Game
Studio for Windows Phone.
• Và một Windows Phone 7 emulator để lập trình and debug
ứng dụng.
Nền tảng ứng dụng Windows Phone cung cấp 2 framworks cho việc phát triển
ứng dụng là : Silverlight và XNA.
Trang 14
Hình 2.3. Windows Phone 7 Frameworks
• Silverlight : có nguồn gốc từ công nghệ Windows
Presentation Foundation (WPF). WPF sử dụng Extensible
Application Markup Language (XAML) để định nghĩa giao
diện và mã để sử dụng các class .Net frameworks cho việc
thực hiện các chức năng của một ứng dụng.
• XNA: Bao gồm các phần mềm dịch vụ, tài nguyên, tài
nguyên và cộng đồng tập trung vào việc phát triển trò chơi và
ứng dụng truyền thông để phát triển thành công trên nền tảng
game Microsolf. XNA cung cấp cho các nhà phát triển khả
năng truy cập trực tiếp các tính năng của thiết bị như video và
hệ thống âm thanh.
Trang 15
Phần này mô tả làm thế nào các nhà phát triển có thể sử dụng ứng dụng nền
tảng Windows Phone từ đầu đến cuối của chu kỳ phát triển.
Hình 2.4. Application Development Lifecycle
2.2.1. Môi trường lập trình:
Microsoft đã chính thức cung cấp bộ công cụ lập trình ứng dụng cho các nhà
phát triển phần mềm di động cũng như các lập trình viên thế giới. Bộ kit phát triển
phần mềm dành cho Windows Phone 7 được cung cấp miễn phí trực tuyến, bao gồm:
• Microsoft Visual Studio 2010 Express bao gồm Windows Phone
SDK 7.1, cung cấp công cụ miễn phí để phát triển ứng dụng cho Windows
Phone sử dụng .NET, Silverlight và XNA.
• Mã nguồn Silverlight, XNA Game Studio 4.0,
• Windows Phone 7 Series Emulator,
• Bộ thư viện Windows Phone 7 Series add-in (dùng kèm Visual
Studio 2010 RC).
Trang 16
Tất cả các công cụ đều hỗ trợ cảm ứng đa điểm, cảm biến chuyển động, phần
cứng tích hợp chip đồ họa, dịch vụ Microsoft Location Service và Microsoft
Notification Service.
2.2.2. Cài đặt:
Yêu cầu cấu hình cài đặt :
• Windows 7 (x86 and x64), Windows® Vista® (x86 and x64) SP2.
• Yêu cầu 4GB ổ cứng.
• 2 GB RAM (3GB dối với ai dùng Visual Studio để lập trình)
• Windows Phone Emulator yêu cầu card đồ họa DirectX 10 với trình điều
khiển WDDM 1.1.
• Windows Phone SDK 7.1 có thể tương thích với phiên bản mới của Visual
Studio 2010 SP1
Bản SDK bao gồm:
• 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ụ cần thiết
• Bộ Windows SDK 7.1 download tại :
http://download.microsoft.com/download/A/5/1/A51C88B5‐CF00‐420C‐9288‐
020CCD6C65C8/WPSDKV71_en1.iso
• Visual Studio 2010 Ultimate download tại :
Trang 17
http://download.microsoft.com/download/2/4/7/24733615‐AA11‐42E9‐8883‐
E28CDCA88ED5/X16‐42552VS2010UltimTrial1.iso
• Bản SP1 Visual Studio 2010 download tại :
http://download.microsoft.com/download/E/B/A/EBA0A152‐F426‐47E6‐9E3F‐
EFB686E3CA20/VS2010SP1dvd1.iso
• Bộ Windows Developer Tools download tại :
http://download.microsoft.com/download/0/0/D/00D22BA8‐E716‐4272‐93D8‐
C4D98F0567AE/WPDT_v2_Beta_en1.iso
Hướng dẫn cài đặt :
Bước 1: Tải bộ cài Windows Phone 7 Development Kit (file vm_web.exe.zip
đính kèm) về máy và tiến hành cài đặt. File này chỉ có 3.3Mb nhưng trong quá trình
cài đặt nó sẽ tự động tải về các thành phần cần thiết (tổng cộng lên đến 292Mb). Máy
bạn phải có kết nối internet.
Hình 2.5 Tải Windows Phone Developer Tools
Trang 18
Tiến hành download và cài đặt Visual Studio 2010 Untimate và bản SP1 của
nó.
Hình 2.6: 1.Cài đặt Visual Studio
Hình 2.7: 2.Cài đặt Visual Studio
Trang 19
- Xem thêm -