LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC TÌM HIỂU LẬP TRÌNH HỆ ĐIỀU HÀNH WINDOWS PHONE VÀ XÂY DỰNG ỨNG DỤNG MINH HỌA GAME FREAKING MATH Sinh viên thực hiện: Cán bộ hướng dẫn: Có thể tìm hiểu l
Trang 1LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC
TÌM HIỂU LẬP TRÌNH
HỆ ĐIỀU HÀNH WINDOWS PHONE
VÀ XÂY DỰNG ỨNG DỤNG MINH HỌA
GAME FREAKING MATH
Sinh viên thực hiện: Cán bộ hướng dẫn:
MSSV: 1111529
Cần Thơ, 2015
TRƯỜNG ĐẠI HỌC CẦN THƠ
KHOA CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG
BỘ MÔN TIN HỌC ỨNG DỤNG
- -
Trang 2LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC
TÌM HIỂU LẬP TRÌNH
HỆ ĐIỀU HÀNH WINDOWS PHONE
VÀ XÂY DỰNG ỨNG DỤNG MINH HỌA
GAME FREAKING MATH
Sinh viên thực hiện: Cán bộ hướng dẫn:
Có thể tìm hiểu luận văn tại:
- Trung tâm Học liệu, Trường Đại học Cần Thơ
- Website: http://www.lrc.ctu.edu.vn/
TRƯỜNG ĐẠI HỌC CẦN THƠ
KHOA CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG
BỘ MÔN TIN HỌC ỨNG DỤNG
- -
Luận văn được bảo vệ tại: Hội đồng chấm luận văn tốt nghiệp Bộ môn
Tin học Ứng dụng Khoa Công Nghệ Thông Tin & Truyền Thông, Trường Đại học Cần Thơ vào ngày 26 tháng 06 năm 2015
Cần Thơ, 2015
Trang 31
LỜI CẢM ƠN
Trước tiên em xin được bày tỏ lòng biết ơn chân thành tới thầy giáo hướng dẫn,
Ths Nguyễn Minh Trung, Khoa Công Nghệ Thông Tin và Truyền Thông đã tận tình
hướng dẫn em trong suốt thời gian thực hiện luận văn với đề tài “Tìm hiểu lập trình hệ
điều hành Windows phone và xây dựng ứng dụng minh họa trò chơi Freaking Math”
Em cũng xin chân thành cảm ơn các thầy giáo, cô giáo Khoa Công Nghệ Thông
Tin và Truyền Thông đã dạy và truyền đạt những kiến thức cần thiết và bổ ích trong
suốt thời gian em học tập tại trường
Cuối cùng em xin chân thành cảm ơn gia đình và tất cả bạn bè đã đóng góp ý
kiến và hỗ trợ em trong suốt quá trình em thực hiện đề tài
Do thời gian thực hiện có hạn, kiến thức còn nhiều hạn chế nên đề tài thực hiện
chắc chắn không tránh khỏi những thiếu sót nhất định Em rất mong nhận được ý kiến
đóng góp của thầy cô giáo và các bạn để em có thêm kinh nghiệm và tiếp tục hoàn thiện
đề tài của mình
Em xin chân thành cảm ơn !
Cần Thơ ngày 26 tháng 06 năm 2015
Sinh viên thực hiện
Phan Thị Ngọc Lam
Trang 42
MỤC LỤC
LỜI CẢM ƠN 1
MỤC LỤC 2
DANH MỤC HÌNH 5
DANH MỤC CÁC CHỮ VIẾT TẮT 6
TÓM TẮT 7
ABSTRACT 8
CHƯƠNG I TỔNG QUAN 9
1 ĐẶT VẤN ĐỀ 9
2 LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ 9
3 PHẠM VI ĐỀ TÀI 10
4 PHƯƠNG PHÁP NGHIÊN CỨU 10
4.1 Lý thuyết 10
4.2 Phần mềm sử dụng 10
4.3 Cài đặt 10
4.4 Viết báo cáo 10
CHƯƠNG II CƠ SỞ LÝ THUYẾT 11
1 SƠ LƯỢC VỀ CÁC HỆ ĐIỀU HÀNH 11
2 GIỚI THIỆU HỆ ĐIỀU HÀNH WINDOWS PHONE 11
2.1 Lịch sử và phát triển 11
2.1.1 Hoàn cảnh ra đời 11
2.1.2 Phát triển và mở rộng 12
2.1.3 Windows Phone 7 và Windows Phone 8 13
2.1.4 Windows Phone 8 và Windows Phone 8.1 14
2.2 Chi tiết về Windows phone 8 15
2.2.1 Phần cứng 15
2.2.2 Phần mềm 15
2.2.2.1 Nền tảng phần mềm 15
2.2.2.2 Các phần mềm cơ bản 17
2.3 Cài đặt môi trường và công cụ lập trình 24
Trang 53
2.3.1 Cài đặt Visual Studio 24
2.3.2 Expression Blend 24
2.3.3 Windows Phone Emulator 25
3 LẬP TRÌNH TRÊN HỆ ĐIỀU HÀNH WINDOWS PHONE 26
3.1 Xây dựng một app mới 26
3.2 Lập trình giao diện trên windows phone 29
3.2.1 Giới thiệu XAML và các control cơ bản 29
3.2.1.1 Giới thiệu XAML 29
3.2.1.2 Các control cơ bản trong lập trình windows phone 29
3.2.2 Các control nâng cao trong Windows phone 36
3.2.2.1 LongListSelector control 36
3.2.2.2 Menu control (ApplicationBar) 37
3.2.2.3 Image control 38
3.2.3 Các loại ứng dụng và chuyển trang trong Windows Phone 39
3.2.3.1 Các loại ứng dụng 39
3.2.3.2 Chuyển trang trong windows phone 41
4 CƠ SỞ DỮ LIỆU SQLITE TRONG WINDOWS PHONE 43
4.1 Giới thiệu về CSDL SQLite 43
4.2 Đặc tính của SQLite 43
CHƯƠNG III NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU 45
1 PHÂN TÍCH GAME 45
1.1 Phân tích bài toán 45
1.2 Luật chơi 45
1.3 Cách tính điểm 46
2 THIẾT KẾ GAME 46
2.1 Use case 46
2.2 Thuật toán 47
2.3 Sơ đồ hoạt động của trò chơi 48
2.4 Demo Ứng Dụng 49
CHƯƠNG IV.KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 51
1 KẾT LUẬN 51
Trang 64
1.1 Kết quả đạt được 51
1.2 Hạn chế 51
2 HƯỚNG PHÁT TRIỂN 51
TÀI LIỆU THAM KHẢO 52
PHỤ LỤC A HƯỚNG DẪN KIỂM TRA CÁC BƯỚC CHUẨN BỊ LẬP TRÌNH WINDOWS PHONE CHO NGƯỜI MỚI BẮT ĐẦU 53
PHỤ LỤC B CODE XỬ LÝ TRONG GAME FREAKING MATH 57
Trang 75
DANH MỤC HÌNH
Hình 2-1 Kiến trúc của Windows phone 8 15
Hình 2-2 Công nghệ được sử dụng trong WP 16
Hình 2-3 Giao diện tổng quát 17
Hình 2-4 Hub 18
Hình 2-5 Windows phone Store 19
Hình 2-6 Cài đặt 20
Hình 2-7 Tìm kiếm 21
Hình 2-8 Nén dữ liệu và ví điện tử 22
Hình 2-9 Bản đồ 23
Hình 2-10 Giao diện Visual studio 2013 24
Hình 2-11 Giao diện Expression Blend 25
Hình 2-12 Giao diện Windows phone Emulator 25
Hình 3-1 Xây dựng một app mới 26
Hình 3-2 Solution Explorer 28
Hình 3-3 Use case đặc tả chức năng 46
Hình 3-4 Thuật toán 47
Hình 3-5 Sơ đồ hoạt động 48
Hình 3-6 Giao diện trò chơi 49
Hình 3-7 Giao diện kết thúc game và lưu điểm 50
Trang 97
TÓM TẮT
Ngày nay, nền công nghệ số ngày càng phát triển vượt bậc và không ngừng đổi mới qua
các năm với tốc độ chóng mặt Điện thoại thông minh hay còn gọi là smartphone đã thực
sự mang đến một cuộc cách mạng di động, do đó nhu cầu sử dụng smartphone đã trở
nên phổ biến không chỉ ở Việt Nam mà còn trên toàn thế giới
Nhằm tạo điều kiện cho mọi người đến gần với công nghệ lập trình di động đang phổ
biến hiện nay, đề tài luận văn “Tìm hiểu lập trình hệ điều hành Windows phone và xây
dựng ứng dụng minh họa trò chơi Freaking Math” sẽ góp phần vào việc cung cấp một
phần kiến thức về lập trình di động cho người dùng yêu thích Windows Phone và xây
dựng một ứng dụng mang tính giải trí cao
Game Freaking math được xây dựng trên hệ điều hành Windows phone sử dụng ngôn
ngữ lập trình C#, với giao diện được thiết kế đơn giản nhưng tạo được sự hấp dẫn của
trò chơi Ứng dụng có thể cài đặt trên các thiết bị chạy hệ điều hành Windows phone
Từ khóa : Window phone, ứng dụng, di động…
Trang 108
ABSTRACT
Nowadays, digital technology background is booming with rapid innovation,
smartphone did indeed bring a mobile revolution so the demand for smartphones has
become popular not only in Vietnam but also in the world
In order to create conditions for people to reach mobile programming technology is
popular now, thesis "Understanding Windows programmers build phone and illustration
application Freaking Math game" will contribute section on delivering some knowledge
about mobile programming for Windows Phone users love the application and build a
highly entertaining
Freaking math game is built on the Windows Phone operating system using the
programming language C #, the interface is designed to create simple but the appeal of
the game The application can be installed on devices running Windows Phone
Keywords: Windows phone, applications, mobile
Trang 119
CHƯƠNG I TỔNG QUAN
Cách đây nhiều năm, khi mà smartphone hay các thiết bị di động cầm tay chưa thật sự
phát triển và phổ biến đối với người tiêu dùng như hiện tại thì chúng ta cũng đã biết tới
một số hệ điều hành dành cho các máy PDA như Windows Mobile của Microsoft hay
các điện thoại thông minh chạy BlackberryOS của RIM…Tuy nhiên, vào năm 2007 -
thời điểm Apple giới thiệu điện thoại thông minh iphone và hệ điều hành mà hiện nay
được biết với tên gọi iOS đã thực sự thay đổi thị trường di động thế giới, định nghĩa
smartphone cũng như châm ngòi cho cuộc chiến giữa các nền tảng di động, thúc đẩy
nền công nghiệp phần cứng cũng như phần mềm Có thể nói rằng cuộc chiến giữa các
hệ điều hành đang xoay quanh những cái tên: Android (Google), Ios (Apple), Windows
phone (Microsoft) và BlackberryOs (RIM), Symbian (Nokia)
Microsoft luôn được biết đến là gã khổng lồ phần mềm thế giới, luôn là kẻ đi đầu nhưng
hiện tại lại để cho Google và Apple chiếm hầu hết thị phần hệ điều hành di động mà
kèm theo đó là lợi nhuận khổng lồ từ lượng khách hàng kỷ lục (riêng quý III – 2012 có
181 triệu smartphone bán ra)
Sau khi nhận thấy sự thua kém quá lớn của Windows Mobile 6.x với các đối thủ Android
và iOS, Microsoft quyết tâm lấy lại vị thế vốn có của mình thông qua việc cho ra đời
một nền tảng di động hoàn toàn mới: Windows phone với những ưu điểm rất dễ nhận
thấy đó là khả năng đồng bộ máy tính cao, giao diện Metro độc đáo và khác biệt, hỗ trợ
công việc với các tiện ích văn phòng mạnh mẽ và dễ tiếp cận sử dụng Hãy xem
Microsoft đã mang lại những gì đặc biệt không chỉ cho người sử dụng mà còn hấp dẫn
các lập trình viên
2 LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ
Hiện nay, các ứng dụng giải trí trên smartphone ngày càng đa dạng với các phiên bản
chạy trên nhiều hệ điều hành khác nhau Với mong muốn tìm hiểu đi sâu hơn về lĩnh
vực lập trình ứng dụng cho di động, cụ thể là cho hệ điều hành Windows phone Từ đó
chia sẽ được những kiến thức đã tìm tòi được trong thời gian qua đến mọi người yêu
thích lĩnh vực này
Hy vọng rằng với đề tài “Tìm hiểu lập trình hệ điều hành Windows phone và xây dựng
ứng dụng minh họa trò chơi Freaking Math” sẽ phần nào cung cấp được một lượng kiến
thức bổ ích cho mọi người
Trang 1210
3 PHẠM VI ĐỀ TÀI
- Phạm vi ứng dụng chính là xây dựng một game với giao diện thân thiện, dễ chơi
với mục đích là giải trí, thư giản cho người dùng
- Các đối tượng mà ứng dụng hướng tới là tất cả các người dùng yêu thích game
giải trí, luyện khả năng quan sát nhanh nhẹn
Về cơ sở lý thuyết:
- Nghiên cứu và vận dụng lý thuyết phân tích hệ thống, tìm hiểu rõ ứng dụng cần
thực hiện phục vụ cho việc xây dựng ứng dụng
- Nghiên cứu các ngôn ngữ lập trình và các công nghệ mới ứng dụng vào việc xây
dựng ứng dụng
4 PHƯƠNG PHÁP NGHIÊN CỨU
4.1 Lý thuyết
Cần nghiên cứu cơ sở lý thuyết để có thể thực hiện được yêu cầu của đề tài:
Tìm tài liệu có liên quan đến đề tài, đọc kỉ chọn lọc kiến thức phù hợp
Tìm hiểu các công nghệ phát triển: C#, XAML
Tìm hiểu các control cơ bản, nâng cao của Windows Phone
Công cụ sử dụng: Visual Studio, Expression Blend
4.2 Phần mềm sử dụng
Hệ điều hành Windows 8 64 bit trở lên, RAM 4G
Phần mềm Visual Studio 2012 hoặc 2013
Windows Phone SDK 8.0
Cài đặt ứng dụng chạy thử trên giả lập Windows Phone 8
4.4 Viết báo cáo
Viết báo cáo kết quả thực hiện
Trang 1311
CHƯƠNG II CƠ SỞ LÝ THUYẾT
Hệ điều hành là chương trình chạy trên hệ thống máy tính, quản lý các tài nguyên trên
máy tính và là môi trường cho các chương trình ứng dụng chạy trên nó
Ngày nay, khái niệm hệ điều hành không chỉ là trên máy tính mà còn được mở rộng cho
nhiều thiết bị điện tử khác nhau chẳng hạn như điện thoại thông minh (Smartphone), các
thiết bị cầm tay PDA…
Như vậy hệ điều hành di động là hệ điều hành chạy trên hệ thống máy có tính di động
cao Với đặc thù đó, hệ điều hành di động phải có những khả năng đặc biệt mà hệ điều
hành thông thường không có được Chẳng hạn như nó phải chạy trên hệ thống máy có
cấu hình hạn chế về tốc độ xử lý, bộ nhớ sử dụng, phải chạy được ổn định liện tục trong
một thời gian dài mà chỉ sử dụng một lượng điện năng nhỏ, trong suốt thời gian chạy đó
có thể duy trì các kết nối mạng không dây để đảm bảo việc liên lạc
Một số hê điều hành tiêu biểu:
Trên máy tính cá nhân: MS DOS, MS WINDOW, MACOS, LINUX, UNIX
Trên điện thoại thông minh: Android, Symbian, Window Mobile, iphone OS,
BlackBerry, S60, Bada OS, Palm OS
Ngoài ra còn có các hệ điều hành chạy trên mainframe, sever, thẻ chip…
2 GIỚI THIỆU HỆ ĐIỀU HÀNH WINDOWS PHONE
2.1 Lịch sử và phát triển
2.1.1 Hoàn cảnh ra đời
Windows Phone được Microsoft phát triển để thay thế cho hệ điều hành di động
Windows Mobile trước đây Windows phone bắt đầu từ phiên bản thứ 7 (khi ra mắt,
Microsoft gọi nó là Windows phone 7, còn hiện giờ nó đã lên đến 7.8 và mới nhất là
Windows phone 8) Được biết, do phát triển trong thời gian ngắn nên Windows phone
rất hạn chế trong việc tương thích ngược lại với các nền tảng Windows Mobile trước
đó Một lý do nữa để Microsoft không quan tâm nhiều đến nền tảng cũ đó là vì màn hình
cảm ứng bằng ngón tay ngày càng phổ biến hơn trên điện thoại và Windows Mobile vốn
thiết kế cho bút stylus đã rất lỗi thời
Windows phone bắt đầu được ra mắt chính thức vào tháng 2/2010 ở triển lãm Mobile
World Congress diễn ra ở Barcelona, Tây Ban Nha Đến tháng 10 cùng năm, CEO Steve
Ballmer của Microsoft ra mắt 10 thiết bị Window Phone đầu tiên đến từ HTC, Dell,
Samsung, LG Vài tuần sau, máy bắt đầu được bán ra ở Mỹ và Châu Âu Tháng 5 cùng
năm, Microsoft tuyên bố hợp tác với một số nhà sản xuất khác là Acer, Fujitsu, ZTE
Trang 1412
Một cột mốc quan trọng của Windows phone đó là sự hợp tác giữa Microsoft với Nokia
sau khi hãng điện thoại Phần Lan này quyết định không còn tập trung vào điện thoại
Symbian nữa Kết quả của sự hợp tác này đó là dòng Nokia Lumia mới: Lumia 900 với
Lumia 800 Việc tích hợp các dịch vụ của Microsoft (Bing, Bing Maps, Windows phone
Marketplace,…) lên với Nokia được cho là sẽ tạo nên lợi thế cạnh tranh cho Windows
phone với hai đối thủ hiện thời là iOS và Android
2.1.2 Phát triển và mở rộng
Lịch sử các phiên bản phát triển của Windows phone:
Windows phone 7.0 (10.2010) phiên bản đầu tiên của hệ điều hành
Windows phone 7.1 Mango (5.2011):
o People Hub: Facebook, Hotmail, Gmail, Linkedln và Twitter
o Tính năng Groups: cho phép người dùng giao tiếp trên nhiều ứng dụng cùng lúc
(SMS, Facebook, Hotmail, Gmail, Linkedln và Twitter)
o Internet explorer 9
Windows phone 7.5 Mango (5.2011):
o Bản cập nhật với tên mã NoDo, hỗ trợ mạng CDMA, copy và paste, tốc độ chạy
ứng dụng nhanh hơn, tích hợp Facebook sâu hơn
Windows phone 7.5 Tango (6.2012):
o Nâng cấp tin nhắn đa phương tiện
o Có thể gởi nhạc chuông qua SMS
o Có thể xuất và quản lý danh bạ từ SIM card
o Sửa một số lỗi về thanh toán trên ứng dụng ở một số nước
Windows phone 7.8 (1.2013):
o Phiên bản cuối cùng của Windows phone 7.x
o Mang một số tính năng mới trên Windows phone 8 như:
Thay đổi kích thước của tiles ở màn hình chính
Màn hình khởi động mới
Các biểu tượng mới cho các ứng dụng cơ bản như Games, Office,
Windows phone Store
Trang 1513
Windows phone 8 (29.10.2012):
o Chuyển sang sử dụng các component từ Windows phone 8 (Windows Shared
Core) như: kernel, file system, driver, network, media and graphics
o Hỗ trợ CPU đa nhân
Hỗ trợ nhiều độ phân giải (1280x720, 1280x768, 1080p)
Hỗ trợ thẻ nhớ
Internet explorer 10
Hỗ trợ màn hình 6’’
Hợp tác với Nokia :
Ngày 11 tháng 2 năm 2011, trước mặt báo giới, CEO Microsoft ông Steve Balmer và
CEO của Nokia ông Stephen Elop công bố trở thàng đối tác của nhau, đồng nghĩa với
việc Windows Phone trở thành hệ điều hành chính của Nokia, thay thế cho Symbian đã
lỗi thời Sự kiện này cũng đánh dấu một mốc quan trọng trong cuộc chiến với Android
và iOS
2.1.3 Windows Phone 7 và Windows Phone 8
Bảng 1 Một số điểm mở rộng trên WP 8 (Nguồn : tài liệu tham khảo)
Wallet Wallet items-coupons, transactions,
loyalty cards
Trang 16Ngày 20 tháng 6 năm 2012, Microsoft giới thiệu Windows Phone 8, một thế hệ Windows
Phone mới và 4 tháng sau nó được bán chính thức Windows Phone 8 thay thế lõi kiến
trúc Windows CE trên Windows Phone 7 thành kernel của Windows NT vốn được thiết
kế cho Windows 8
Ngoài ra, Windows Phone 8 còn hỗ trợ CPU đa nhân, nhiều độ phân giải, tuỳ biến Start
Screen, phiên bản di động của Internet Explorer 10, Nokia Maps thay thế Bing Maps
Windows Phone 8.1
Windows Phone 8.1 là một bản cập nhật lớn dành cho các điện thoại chạy trên hệ điều
hành Windows Phone 8 Ngày 2 tháng 4 năm 2014, Windows Phone 8.1 được công bố
chính thức và phiên bản Preview dành cho nhà phát triển được phát hành vào 10.4 Vào
ngày 22 tháng 8 năm 2014 cho ra mắt Windows Phone 8.1 tại Việt Nam
Một vài thay đổi chính khi được nâng cấp lên Windows Phone 8.1:
Internet Explorer 11
Khả năng tuỳ biến với 3 cột Live Tiles
Tuỳ biến Live Tiles bằng ảnh nền
Trợ lí ảo Cortana
Hỗ trợ gõ Tiếng Việt bằng kiểu gõ Telex hoặc Vni
Cài đặt và cá nhân hoá – Trung tâm hành động, âm thanh, đồng bộ
Trang 17 Có màn hình cảm ứng đa điểm hỗ trợ ít nhất 4 điểm chạm đồng thời
Hỗ trợ một trong 3 màn hình có độ phân giải là: “WVGA 800x480 15:9”, WXGA
1280x768 15:9”, “720p 1280x720 16:9”
Được trang bị tối thiểu vi xử lý ARM v7 “Cortex/Scorpion”-Snapdragon
Có bộ xử lý đồ họa ( GPU) hỗ trợ dựng DirectX9
Hỗ trợ kết nối dữ liệu qua mạng di động và Wifi
Được trang bị ít nhất 512M RAM cho các thiết bị WVGA; 1GB RAM cho các
Ngoài ra thì WP 8 cũng hỗ trợ một số phần cứng tùy chọn khác: Compass (La bàn),
Gyro (Cảm biến tốc độ quay), NFC…
2.2.2 Phần mềm
2.2.2.1 Nền tảng phần mềm
Kiến trúc của Windows Phone 8 là chia sẽ lõi chung với nền tảng Windows 8
(Shared Windows Core)
Hình 2-1 Kiến trúc của Windows phone 8
Trang 18 Rx.NET (Reactive Extension for NET): Đây là một bộ thư viện chứa các API
dùng cho các ứng dụng hoạt động dựa trên cơ chế đẩy (push)
Windows Runtime Interop: Cơ chế hỗ trợ việc giao tiếp giữa managed code
(.NET) và Windows Runtime (WinRT)
Với việc sử dụng nền tảng NET 4.5, Windows Phone 8 cho phép chúng ta sử dụng mô
hình lập trình bất đồng bộ trong ứng dụng của mình một cách dễ dàng Cơ chế này giúp
cho ứng dụng của ta hoạt động mượt hơn, tránh tình trạng người dùng phải chờ đợi lâu
trong khi ứng dụng tải dữ liệu về… và nhìn tổng thể thì nó mang lại một trải nghiệm tốt
hơn
Với các phiên bản Windows Phone 7.x trước đây thì các lập trình viên có thể viết game
dựa vào công nghệ XNA hoặc XAML Tuy nhiên, trong Windows Phone 8 thì chúng ta
sẽ không thể dùng XNA để sử dụng một số tính năng của hệ thống, chẳng hạn như:
NFC, Wallet, Bluetooth API…, thay vào đó các lập trình viên giờ đây bắt buộc phải sử
dụng C++ và DirectX API trong các trường hợp đó
Hình 2-2 Công nghệ được sử dụng trong WP
Trong Windows phone 8, có 3 cách chủ yếu để tạo ứng dụng đó là dùng HTML5, dùng
.NET và dùng Native Code Windows phone 8 sử dụng IE 10 làm trình duyệt mặc định
với rất nhiều cải tiến, hỗ trợ rất tốt HTML5 và CSS3, giúp cho các ứng dụng dựa trên
nền web chạy mượt hơn và có hiệu năng cao hơn so với các phiên bản trước XAML UI
cho phép chúng ta tạo ra các ứng dụng có giao diện đồ hoạ cơ bản một cách nhanh chóng
bằng các thành phần có sẵn Trong khi đó, DirectX giúp chúng ta xây dựng các ứng
dụng đòi hỏi khả năng đồ hoạ cao hơn (như game chẳng hạn)
Trang 1917
2.2.2.2 Các phần mềm cơ bản
a) Giao diện tổng quát
Trong Windows phone giao diện hiển thị mà chúng ta nhìn thấy được có tên gọi là
“Modern UI style” Modern UI style mang đến cho các ứng dụng một giao diện hiện
đại, rõ ràng thông qua việc tập trung vào nội dung, kiểu chữ và màu sắc của các khối
thông tin Đặc điểm cơ bản của Windows phone là các ô vuông hiển thị ở màn hình
chính, các ô vuông trên màn hình có khả năng cập nhật dữ liệu theo thời gian thực còn
được gọi là “Live Tile”
Hình 2-3 Giao diện tổng quát
Trang 2018
b) Hub
Trong Windows phone, các tính năng được sắp xếp theo từng Hub Các Hub có thể
xem là nơi để máy tổng hợp thông tin chứa trong máy và thông tin từ các dịch vụ
trực tuyến để hiển thị trong một giao diện thống nhất Hub trong Windows phone có
thể hiện thị được thông tin từ các dịch vụ như Facebook, Sky, Twitter…
Hình 2-4 Hub
Trang 2119
c) Windows phone store
Đây là kho ứng dụng trực tuyến của Microsoft phát triển giành riêng cho Windows
phone, cho phép người dùng tải về các ứng dụng thông qua trình duyệt và cài đặt
Trang 2220
d) Cài đặt
Dùng để truy cập vào toàn bộ các thiết lập của máy:
Ringtones, sounds: điều chỉnh âm thanh, nhạc chuông, chuông tin nhắn, báo cuộc
gọi, báo email…
Theme: Cho phép chúng ta điều chỉnh giao diện của máy theo ý muốn
Flight mode: chế độ máy bay, tức là khi bật chế độ này toàn bộ các kết nối không
dây sẽ được ngắt đi để đảm bảo tính an toàn hàng không Ngoài ra, bạn cũng có
thể dùng nói để từ chối các cuộc gọi hay tin nhắn những lúc bận mà không muốn
tắt điện thoại của mình
Wifi: bật/tắt wifi
Bluetooth: bật/tắt Bluetooth chia sẽ tập tin
InternetSharing: là tính năng khi kết nối 3G xong thì bạn có thế chia sẽ như một
trạm phát song wifi cho các thiết bị khác ở cự ly gần
Email, Account: thiết lập tài khoản email, mạng xã hội, danh bạ,…
Lock, Wallpaper: với tính năng này bạn sẽ thay đổi được hình nền cho màn hình
khóa, thiết lập thời gian khóa, mật khẩu khóa,…
Mobile Network: thông số về mạng di động của chúng ta có thể được tùy chỉnh
ở đây
Hình 2-6 Cài đặt
Trang 2321
e) Tìm kiếm
Bing là một ứng dụng tìm kiếm khá tốt được tích hợp sẵn trong hệ điều hành Windows
Phone Tính năng mới đầu tiên để nhắc đến là SafeSearch với khả năng ngăn chặn các
tìm kiếm nhạy cảm
Hình 2-7 Tìm kiếm
Trang 2422
f) Nén dữ liệu (Data Sense) và Ví điện tử (Wallet)
Tính năng Wallet Hub khá giống như PassBook trên iOS 6, sử dụng giao tiếp NFC để
thực hiện các giao dịch hay lưu trữ thông tin thẻ tín dụng Chức năng chủ yếu của ví
điện tử nhằm quản lý chi tiêu nhưng hình thức thanh toán không thực sự hiệu quả ở Việt
Nam vì tính phổ biến chưa cao
Tính năng Data Sense giúp cho người dùng có thể thiết lập trước một giới hạn dung
lượng khi lướt web, tránh vượt quá giới hạn gây lãnh phí
Hình 2-8 Nén dữ liệu và ví điện tử
Trang 2523
g) Bản đồ
Đến từ hiệp ước kí kết của Nokia và Microsoft, công nghệ Nokia Maps đã chiếm chổ
của Bing Maps, nhưng hiển thị địa điểm kém, độ sai lệch cao và cập nhật thông tin tại
Việt Nam khá tệ.Tính năng nổi bật nhất của bản đồ Windows phone 8 là chỉ đường chi
tiết (turn-by-turn)
Hình 2-9 Bản đồ
Tuy nhiên người dùng dễ bối rối trước sự xuất hiện của các cửa sổ pop-up mỗi khi thực
hiện thao tác dẫn đường
Trang 2624
Ứng dụng Windows phone 8 được xây dựng bằng cách sử dụng IDE chính đó là Visual
Studio 2013 và bộ công cụ phát triển Windows phone SDK 8.0
Yêu cầu cấu hình :
Hệ điều hành: Windows 8, Windows 8 Pro hoặc cao hơn kiểu 64bit
Phần cứng: Ổ cứng trống 6.5 GB, RAM 4GB, 64-bit (x64) CPU
Chạy máy ảo: Windows 8 Pro edition or greater, CPU hỗ trợ Hyper-V và SLAT để
chuyển đổi IP của máy ảo thành địa chỉ vật lý
Link download tham khảo :
Đây là công cụ hỗ trợ thiết kế giao diện ứng dụng trên nền Silverlight tương tự như
Adobe Illustrator, Photoshop, hoặc Expression Design Cũng từ Expression Blend, bạn
có thể nhập bất kì Illustrator, và các tập tin Photoshop, và nếu bạn đang sử dụng
Expression Design, bạn có thể xuất file Expression Design trực tiếp vào một tập tin
XAML
Expression Blend cũng cung cấp phương pháp để tạo ra những chuỗi động Mặc dù bạn
có thể đạt được trong việc tạo ra hình ảnh động trong Visual Studio bằng cách sử dụng
Trang 2725
XAML nhưng tương đối khó khăn Tốt nhất là các ứng dụng có đồ họa phức tạp và hình
ảnh động thì ta sử dụng Expression Blend
Hình 2-11 Giao diện Expression Blend
2.3.3 Windows Phone Emulator
Windows Phone Emulator là một chiếc điện thoại được Visual Studio mô phỏng như
một thiết bị thực sự dành cho Lập trình viên Tuy nhiên, có những điều bạn không thể
giả lập như thử nghiệm gia tốc, GPS, la bàn, FM radio, tin nhắn SMS, e-mail, gọi điện
thoại, danh sách liên lạc, máy ảnh, và các tính năng khác mà yêu cầu một thiết bị vật lý
Hình 2-12 Giao diện Windows phone Emulator
Trang 2826
3 LẬP TRÌNH TRÊN HỆ ĐIỀU HÀNH WINDOWS PHONE
3.1 Xây dựng một app mới
- Tạo một project mới theo các bước sau:
Bước 1: Khởi động Visual Studio Ultimate 2013, vào menu File/ chọn New/ Project
(hoặc nhấn tổ hợp phím Ctrl + Shift+N) như hình dưới đây:
Bước 2: Sử dụng kiểu project Windows Phone -> Windows Phone App Đặt tên project
là HelloPhone và chọn nơi lưu cho project
Bước 3: Chọn Windows Phone OS 8.0 trong target
Trang 2927 Sau khi tạo project xong, các cửa sổ làm việc sẽ được hiển thị như hình sau:
Hình 3-1 Xây dựng một app mới
Trang 3028
- Cấu trúc thư mục của một Phoneapp:
Hình 3-2 Solution Explorer
AppManifest.xml: danh sách các resource được thêm vào khi cài đặt một ứng dụng
WMAppManifest.xml: mô tả chi tiết ứng dụng bao gồm tên ứng dụng, trang khởi
tạo, biểu tượng, các tương thích phần cứng
The Assets folder: chứa hình ảnh của biểu tượng ứng dụng, các title, các hình khởi
động ứng dụng
The Resources folder: cho phép ứng dụng đa ngôn ngữ
The App class: chứa các xử lý chung của ứng dụng
The LocalizedStrings class: lớp truy cập đến thư mục Resources
Trang 3129
3.2.1 Giới thiệu XAML và các control cơ bản
3.2.1.1 Giới thiệu XAML
- Khái niệm
XAML – Extensible Application Markup Language là một ngôn ngữ đánh dấu dùng để
thể hiện các đối tượng trong NET Mặc dù XAML là một công nghệ có thể dùng để giải
quyết nhiều loại vấn đề khác nhau, nhưng vai trò chính của nó là dùng để xây dựng giao
diện người dùng Windows phone Nói cách khác, XAML documents sẽ định nghĩa cách
sắp xếp, thể hiện các control, buttons trong cửa sổ của một chương trình Windows
phone
- Ưu điểm
Các nhà phát triển phần mềm từ lâu đã biết rằng, cách hiệu quả nhất để giảm bớt tính
phức tạp, nâng cao chất lượng giao diện người dùng trong việc xây dựng ứng dụng chính
là cần phải tách rời việc design ra khỏi mã nguồn chương trình Bằng cách đó, các nhà
thiết kế có thể tạo ra giao diện đẹp hơn, thể hiện được tính nghệ thuật, còn programmer
có thể phát triển code thoải mái hơn Nâng cao khả năng tùy biến các control trong NET
- Các cú pháp cơ bản trong XAML
Khai báo một thành phần
<[Tên thành phần][Tên thuộc tính]=[giá trị]></[Tên thành phần]>
Hoặc: <[Tên thành phần][Tên thuộc tính]=[giá trị]/>
Layout controls
Layout control là những control kế thừa từ Panel, dùng để chứa và sắp xếp các đối tương
con nằm trong nó Có 3 loại Layout control chính là: Grid, Stack Panel, Canvas
Grid:
- Grid sắp xếp các thành phần con theo dòng và cột
- Dễ dàng mở rộng nếu cần
- Phải định nghĩa các dòng và cột trước khi dùng
- Khai báo dòng và cột cho Grid
Trang 3331
Stack Panel:
Sắp xếp các thành phần nằm liền kề nhau theo chiều ngang hoặc chiều dọc
Mặc định các thành phần được sắp xếp theo chiều dọc từ trên xuống
<StackPanel x:Name=”LayoutRoot”>
<Ellipse Width=”100” Fill=”Green”/>
<Ellipse Width=”100” Fill=”Yellow”/>
<Ellipse Width=”100” Fill=”Red”/>
</StackPanel>
Dùng thuộc tính Orientation để sắp xếp theo chiều ngang
<StackPanel x:Name=”LayoutRoot” Orientation=”Horizontal”>
<Ellipse Width=”100” Fill=”Green”/>
<Ellipse Width=”100” Fill=”Yellow”/>
<Ellipse Width=”100” Fill=”Red”/>
</StackPanel>
Ta cũng có thể thay đổi vị trí thứ tự xuất hiện của các control nằm bên trong Stackpanel
bằng cách thay đổi FlowDirection=”RightToLeft” hoặc FlowDirection=”LeftToRight”
<StackPanel x:Name=”LayoutRoot” Orientation=”Horizontal”
FlowDirection=”RightToLeft”>
<Ellipse Width=”100” Fill=”Green”/>
<Ellipse Width=”100” Fill=”Yellow”/>
<Ellipse Width=”100” Fill=”Red”/>
</StackPanel>
Trang 3432
Canvas:
Canvas sắp xếp vị trí các thành phần con dựa trên khoảng cách tuyệt đối từ thành phần
đó đến lề trên (Canvas.Top) và trái (Canvas.Left) của canvas
Chú ý:
- Top càng tăng thì đối tượng càng di chuyển xuống dưới, Top càng giảm thì đối
tượng di chuyển lên trên
- Left càng tăng thì đối tượng di chuyển qua phải, Left càng giảm thì đối tượng di
chuyển qua trái