Tải bản đầy đủ (.pdf) (73 trang)

Xây dựng phần mềm quản lý phòng trọ cho danh nghiệp tùng thảo nguyên sử dụng công nghệ windows phone

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.74 MB, 73 trang )

LỜI CẢM ƠN
Sau thời gian nghiên cứu và tìm hiểu đề tài “Xây dựng phần mềm quản lý
phòng trọ cho danh nghiệp Tùng Thảo Nguyên sử dụng công nghệ Windows
Phone” đã được hoàn thiện. Để đạt được kết quả này, em đã hết sức nỗ lực đồng
thời cũng nhận được rất nhiều sự quan tâm, giúp đỡ và ủng hộ của thầy cô, gia
đình và bạn bè.
Em xin chân thành cảm ơn Khoa Công Nghệ Thông Tin - Trường ĐH
CNTT&TT đã tạo điều kiện cho em thực hiện đồ án tốt nghiệp này. Em xin chân
thành cảm ơn quý thầy, cô giáo đã tận tình giảng dạy, trang bị cho chúng em
những kiến thức quý báu trong những năm học vừa qua.
Đặc biệt em xin chân thành cảm ơn cô ThS. Phạm Thị Thương đã tận
tình hướng dẫn, giúp đỡ, chỉ bảo và đóng góp ý kiến cho em trong suốt thời gian
thực hiện đồ án.
Do thời gian hạn hẹp, mặc dù đã nỗ lực hết sức mình nhưng đồ án tốt
nghiệp của em khó tránh khỏi những thiếu sót. Em rất mong nhận được những ý
kiến đóng góp của quý Thầy Cô và các bạn để đồ án tốt nghiệp của em được
hoàn thiện hơn.

Em xin chân thành cảm ơn!
SINH VIÊN

Phạm Ngọc Điểm

1


LỜI CAM ĐOAN
Để hoàn thành đồ án tốt nghiệp đúng thời gian quy định và đáp ứng được
yêu cầu đề ra, em đã cố gắng tìm hiểu, học hỏi, tích lũy kiến thức đã học. Em có
tham khảo một số tài liệu đã nêu trong phần “Tài liệu tham khảo”nhưng không
sao chép nội dung từ bất kỳ đồ án nào khác.


Em xin cam đoan những lời khai trên là đúng, mọi thông tin sai lệch em
xin hoàn toàn chịu trách nhiệm trước Hội đồng.
Thái Nguyên, ngày 06 tháng 06 năm 2016
SINH VIÊN

Phạm Ngọc Điểm

2


MỤC LỤC
LỜI CẢM ƠN .....................................................................................................1
LỜI CAM ĐOAN................................................................................................2
MỤC LỤC ..........................................................................................................3
DANH MỤC HÌNH ẢNH ...................................................................................5
LÝ DO CHỌN ĐỀ TÀI.......................................................................................7
LỜI NÓI ĐẦU ....................................................................................................9
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT ..................................................................10
1.1 Giới thiệu ngôn ngữ lập trình C#..............................................................10
1.2 Xây dựng ứng dụng Windows Phone 8.1 .................................................13
1.2.1 Windows Architecture ......................................................................14
1.2.2 Tạo ứng dụng Windows Phone .........................................................15
1.2.3 Model View ViewModel (MVVM)...................................................20
1.2.4 Navigation ........................................................................................20
1.3 Panels và Controls ...................................................................................20
1.3.1 Panels ...............................................................................................21
1.3.2 Controls ............................................................................................25
1.4 Giới thiệu về UML .................................................................................36
1.4.1 Khái niệm và đặc điểm của UML......................................................36
1.4.2 Mô hình khái niệm của UML ............................................................37

CHƯƠNG 2: KHẢO SÁT VÀ PHÂN TÍCH THIẾT KẾ HỆ THỐNG..............41
2.1

Khảo sát hiện trạng ............................................................................41

2.1.1 Phần mềm quản lý phòng trọ trên thị trường .....................................41
2.1.2 Khảo sát thực tế xóm trọ của doanh nghiệp Tùng Thảo Nguyên........42
2.2 Biểu đồ Use Case mức chi tiết ................................................................47
2.3 Biểu đồ trình tự........................................................................................49
2.4 Biểu đồ lớp ..............................................................................................56
2.5 Biểu đồ trạng thái ....................................................................................57
CHƯƠNG 3: CÀI ĐẶT CHƯƠNG TRÌNH ......................................................58
3.1 Mô tả chương trình ..................................................................................59

3


3.1.1 Mô tả mục quản lý khu vực...............................................................59
3.1.2 Mô tả mục quản lý thuê – trả phòng ..................................................60
3.1.3 Mô tả mục quản lý thanh toán ...........................................................61
3.1.4 Mô tả mục quản lý cài đặt .................................................................63
3.2 Giao diện của ứng dụng ...........................................................................64
KẾT LUẬN.......................................................................................................71
TÀI LIỆU THAM KHẢO .................................................................................72
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN................................................73

4


DANH MỤC HÌNH ẢNH


Hình 1.1 Windows Architecture ........................................................................14
Hình 1.2 Tạo một ứng dụng Windows Phone ....................................................15
Hình 1.3 Các thư mục và tập tin trong Windows Phone.....................................15
Hình 1.4 AssemblyInfo.cs .................................................................................16
Hình 1.5 Package.appxmanifest.........................................................................17
Hình 1.6 Package.appxmanifest xml file............................................................18
Hình 1.7 App.xaml.cs ........................................................................................19
Hình 1.8 MainPage.xaml ...................................................................................19
Hình 1.9 Sử dụng Margin ..................................................................................23
Hình 1.10 Sử dụng Padding ...............................................................................24
Hình 1.11 Sử dụng StackPanel ..........................................................................25
Hình 1.12 TextBlock và TextBox ......................................................................27
Hình 1.13 Button và Event Handlers .................................................................28
Hình 1.14 Button và Event Handlers .................................................................29
Hình 1.15 CheckBoxer, ToggleSwitches và RadioButton ..................................30
Hình 1.16 ListBox, ListView và ComboBox .....................................................32
Hình 1.17 Image ................................................................................................33
Hình 1.18 Slide..................................................................................................34
Hình 1.19 ProgressBar.......................................................................................35
Hình 1.20 DatePicker & TimePicker .................................................................36
Hình 2.1 Dãy nhà D1 xóm trọ Tùng Thảo Nguyên. ...........................................43
Hình 2.2 Một mặt của dãy nhà D3 xóm trọ Tùng Thảo Nguyên.........................44
Hình 2.3 Nhà B xóm trọ Tùng Thảo Nguyên (bên phải là nhà A phòng điều hòa,
nóng lạnh chất lượng cao)..................................................................................44
Hình 2.4 Sân cầu lông giữa nhà D1 và nhà D3...................................................45
Hình 2.5 Nhà A với trang bị điều hòa, bình nóng lạnh. ......................................45
Hình 2.6 Nhà D3 xóm trọ Tùng Thảo Nguyên ...................................................46
Hình 2.7 Biểu đồ Use Case mức tổng quát.........................................................48


5


Hình 2.8 Biểu đồ Use Case mức chi tiết ...........................................................48
Hình 2.9 Biểu đồ tuần tự mô tả quản lý Khu Vực. .............................................49
Hình 2.10 Biểu đồ tuần tự mô tả quản lý Phòng Còn Trống..............................50
Hình 2.11 Biểu đồ tuần tự mô tả quản lý Phòng Đã Thuê. ................................51
Hình 2.12 Biểu đồ tuần tự mô tả quản lý Vật Dụng. .........................................52
Hình 2.13 Biểu đồ tuần tự mô tả quản lý Cài Đặt..............................................53
Hình 2.14 Biểu đồ tuần tự mô tả chức năng Thuê – Trả Phòng. .........................54
Hình 2.15 Biểu đồ tuần tự mô tả chức năng Thanh Toán và gửi hóa đơn thanh
toán qua tin nhắn điện thoại. ..............................................................................55
Hình 2.16 Biểu đồ lớp tổng quan ......................................................................56
Hình 2.17 Biểu đồ trạng thái..............................................................................57
Hình 3.1 Hướng dẫn cài đặt chương trình ..........................................................58
Hình 3.2 Quản lý khu vực phòng trọ..................................................................59
Hình 3.3 Hiển thị danh sách phòng trọ và tình trạng của phòng trọ. ...................60
Hình 3.4 Mô tả trạng thái và điều hướng phòng trọ............................................61
Hình 3.5 Danh sách hóa đơn..............................................................................61
Hình 3.6 Mô tả chi tiết hóa đơn .........................................................................62
Hình 3.7 Mô tả phần quản lý cài đặt ..................................................................63
Hình 3.8 Giao diện chức năng ban đầu của phần mềm.......................................64
Hình 3.9 Giao diện danh mục chức năng ...........................................................65
Hình 3.10 Giao diện chức năng thanh toán. .......................................................66
Hình 3.11 Giao diện danh sách hóa đơn.............................................................67
Hình 3.12 Giao diện hóa đơn thanh toán tiền phòng. .........................................68
Hình 3.13 Giao diện mô tả chức năng gửi hóa đơn qua mail..............................69
Hình 3.14 Giao diện mô tả nhận hóa đơn hàng tháng qua mail ..........................70

6



LÝ DO CHỌN ĐỀ TÀI
Windows phone là hệ điều hành chạy rất mượt mà và có tính bảo mật cao,
tuy nhiên thì Windows Phone cho đến nay vẫn chưa nhận được nhiều sự quan
tâm từ phía người dùng bởi lẽ người dùng chưa hài lòng về giao diện cũng như
kho ứng dụng Windows Phone vẫn còn nhiều hạn chế. Windows Phone đang
ngày một hoàn thiện để mang đến một cách tiếp cận mới mẻ hơn và ngày càng có
nhiều người dùng yêu thích hệ điều hành này hơn, chắc chắn tương lai hệ điều
hành này sẽ phát triển và không thua kém gì Android và IOS hiện nay.
Do đó em đã chọn đề tài “Xây dựng phần mềm quản lý phòng trọ cho
danh nghiệp Tùng Thảo Nguyên sử dụng công nghệ Windows Phone” cho đợt
đồ án tốt nghệp này. Hi vọng qua đây em sẽ có thêm nhiều kiến thức về lập trình
Windows Phone, cũng như khả năng tư duy lập trình của mình.
 Mục đích của đề tài
- Tìm hiểu và nghiên cứu hệ điều hành Windows Phone.
- Hiểu rõ quy trình phát triển phần mềm trên thiết bị di động.
- Xây dựng thành công phần mềm quản lý phòng trọ trên máy điện thoại
Windows Phone.
 Đối tượng phạm vi nghiên cứu
- Đối tượng nghiên cứu của đề tải là: một số hiểu biết về lập trình cho di
động, quy trình phát triển ứng dụng trên di động. Ngôn ngữ lập trình Windows
Phone.
- Phạm vi nghiên cứu là: Tất cả các thành phần lập trình của Windows
Phone.
 Ý nghĩa khoa học và thực tiễn của đề tài
- Đề tài có ý nghĩa khoa học rất lớn giúp em có được những kiến thức quý
báu và cũng là tiền đề để em có thể bắt tay vào nghiên cứu những đề tài lớn hơn,
phức tạp hơn.
- Việc nghiên cứu và thực hiện đề tài có ý nghĩa rất lớn trong việc thúc

đẩy sự phát triển những ứng dụng trên thiết bị di động.

7


Em xin bày tỏ lòng biết ơn chân thành nhất tới các thầy cô trong Khoa
Công Nghệ Thông Tin - Đại học Công Nghệ Thông Tin & Truyền thông đã tận
tình giảng dạy, trang bị những kiến thức quý báu cho em trong bốn năm học vừa
qua.
Đặc biệt, em xin gửi lời cảm ơn sâu sắc tới Giảng viên ThS. Phạm Thị
Thương đã tận tình hướng dẫn về chuyên môn, góp ý và động viên em trong quá
trình thực hiện đề tài.
Mặc dù đã cố gắng hết sức, nhưng do kiến thức còn hạn chế nên không thể
tránh khỏi thiếu sót, mong nhận được sự góp ý từ thầy cô và các bạn để bài báo
cáo được hoàn thiện hơn. Xin chân thành cảm ơn!
Sinh viên thực hiện:

Phạm Ngọc Điểm

8


LỜI NÓI ĐẦU
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
8.1 và chuẩn bị là windows 10).
Windows phone là hệ điều hành chạy rất mượt mà và có tính bảo mật cao,
tuy nhiên thì Windows Phone cho đến nay vẫn chưa nhận được nhiều sự quan
tâm từ phía người dùng bởi lẽ người dùng chưa hài lòng về giao diện cũng như

kho ứng dụng windows phone vẫn còn nhiều hạn chế. Windows Phone đang
ngày một hoàn thiện để mang đến một cách tiếp cận mới mẻ hơn và ngày càng có
nhiều người dùng yêu thích hệ điều hành này hơn, chắc chắn tương lai hệ điều
hành này sẽ phát triển và không thua kém gì Android và IOS hiện nay.
Do đó em đã chọn đề tài “Xây dựng phần mềm quản lý phòng trọ cho
doanh nghiệp Tùng Thảo Nguyên sử dụng công nghệ Windows Phone” cho
đợt đồ án tốt nghiệp này. Hi vọng qua đây em sẽ có thêm nhiều kiến thức về lập
trình windows phone, cũng như khả năng tư duy lập trình của mình.
Nội dung chính của đề tài bao gồm:
Chương 1: Cơ sở lý thuyết.
Chương 2: Khảo sát, phân tích và thiết kế hệ thống.
Chương 3: Xây dựng phần mềm quản lý phòng trọ sử dụng công nghệ
Windows Phone.
Trong quá trình thực hiện đồ án em đã nhận được sự giúp đỡ chỉ bảo tận
tình của các thầy, cô giáo và cán bộ nhà trường . Em xin chân thành cảm ơn cô
ThS. Phạm Thị Thương – giảng viên đã hướng dẫn trong quá trình làm bài đồ
án tốt nghiệp của em. Em cũng xin gửi lời cảm ơn chân thành đến tất cả các Thầy
Cô– Trường ĐH CNTT & Truyền Thông- Đại Học Thái Nguyên đã giảng dậy
em trong suốt thời gian qua.
Tuy nhiên, do thời gian hạn hẹp, mặc dù đã nỗ lực hết sức mình nhưng
chắc rằng bài báo cáo khó tránh khỏi thiếu sót. Em rất mong nhận được sự thông
cảm, những lời góp ý và chỉ bảo tận tình của quý Thầy Cô và các bạn.
Thái Nguyên - 06/06/2016

9


CHƯƠNG 1:
CƠ SỞ LÝ THUYẾT
1.1 Giới thiệu ngôn ngữ lập trình C#

Ngôn ngữ C# là một ngôn ngữ được dẫn xuất từ C và C++, nhưng nó
được tạo từ nền tảng phát triển hơn. Microsoft bắt đầu với công việc trong C và
C++ và thêm vào những đặc tính mới để làm cho ngôn ngữ này dễ sử dụng hơn.
Nhiều trong số những đặc tính này khá giống với những đặc tính có trong ngôn
ngữ Java. Không dừng lại ở đó, Microsoft đưa ra một số mục đích khi xây dựng
ngôn ngữ này. Những mục đích này được được tóm tắt như sau:
C# là ngôn ngữ đơn giản
C# là ngôn ngữ hiện đại
C# là ngôn ngữ hướng đối tượng
C# là ngôn ngữ mạnh mẽ và mềm dẻo
C# là ngôn ngữ có ít từ khóa
C# là ngôn ngữ hướng module
C# sẽ trở nên phổ biến
C# là ngôn ngữ đơn giản
C# loại bỏ một vài sự phức tạp và rối rắm của những ngôn ngữ như Java
và c++, bao gồm việc loại bỏ những macro, những template, đa kế thừa, và lớp
cơ sở ảo (virtual base class). Chúng là những nguyên nhân gây ra sự nhầm lẫn
hay dẫn đến những vấn đề cho các người phát triển C++. Nếu chúng ta là người
học ngôn ngữ này đầu tiên thì chắc chắn là ta sẽ không trải qua những thời gian
để học nó! Nhưng khi đó ta sẽ không biết được hiệu quả của ngôn ngữ C# khi
loại bỏ những vấn đề trên. Ngôn ngữ C# đơn giản vì nó dựa trên nền tảng C và
C++. Nếu chúng ta thân thiện với C và C++ hoậc thậm chí là Java, chúng ta sẽ
thấy C# khá giống về diện mạo, cú pháp, biểu thức, toán tử và những chức năng
khác được lấy trực tiếp từ ngôn ngữ C và C++, nhưng nó đã được cải tiến để làm
cho ngôn ngữ đơn giản hơn. Một vài trong các sự cải tiến là loại bỏ các dư thừa,
hay là thêm vào những cú pháp thay đổi. Ví dụ như, trong C++ có ba toán tử làm
việc với các thành viên là ::, . , và ->. Để biết khi nào dùng ba toán tử này cũng

10



phức tạp và dễ nhầm lẫn. Trong C#, chúng được thay thế với một toán tử duy
nhất gọi là . (dot). Đối với người mới học thì điều này và những việc cải tiến
khác làm bớt nhầm lẫn và đơn giản hơn.
Ghi chú: Nếu chúng ta đã sử dụng Java và tin rằng nó đơn giản, thì chúng
ta cũng sẽ tìm thấy rằng C# cũng đơn giản. Hầu hết mọi người đều không tin
rằng Java là ngôn ngữ đơn giản. Tuy nhiên, C# thì dễ hơn là Java và C++.
C# là ngôn ngữ hiện đại
Điều gì làm cho một ngôn ngữ hiện đại? Những đặc tính như là xử lý
ngoại lệ, thu gom bộ nhớ tự động, những kiểu dữ liệu mở rộng, và bảo mật mã
nguồn là những đặc tính được mong đợi trong một ngôn ngữ hiện đại. C# chứa
tất cả những đặc tính trên. Nếu là người mới học lập trình có thể chúng ta sẽ cảm
thấy những đặc tính trên phức tạp và khó hiểu. Tuy nhiên, cũng đừng lo lắng
chúng ta sẽ dần dần được tìm hiểu những đặc tính qua các chương trong cuốn
sách này.
Ghi chú: Con trỏ được tích hợp vào ngôn ngữ C++. Chúng cũng là nguyên
nhân gây ra những rắc rối của ngôn ngữ này. C# loại bỏ những phức tạp và rắc
rối phát sinh bởi con trỏ. Trong C#, bộ thu gom bộ nhớ tự động và kiểu dữ liệu
an toàn được tích hợp vào ngôn ngữ, sẽ loại bỏ những vấn đề rắc rối của C++.
C# là ngôn ngữ hướng đối tượng
Những đặc điểm chính của ngôn ngữ hướng đối tượng (Object-oriented
language) là sự đóng gói (encapsulation), sự kế thừa (inheritance), và đa hình
(polymorphism). C# hỗ trợ tất cả những đặc tính trên. Phần hướng đối tượng của
C# sẽ được trình bày chi tiết trong một chương riêng ở phần sau.
C# là ngôn ngữ mạnh mẽ và cũng mềm dẻo
Như đã đề cập trước, với ngôn ngữ C# chúng ta chỉ bị giới hạn ở chính bởi
bản thân hay là trí tưởng tượng của chúng ta. Ngôn ngữ này không đặt những
ràng buộc lên những việc có thể làm. C# được sử dụng cho nhiều các dự án khác
nhau như là tạo ra ứng dụng xử lý văn bản, ứng dụng đồ họa, bản tính, hay thậm
chí những trình biên dịch cho các ngôn ngữ khác.


11


C# là ngôn ngữ ít từ khóa
C# là ngôn ngữ sử dụng giới hạn những từ khóa. Phần lớn các từ khóa
được sử dụng để mô tả thông tin. Chúng ta có thể nghĩ rằng một ngôn ngữ có
nhiều từ khóa thì sẽ mạnh hơn. Điều này không phải sự thật, ít nhất là trong
trường hợp ngôn ngữ C#, chúng ta có thể tìm thấy rằng ngôn ngữ này có thể
được sử dụng để làm bất cứ nhiệm vụ nào. Bảng sau liệt kê các từ khóa của ngôn
ngữ C#.

Bảng 1.2: Từ khóa của ngôn ngữ C#
C# là ngôn ngữ hướng module
Mã nguồn C# có thể được viết trong những phần được gọi là những lớp,
những lớp này chứa các phương thức thành viên của nó. Những lớp và những
phương thức có thể được sử dụng lại trong ứng dụng hay các chương trình khác.
Bằng cách truyền các mẫu thông tin đến những lớp hay phương thức chúng ta có
thể tạo ra những mã nguồn dùng lại có hiệu quả.
C# sẽ là một ngôn ngữ phổ biến
C# là một trong những ngôn ngữ lập trình mới nhất. Vào thời điểm cuốn
sách này được viết, nó không được biết như là một ngôn ngữ phổ biến. Nhưng
ngôn ngữ này có một số lý do để trở thành một ngôn ngữ phổ biến. Một trong
những lý do chính là Microsoft và sự cam kết của .NET

12


Microsoft muốn ngôn ngữ C# trở nên phổ biến. Mặc dù một công ty
không thể làm một sản phẩm trở nên phổ biến, nhưng nó có thể hỗ trợ. Cách đây

không lâu, Microsoft đã gặp sự thất bại về hệ điều hành Microsoft Bob. Mặc dù
Microsoft muốn Bob trở nên phổ biến nhưng thất bại. C# thay thế tốt hơn để đem
đến thành công sơ với Bob. Thật sự là không biết khi nào mọi người trong công
ty Microsoft sử dụng Bob trong công việc hằng ngày của họ. Tuy nhên, với C#
thì khác, nó được sử dụng bởi Microsoft. Nhiều sản phẩm của công ty này đã
chuyển đổi và viết lại bằng C#. Bằng cách sử dụng ngôn ngữ này Microsoft đã
xác nhận khả năng của C# cần thiết cho những người lập trình.
1.2 Xây dựng ứng dụng Windows Phone 8.1


Tổng quan về XAML

XAML, viết tắt của Extensible Application Markup Language, là ngôn
ngữ đặc tả dựa trên XML được dùng để định nghĩa các đối tượng và thuộc tính
của chúng, mối quan hệ cũng như sự tương tác. XAML đặc biệt được dùng trong
các công nghệ của .NET Framework (trong đó có WPF, Windows và Windows
Phone) như ngôn ngữ đặc tả giao diện người dùng (User Interface – UI) nhằm
mô tả cấu trúc và đặc tính của các phần tử UI, sự liên kết dữ liệu, các sự kiện và
các đặc tính khác.
XAML đóng vai trò một ngôn ngữ chung giữa môi trường thiết kế giao
diện và môi trường lập trình.
Đối với người thiết kế, XAML không những cho phép người thiết kế dễ
dàng mô tả, chỉnh sửa các đối tượng UI và các đặc tính của chúng, mà còn cho
phép họ tương tác với các đối tượng này ở mức độ nhất định. Do vậy, tăng khả
năng cảm quan của người thiết kế đối với giao diện. Ngoài ra, nó cũng giúp
người thiết kế hạn chế những ý tưởng đồ họa không khả thi khi lập trình.
Đối với người lập trình, nhờ một môi trường lập trình có khả năng tự động
tái tạo giao diện đã thiết kế dựa trên file đặc tả bằng XAML do người thiết kế
chuyển sang, người lập trình không cần tự mình tái tạo lại giao diện. Điều này
giảm đi nhiều công sức và thời gian để phát triển giao diện, cũng như tránh những

sai lệch giữa giao diện do người thiết kế và giao diện do người lập trình tái tạo.

13


Vì cả môi trường thiết kế và lập trình đều có khả năng hiểu và sử dụng
XAML, ứng dụng XAMl có thể chuyển qua lại giữa hai môi trường phát triển để
sửa đổi hay bổ sung giao diện một cách dễ dàng. Với tất cả những điểm lợi này,
vị thế của người thiết kế trong việc xây dựng giao diện được nâng cao.
Trong chương này chúng ta sẽ cùng tìm hiểu về XAML, cấu trúc một ứng
dụng XAML, cũng như tìm hiểu về các Panel, Control và Binding trong XAML.
 Phần tiếp theo sẽ trình bày các nguyên tắc cốt lõi của ứng dụng
Windows Store (trong đó có Windows và Windows Phone), bao gồm kiến trúc
của nó, tất cả các phần của ứng dụng trong Visual Studio, mô hình ModelView-ViewModel, và Navigation.
1.2.1 Windows Architecture

Hình 1.1 Windows Architecture
Ứng dụng Windows Phone sử dụng giao diện hiện đại – Model UI (trước
đây gọi là Metro) được phát triển bằng XAML hoặc HTML/CSS. Ứng dụng
XAML có thể được viết bằng C++, C# hoặc VB.NET. Còn các ứng dụng HTML
sử dụng JavaScript, tận dụng các thư viện WinJS để xây dựng chương trình.

14


1.2.2 Tạo ứng dụng Windows Phone
Để tạo ứng dụng Windows Phone 8.1 chúng ta có thể sử dụng Visual
Studio

hoặc


Blend

for

Visual

Studio.

Vào

File

>>

New

>>

Project…(Ctrl+Shift+N) xuất hiện hộp thoại New Project (Hình 1.2), chọn
Windows Phone Apps, tiếp tục chọn Blank App, đặt tên cho Project và bắt đầu
xây dựng ứng dụng Windows Phone của bạn.

Hình 1.2 Tạo một ứng dụng Windows Phone
Tổng quan về Project của ứng dụng
Khi một Project mới được tạo ra chương trình sẽ sinh cho chúng ta một số
thư mục và các tập tin như hình 1.3

Hình 1.3 Các thư mục và tập tin trong Windows Phone


15


Properties
Trong Properties có file AssemblyInfo.cs chứa những thông tin về bản
quyền của ứng dụng.

Hình 1.4 AssemblyInfo.cs
References
References chứa các tham chiếu từ ứng dụng Windows Phone của bạn tới
một chương trình, một thư viện khác.
Assets
Thư mục Assets, trong đó có chứa tất cả các hình ảnh được sử dụng trong
ứng dụng của bạn.

16


Package.appxmanifest
Package.appxmanifest chứa các tab mô tả ứng dụng của bạn. Manifest
thực chất là một file XML, nhưng Visual Studio đã cung cấp cho người dùng một
giao diện thân thiện để người dùng làm việc với các thành phần trong tập tin.

Hình 1.5 Package.appxmanifest

17


Hình 1.6 Package.appxmanifest xml file


18


App.xaml
File app.xaml và app.xaml.cs (code behind) chứa các phương thức điều
khiển hoạt động của ứng dụng khi ứng dụng chạy.

Hình 1.7 App.xaml.cs
MainPage.xaml

Hình 1.8 MainPage.xaml

19


MainPage.xaml là một trang trống, và là trang giao diện người dùng mặc
định. MainPage chứa giao diện Emulator của Windows Phone, bên cạnh đó là
trang code xaml giúp trực quan hơn khi chúng ta thiết kế.
1.2.3 Model View ViewModel (MVVM)
Mô hình Model View ViewModel (MVVM) là mô hình phổ biến trong
phát triển ứng dụng XAML. Có nguồn gốc từ mô hình Martin Flowler’s
Predentation Model.
Mô hình
Mục tiêu của MVVM nhằm tăng sự tách biệt giữa các lớp ứng dụng, tăng
khả năng test và thức đẩy quá trình tái sử dụng mã.
Model
Model không chứa các dữ liệu trong ứng dụng của bạn, nhưng nó chứa
các kết nối truy suất đến cơ sở dữ liệu.
View
View là các cửa sổ (như MainPage.xaml). View hiển thị dữ liệu cho người

dùng và nhận tương tác từ người dùng.
ViewModel
ViewModel thực hiện hai chức năng trong mô hình MVVM trong XAML.
- Chức năng đầu tiên là cung cấp một cơ chế vận chuyển dữ liệu giữa
Model và View.
- Thứ hai là hoạt động như bộ điều khiển cho các View và các Model, tiếp
nhận các hành động từ người dùng.
1.2.4 Navigation
Chủ đề tiếp theo mà chúng ta sẽ tìm hiểu là Navigation. Tất cả ứng dụng
Windows và Windows Phone là các trang đơn. Trong XAML, chúng ta triển khai
bằng cách tạo ra một Frame mà tất cả các trang tiếp theo sẽ được nạp vào.
1.3 Panels và Controls
Control cung cấp cách tương tác cho người dùng, Panel tổ chức sắp xếp
các control. Cùng nhau, chúng giúp bạn thiết kế giao diện cho ứng dụng của bạn.

20


1.3.1 Panels
Panel là một loại control đặc biệt, nó giúp bạn “giữ” các control khác,
cung cấp một nơi để lưu trữ và quản lý bố trí các control. Các loại panel thường
sử dụng:
- Border
- Canvas
- Grid
- StackPanel
Border
Border là một container mang đường biên hoặc background xung quanh
các control khác.
Canvas

Canvas được sử dụng chủ yếu trong các trò chơi và một số ứng dụng mà
bạn cần quan tâm chính xác đến từng pixel khi kiểm soát các vị trí của mọi đối
tượng trong ứng dụng của bạn.
Grid
Grid là một panel mặc định của các ứng dụng Windows cũng như
Windows Phone khi ứng dụng được tạo ra. Trong grid, chúng ta có thể tạo ra các
cột và các hàng, đồng thời xác định vị trí của các cột và các hàng, cũng như thiết
lập các thuộc tính của chúng.
<Grid>
</Grid>
Xác định hàng và cột
Grid bao gồm các hàng và các cột, bạn có thể xác định kích thước của
chúng bằng nhiều các khác nhau.
Cách phổ biến nhất là xác định kích thước cụ thể:
<Grid.RowDefinitions>
<RowDefinition Height="100"/>
</Grid.RowDefinitions>
hoặc để xác định kích thước tương đối của hai hoặc nhiều hàng:

21


<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="2*"/>
</Grid.RowDefinitions>
Trong đoạn code trên cho thấy rằng hàng thứ hai sẽ có kích thước gấp hai
lần hàng thứ nhất. (Phần không gian của hàng thứ hai sẽ chiếm 2/3 không gian
màn hình hiển thị)
Cách cuối cùng là xác định hàng và cột là đặt cho chúng kích thước là

“Auto”, khi đó hàng hay cột đó sẽ có kích thước lớn nhất có thể:
<Grid.RowDefinitions>
<RowDefinition Height="100"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
Alignment, Margins và Padding
Trong thiết lập đối tượng thành các hàng và cột của grid, để kiểm soát vị
trí của họ tốt hơn, bạn có thể thiết lập thuộc tính HorizontalAlignment (Căn
chỉnh theo chiều ngang) và VerticalAlignment (Căn chỉnh theo chiều dọc).
<Button VerticalAlignment="Top" HorizontalAlignment="Center"/>
Margin được thiết lập để tinh chỉnh vị trí của các đối tượng trong Grid

×