Microsoft còn đang phát triển bản Windows Phone Apollo Plus và trong tương lai có thể còn có Windows Blue hay có thể là Windows 9 giúp tương thích với hệ điều hành Windows trên máy tính.
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TPHCM KHOA CÔNG NGHỆ THÔNG TIN
ĐỒ ÁN MÔN HỌC
Lập trình trên thiết bị di động
ĐỀ TÀI: LẬP TRÌNH ỨNG DỤNG TRÊN WINDOW PHONE ỨNG DỤNG QUẢN LÝ CÁ NHÂN: KẾ HOẠCH CÔNG VIỆC
GIẢNG VIÊN HƯỚNG DẪN: Th.S NGUYỄN HÀ GIANG
SINH VIÊN THỰC HIỆN:
Tháng 06 – 2017
Trang 2LỜI CÁM ƠN
Trong lời đầu tiên của toàn văn báo cáo Đồ án môn học “Nghiên cứu xây dựng ứng dụng cho Hệ điều hành Windows Phone” này, em muốn gửi những lời cám ơn và biết ơn chân thành nhất của mình đến thầy người đã hỗ trợ, giúp đỡ em về kiến thức trong quá trình thực hiện Đồ án
Trước hết, em xin chân thành cám ơn Thầy Nguyễn Hà Giang, Giảng viên Khoa Công Nghệ Thông Tin - Trường ĐH Công Nghệ, người đã trực tiếp hướng dẫn, nhận xét, giúp đỡ em trong suốt quá trình thực hiện đồ án
Do thời gian thực hiện có hạn, kiến thức còn nhiều hạn chế nên Đồ án thực hiện chắc chắn không tránh khỏi những thiếu sót nhất định Chúng em rất mong nhận được ý kiến đóng góp của thầy cô và các bạn để chúng em có thêm kinh nghiệm và tiếp tục hoàn thiện đồ án của mình
Chúng em xin chân thành cảm ơn!
Trang 3BẢNG PHÂN CÔNG CÔNG VIỆC
Nguyễn Huỳnh Kim Duyên 1311060507 Designer + Slide Nguyễn Tiến Thịnh 1311061174 Báo cáo
Văn Thái Nhựt Duy 1311060502 Suport
Trang 4MỤC LỤC
MỤC LỤC 4
CHƯƠNG I : TỔNG QUAN VỀ WINDOWS PHONE 6
1 Giới thiệu về Windows Phone 6
1.1 Phần mềm 8
1.2 Nhận xét 10
2 Tìm hiểu XAML và các control cơ bản 11
2.1 Tìm hiểu XAML 11
2.2 Các control cơ bản trong Windows Phone 12
3 Các control nâng cao trong Windows Phone 13
3.1 List Control 13
3.2 Menu controls 15
3.3 Media controls 16
3.4 MessageBox, Popups 17
4 Các loại ứng dụng và chuyển trang trong Windows Phone 18
4.1 Các loại ứng dụng 18
4.2 Chuyển trang (Navigation) 20
5 Data binding cơ bản 21
5.1 Data binding là gì? 21
5.2 Các thành phần chính trong Data Binding 21
5.3 Cách tạo binding trong Windows Phone 22
6 Những hạn chế của Windows Phone 23
7 Nền tảng ứng dụng Windows Phone – Windows Phone Application Platform 23
Trang 5CHƯƠNG II : XÂY DỰNG ỨNG DỤNG TRÊN MÔI TRƯỜNG HỆ ĐIỀU HÀNH
WINDOWS PHONE 24
1 Giới thiệu về công nghệ NET 24
1.1 Định nghĩa 24
1.2 Mục tiêu 24
2 Cấu trúc nền tảng 25
2.1 Visual C# NET 25
2.2 Công nghệ Silverlight 25
2.3 Công nghệ XNA 26
CHƯƠNG III : XÂY DỰNG ỨNG DỤNG “KẾ HOẠCH CÔNG VIỆC TRONG NGÀY 27
1 Giới thiệu ứng dụng “kế hoạch công việc” 27
2 Mô tả chức năng 28
3 Hạn chế 30
CHƯƠNG IV : KẾT LUẬN 30
TÀI LIỆU THAM KHẢO 30
Trang 6CHƯƠNG I : TỔNG QUAN VỀ WINDOWS PHONE
1 Giới thiệu về Windows Phone
Windows Phone là hệ điều hành của Microsoft dành cho smartphone kế tục nền tảng Windows Mobile, mặc dù chúng không tương thích với nhau 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 Windows Phone được bán vào tháng 10 năm 2010 và đầu năm 2011 tại Châu Á
Phiên bản mới nhất hiện tại là Windows Phone 8 Microsoft còn đang phát triển bản Windows Phone Apollo Plus và trong tương lai có thể còn có Windows Blue (hay có thể
là Windows 9) giúp tương thích với hệ điều hành Windows trên máy tính Với Windows Phone , Microsoft đã phát triển giao diện người dùng mới mang tên Modern (trước đây tên
là Metro) - tích hợp khả năng liên kết với các phần cứng và phần mềm của hãng thứ ba một cách dễ dàng
Sau thành công của nền tảng Windows dành cho PC, Microsoft tiếp tục bước vào nền tảng dành cho các thiết bị di động Windows Phone bắt đầu được nhen nhóm vào đầu năm 2004 như là một bản nâng cấp cho Windows Mobile với tên mã "Photon", nhưng công việc diễn ra rất chậm và dự án phải bị hủy Năm 2008, dự án được khởi động trở lại, nhưng lần này không phải là một bản nâng cấp mà là một hệ điều hành mới hoàn toàn Mặc dù được dự kiến phát hành vào năm 2009, nhưng sự chậm trễ trong việc phát triển dẫn tới phiên bản Windows Mobile 6.5 vẫn được phát hành Việc kết thúc hỗ trợ cho Windows Mobile chỉ diễn ra vào ngày 15/7/2011 Trong giai đoạn này Windows Phone được phát triển khá nhanh, kéo theo đó là việc không thể tương thích với các phiên bản cũ do không kịp thời gian chuẩn bị cho việc đó
Tên mã của dự án Windows Phone là "Photon" Ban đầu tên gọi dự định sẽ là Windows Phone Tuy nhiên vào ngày 22 tháng 4 năm 2010, Microsoft chính thức thông
Trang 7báo tên gọi 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
Windows Phone 7 được ra mắt vào ngày 15 tháng 2 năm 2010 ở Mobile World Congress tại Barcelona, Tây Ban Nha và chính thức bán ra vào ngày 8 tháng 11 năm 2010 tại Mỹ Ban đầu Microsoft phát hành bản cập nhật No Do, tiếp sau đó là bản nâng cấp lớn Mango (còn được biết là Windows Phone 7.5) vào tháng 5/2011 Bản cập nhật này bao gồm phiên bản di động của Internet Explorer 9, đa nhiệm cho phần mềm của công ty thứ
ba, hợp nhất Twitter vào People Hub, và cho phép đăng nhập SkyDrive Một bản nâng cấp nhỏ được phát hành năm 2012 là "Tango" Trong bản cập nhật này, Microsoft đã sửa những lỗi bug, hạ thấp cấu hình tối thiểu cho Windows Phone xuống chip 800MHz và RAM 256MB để phù hợp cho những máy giá rẻ cấu hình thấp
Tháng 01/2012, Microsoft tung ra bản Windows Phone 7.8 Nó bổ sung thêm những tính năng từ Windows Phone 8, chẳng hạn như màn hình chủ, tăng số lượng tông màu lên
20 và khả năng đặt màn hình khóa là hình ảnh trong ngày của Bing Windows Phone 7.8 nhằm kéo dài tuổi thọ của các thiết bị Windows Phone 7, vì chúng không thể nâng cấp lên Windows Phone 8 bởi giới hạn phần cứng Windows Phone 7.8 vẫn sẽ được Microsoft hỗ trợ trong thời gian tới song song với Windows Phone 8 Dự kiến Microsoft ngừng hỗ trợ bản 7.8 kể từ ngày 9 tháng 9 2014
Ngày 20 tháng 6 năm 2012, Microsoft giới thiệu Windows Phone 8, một thế hệ hệ điều hành mới và 4 tháng sau, 29 tháng 10 năm 2012, Microsoft bắt đầu bán phiên bản này 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, chính vì vậy điều này đã làm cho ứng dụng dễ dàng được port giữa hai hệ điều hành Ngoài ra, Windows Phone 8 còn hỗ trợ CPU
đa nhân, nhiều độ phân giải, tùy biến Start Screen, bổ sung IE10, Nokia Maps thay thế Bing Maps Theo Microsoft, Windows Phone 8 sẽ được hỗ trợ đến ngày 8 tháng 7 năm
2014
Trang 81.1 Phần mềm
Về giao diện
Windows Phone có giao diện người dùng (UI) dựa theo hệ sinh thái thiết kế của Microsoft những năm gần đây với biệt danh "Metro" Khởi thủy của Metro UI đã từng xuất hiện trên máy nghe nhạc Zune HD của Microsoft để cạnh tranh với iPod của Apple
Ngoài ra, chúng còn liên kết với các Hub chứa những tính năng chủ đạo của điện thoại Thật vậy, khả năng liên kết của các tấm lát có thể nói là vô tận Những tấm lát nào được ưa thích có thể được xếp lên trên cùng để tiện theo dõi và thao tác Màn hình Start Screen rất dài, chúng ta có thể kéo lên kéo xuống liên tục Do đó, việc sắp xếp các tấm lát
là điều cần thiết Hub là một chức năng rất thú vị trong WP Thay vì hàng loạt các biểu tượng trên màn hình với các chức năng riêng, Hub trong WP được coi như một sân giữa
và tại đây, những thao tác kế tiếp sẽ được thực hiện Với các Hub, chúng ta sẽ dễ dàng tiếp cận với một tổ hợp các chức năng hay ứng dụng Khi chúng ta chọn một Hub, một khu vực với giao diện kéo sang ngang sẽ mở ra, thông tin sẽ được hiển thị liền kề nhau từ trái sang phải Một lần nữa, đây là nét mới mà WP rất giống Zune Những nội dung bên trên trong Hub bao gồm những dữ liệu được lưu trong máy và dữ liệu trên đám mây như hình ảnh,
địa chỉ liên lạc,…
Có các loại Hub:
Hub ảnh: Trong Hub ảnh sẽ có những tấm ảnh bạn chụp bằng điện thoại và album Facebook, SkyDrive, từ tài khoản người dùng Người dùng có thể tải ảnh lên Facebook ngay tại Hub ảnh
Hub danh bạ: Hiển thị danh bạ trong máy hợp với các nguồn khác như Facebook, Windows Live,
Hub văn phòng: Các tài liệu Microsft Word, Microsoft Excel trong máy và trên SkyDrive
Hub tin nhắn: Gửi tin nhắn trong danh bạ điện thoại và chat Facebook
Trang 9 Hub trò chơi: Kết nối với XBOX Live
Hub media: Kết nối với XBOX Live Musics and Videos
Trang 10Về nhập liệu
Bàn phím cảm ứng của WP có thiết kế khá giống với Android
WP được trang bị một bàn phím trên màn hình cảm ứng với một số nét giống Zune
HD, chức năng tự động sửa lỗi (Auto-correction) đã được cải tiến với khả năng đoán từ tốt hơn Không giống với những phiên bản WP trước đây, Microsoft hoàn toàn làm chủ tính năng nhập liệu qua bàn phím cảm ứng Điều này có nghĩa chúng ra sẽ không thể cài đặt thêm một bàn phím nào khác trên WP Nhưng có thể nói, bàn phím ảo của WP khá tốt và thậm chí còn có một nốt riêng (bên cạnh nút Space) để hiển thị một bảng chứa các khuôn mặt biểu lộ cảm xúc (Enmoticon) khi chúng ta cập nhật trạng thái trên mạng xã hội
1.2 Nhận xét
Windows Phone đã ra mắt với vẻ ngoài khác lạ và bí ẩn chưa từng có trên thiết bị
WM trước đây Tuy nhiên, tính sáng tạo đã hạn chế khi so sánh với các đối thủ cạnh tranh
và xu hướng hệ điều hành hiện nay như Android Giao diện không tùy biến được nhiều, tính năng đa nhiệm vẫn chưa thật sự xuất hiện, khả năng hỗ trợ thẻ nhớ vẫn bị bỡ ngỡ,
Trang 11nhiều chính sách ràng buộc về phần mềm lẫn phần cứng… Để Windows Phone thành công, Marketplace chắc chắn phải được
Microsoft đầu tư kỹ càng bên cạnh các đối thủ khác như App Store của Apple hay Android Market
2 Tìm hiểu XAML và các control cơ bản
2.1 Tìm hiểu XAML
- Vì sao sử dụng XAML?
Tách rời nội dung về đồ họa ra khỏi code
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 1 thành phần
Khai báo namespace cho trang XAML
Thành phần thuộc tính (property element) dung để khai báo các thuộc tính phức tạp
Collection Systax: thuộc tính của một element co thể là tập hợp của nhiều element
Trang 12 Attached Property Syntax (thuộc tính đính kèm): một số thuộc tính ở element cha được đính kèm vào element con
2.2 Các control cơ bản trong Windows Phone
- Layout controls: là những control kế thừa từ Panel, dung để chứa và sắp xếp các đối tượng con nằm trong nó Có 3 loại chính
Grid: xếp các đối tượng con dựa theo dòng và cột
StackPanel: các đối tượng con được xếp liền kề nhau theo chiều dọc hay chiều ngang
Canvas: vị trí các đối tượng con được xác định bởi khoảng cách của nó đến lề trái và lề trên của thành phần chứa nó
- Text controls:
TextBlock: dung để hiển thị chuỗi, dùng thành phần <Run/> để thể hiện nhiều chuỗi với định dạng khác nhau và thuộc tính InputScope dung để hỗ trợ người dung nhập liệu
PasswordBox
- Selection controls:
CheckBox: dung để thể hiện cho những lựa chọn mang 2 giá trị đúng – sai
RadioButton: dung để chọn 1 trong nhiều lựa chọn
Slider: dung để thay đổi giá trị cần biến thiên
- Button:
Trang 13- Image control:
3 Các control nâng cao trong Windows Phone
3.1 List Control
- ListBox control: dung để hiển thị dữ liệu dạng danh sách Có 2 cách sử dụng ListBox
Khai báo các Item ngay trên XAML
Load các Item từ 1 nguồn dữ liệu thông qua data binding
Trang 163.3 Media controls
Image
- Image control dung để thể hiện hình ảnh trên ứng dụng
- Cách khai báo image control
- Thuộc tính Stretch để định dạng cách hiển thị hình ảnh Các giá trị của Stretch:
Fill: hình sẽ được co giãn để đáp ứng kích thước đa hình, không quan tâm đến tỉ lệ
None: giữ nguyên kích thước cũng như tỉ lệ của hình
The Uniform: co giãn hình tối đa theo kích thước đã định nhưng vẫn đảm bảo được tỉ lệ và vẫn nằm lọt trong khung hình
The UniformToFill: co giãn hình tối đa theo kích thước đã định, vẫn đảm bảo được tỉ lệ nhưng không đảm bảo việc hình có bị mất hay không
MediaElement
- Để chơi các file media như nhạc hay video
- Cách khai báo MediaElement
Trang 17- Định nghĩa các nút điều khiển
- Ghi chú: đổi thuộc tính Buid Action của file video thành resource
3.4 MessageBox, Popups
MessageBox
- Cho phép ứng dụng đưa ra những thông báo cho người dung dưới dạng panel nằm đè
lên màn hình hiện tại
- Với MessageBox ta chỉ có thể tương tác với người dung bằng những câu thông báo và
các nút nhấn đơn giản như Yes, No, Cancel
- MessageBox được gọi từ code behind
- Nếu MessageBox có 2 nút nhấn OK – Cancel ta dung biến kiểu MessageBoxResult để nhận kết quả
Trang 18- Để ẩn hay hiện popup ta dung thuộc tính IsOpen
4 Các loại ứng dụng và chuyển trang trong Windows Phone
4.1 Các loại ứng dụng
Single Page
- Đây là loại ứng dụng cơ bản nhất của Windows Phone
- Bao gồm những trang riêng lẻ
- Di chuyển giữa các trang bằng cách sử dụng NavigationService
Pivot
- Pivot control tạo ra ứng dụng kiểu tabbed
- Bản chất pivot control là 1 container chứa 1 hay nhiều PivotItem control
- Ta có thể di chuyển giữa các view bằng cách:
Xem nhiều bộ dữ liệu
- Để tạo một pivot application ta có thể:
Chọn template “Windows Phone Pivot App” khi tạo project mới
Chọn template mặc định và kéo thả control pivot từ ToolBox
Thêm 1 page dạng “Windows Phone Pivot Page” vào project hiện tại
- Cấu trúc 1 trang Pivot
Trang 19- Cách khai báo 1 trang Pivot
Panorama
- Tạo ra 1 ứng dụng gồm nhiều trang dài theo chiều ngang
- Để tạo 1 Panorama application ta có thể
Chọn template project dạng Windows Phone Panorama App khi tạo project mới
Kéo thả control panorama control từ ToolBox vào giao diện
Thêm 1 trang dạng Windows Phone Panorama Page
Trang 20- Cấu trúc 1 panorama control
- Cách khai báo panorama control
4.2 Chuyển trang (Navigation)
Chuyển trang giữa các page
- Sử dụng phương thức Navigate() trong lớp NavigationService
- UriKind
Absolute: đường dẫn tuyệt đối
Relative: đường dẫn tương đối
Relative or Absolute: chưa xac định
- Các sự kiện quan trọng
OnNavigatedTo(): sự kiện navigate từ trang khác đến trang hiện tại
OnNavigatedFrom(): sự kiện navigate từ trang hiện tại đến trang khác
Loaded: sự kiện khi page đã load hoàn tất
Trang 21Truyền tham số giữa các trang
- Tương tự cách truyền tham số trên web
- Sử dụng kí tự ‘&’ để truyền nhiều tham số cùng lúc
- Sử dụng string format
Làm việc với Navigation Backstack
- BackStack chứa danh sách các trang mà người dung đã di chuyển đến trong quá trình
sử dụng app
- Khi người dung ấn phím Back, trang cuối cùng được lưu trong BackStack sẽ được lấy
ra
- Để trở về trang trước đó, dung phương thức GoBack() trong lớp NavigationService
- Để xóa BackStack, sử dụng phương thức RemoveBackStackEntry()
5 Data binding cơ bản
5.1 Data binding là gì?
Data Binding là quá trình thiết lập 1 kênh giao tiếp giữa 1 thành phần giao diện
và nguồn dữ liệu cung cấp cho thành phần đó
5.2 Các thành phần chính trong Data Binding
- Binding Target: đối tượng muốn Binding
- Source:đối tượng cung cấp dữ liệu, nó được gán vào DataContext của thành phần UI cần Binding
- Path: tên thuộc tính của đối tượng dữ liệu đang làm source
- Mode: chiều tương tác dữ liệu với UI