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

Xây dựng giải pháp thực đơn thông minh cho quán cafe

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 (6.56 MB, 136 trang )

MỤC LỤC
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP………………………………………………….......
NHẬT KÝ THỰC HIỆN ĐATN………………………………………………………….
LỜI CAM ĐOAN………………………………………………………………………….
Lời Cảm Ơn………………………………………………………………………………..
Liệt Kê Hình……………………………………………………………………………….
TĨM TẮT………………………………………………………………………………….
Chương 1 Giới Thiệu ........................................................................................................ 1
1.1 Vai trị và ứng dụng của cơng nghệ hiện nay ............................................................ 1
1.2 Lý do chọn đề tài ....................................................................................................... 1
1.3 Mục tiêu nghiên cứu .................................................................................................. 3
1.4 phương pháp nghiên cứu ........................................................................................... 3
1.5 Phạm vi nghiên cứu ................................................................................................... 3
1.6 Bố cục luận văn ......................................................................................................... 4
Chương 2 Cơ Sở Lý Thuyết .............................................................................................. 5
2.1 Hệ điều hành Android................................................................................................ 5
2.1.1 giới thiệu về hệ điều hành Android .................................................................... 5
2.1.2 Lịch sử phát triển hệ điều hành Android ............................................................ 6
2.1.3 Ứng dụng ............................................................................................................ 7
2.1.4 Các phiên bản Android ....................................................................................... 8
2.1.5 Đặc điểm hệ điều hành Android ....................................................................... 10
2.1.6 Kiến trúc của Hệ điều hành Android ................................................................ 10
2.1.7 Bộ công cụ Android SDK................................................................................. 14
2.2 Webservice .............................................................................................................. 15
2.2.1 Tổng quan về webservice ................................................................................. 15
2.2.2 Đặc điểm của web service ................................................................................ 16
2.2.3 Kiến trúc web service ....................................................................................... 17
2.2.4 Các thành phần của Web service ...................................................................... 19


2.2.5 An toàn cho Web service .................................................................................. 22


2.2.6 Xây dựng một dịch vụ web .............................................................................. 24
2.2.7 Tích hợp dịch vụ Web theo chuẩn .................................................................... 25
2.3 Tìm hiểu về ngơn ngữ lập trình java ....................................................................... 26
2.3.1 Tổng quan về ngơn ngữ java ............................................................................ 26
2.3.2 Sự ra đời của java ............................................................................................. 27
2.3.3 Triết lý của java ................................................................................................ 28
2.3.4 Một số đặc điểm của java ................................................................................. 29
2.3.5 Ứng dụng .......................................................................................................... 31
2.3.6 Một vài khái niệm trong java............................................................................ 31
Chương 3 Tính Tốn Thiết kế ........................................................................................ 33
3.1 Giới thiệu ................................................................................................................. 33
3.2 Thiết kế .................................................................................................................... 34
3.2.1 Thiết kế sơ đồ khối cho hệ thống ..................................................................... 35
3.2.2 Chức năng của từng khối của hệ thống ............................................................ 35
3.2.3 Tính tốn thiết kế từng khối của hệ thống. ....................................................... 36
Chương 4: Thi Công Hệ Thống ...................................................................................... 47
4.1 Giới thiệu ................................................................................................................. 47
4.2 Thi công ................................................................................................................... 47
4.2.1 Tạo web server ................................................................................................. 47
4.2.2 Tạo cơ sở dữ liệu cho hệ thống ........................................................................ 53
4.2.3 Thi cơng ứng dụng trên máy tính ..................................................................... 57
4.2.4 Thi công ứng dụng menu trên điện thoại Android ........................................... 69
Chương 5 Kết Quả Và Nhận Xét ................................................................................... 81
5.1 kết quả...................................................................................................................... 81
5.1.1 kết quả học hỏi của nhóm sinh viên thực hiện đề tài ....................................... 81
5.1.2 kết quả thực hiện đề tài ..................................................................................... 82
5.1.3 kết quả chạy ứng dụng trên máy tính ( PC ) ..................................................... 82
5.1.4 Kết quả chạy ứng dụng trên điện thoại Android .............................................. 87



5.2 Nhận xét ................................................................................................................... 90
5.2.1 Ưu điểm ............................................................................................................ 90
5.2.2 Hạn chế ............................................................................................................. 91
Chương 6 Kết luận Và Hướng Phát Triển .................................................................... 92
6.1 Kết luận.................................................................................................................... 92
6.2 Hướng phát triển ...................................................................................................... 92


TÀI LIỆU THAM KHẢO ................................................................................. 94

Sách tham khảo:............................................................................................................. 94
Website tham khảo: ....................................................................................................... 94
PHỤ LỤC ......................................................................................................................... 95


MÃ NGUỒN CHƯƠNG TRÌNH TRÊN PC .................................................... 95
Code kết nối database trên web server ...................................................................... 95
Code web service tạo các phương thức truy xuất với database trên web server ....... 96



MÃ NGUỒN CHƯƠNG TRÌNH TRÊN ANDROID ..................................... 124
Code giao diện ACTIVITIL ................................................................................... 124


Liệt Kê Hình
HÌNH 2. 1: HÌNH ẢNH MỘT SỐ PHIÊN BẢN CŨ ANDROID ...................................................... 8
HÌNH 2. 2:MƠ HÌNH KIẾN TRÚC NỀN TẢNG ANDROID ........................................................ 11
HÌNH 2. 3:MƠ HÌNH HỢP TÁC GIỮA MÁY ẢO DALVIK VÀ NAVITE ..................................... 14
HÌNH 2. 4: KIẾN TRÚC WEB SERVICE ................................................................................. 18

HÌNH 2. 5: MƠ TẢ VẬN CHUYỂN DỮ LIỆU WEB SERVICE .................................................... 19
Hình 3. 1: Mơ hình phác thảo về đề tài…………………………………………...…... 33
HÌNH 3. 2: SƠ ĐỒ KHỐI HỆ THỐNG ..................................................................................... 35
HÌNH 3. 3: SƠ ĐỒ CHI TIẾT TRONG CƠ SỞ DỮ LIỆU CỦA HỆ THỐNG .................................... 38
HÌNH 3. 4: MƠ HÌNH THỰC THỂ ERD ................................................................................. 39
HÌNH 3. 5: LƯU ĐỒ CHƯƠNG TRÌNH ỨNG DỤNG HOẠT ĐỘNG TRÊN MÁY TÍNH ................... 42
HÌNH 3. 6: LƯU ĐỒ CHI TIẾT KHỐI ỨNG DỤNG TRÊN ĐIỆN THOẠI ANDROID....................... 45
Hình 4. 1: Đăng ký hosting trên jvmhost…………………………………………..........48
HÌNH 4. 2: THƠNG TIN CÁC GĨI HỖ TRỢ CỦA HOST............................................................ 49
HÌNH 4. 3: ĐĂNG KÝ TÊN MIỀN CHO HOST ......................................................................... 49
HÌNH 4. 4: ĐIỀN THƠNG TIN ĐĂNG KÝ TÀI KHOẢN ............................................................ 50
HÌNH 4. 5: TÊN MIỀN HOST SERVER ................................................................................... 50
HÌNH 4. 6: SERVER QUẢN LÝ FILE CHƯƠNG TRÌNH CỦA ỨNG DỤNG .................................. 51
HÌNH 4. 7: BẢNG ĐIỀU KHIỂN WEB SERVER ....................................................................... 52
HÌNH 4. 8: BẢNG BÀN TRONG CƠ SỞ DỮ LIỆU .................................................................... 54
HÌNH 4. 9: BẢNG CHI TIẾT HĨA ĐƠN TRONG CƠ SỞ DỮ LIỆU .............................................. 55
HÌNH 4. 10: BẢNG ĐĂNG NHẬP TRONG CƠ SỞ DỮ LIỆU ...................................................... 55
HÌNH 4. 11: BẢNG HĨA ĐƠN TRONG CƠ SỞ DỮ LIỆU .......................................................... 56
HÌNH 4. 12: BẢNG NHÂN VIÊN TRONG CƠ SỞ DỮ LIỆU ....................................................... 56
HÌNH 4. 13: BẢNG THỰC ĐƠN TRONG CƠ SỞ DỮ LIỆU ........................................................ 57
HÌNH 4. 14: GIAO DIỆN ĐĂNG NHẬP ................................................................................... 58


HÌNH 4. 15: GIAO DIỆN CHÍNH KHI ĐĂNG NHẬP HỆ THỐNG ................................................ 58
HÌNH 4. 16: THI CƠNG GIAO DIỆN QUẢN LÝ BÀN ............................................................... 59
HÌNH 4. 17: THI CƠNG GIAO DIỆN QUẢN LÝ THỰC ĐƠN ..................................................... 60
HÌNH 4. 18: THI CƠNG GIAO DIỆN QUẢN LÝ NHÂN VIÊN .................................................... 60
HÌNH 4. 19: THI CƠNG GIAO DIỆN THỐNG KÊ DOANH THU ................................................. 61
HÌNH 4. 20: GIAO DIỆN GIỚI THIỆU VỀ ĐỀ TÀI ................................................................... 61
HÌNH 4. 21: LƯU ĐỒ GIẢI THUẬT FORM ĐĂNG NHẬP ......................................................... 62

HÌNH 4. 22: LƯU ĐỒ CHƯƠNG TRÌNH FORM QUẢN LÝ BÀN TRÊN MÁY TÍNH ...................... 63
HÌNH 4. 23: LƯU ĐỒ CHƯƠNG TRÌNH FORM QUẢN LÝ THỰC ĐƠN ...................................... 64
HÌNH 4. 24: LƯU ĐỒ CHƯƠNG TRÌNH QUẢN LÝ NHÂN VIÊN ............................................... 66
HÌNH 4. 25: LƯU ĐỒ QUẢN LÝ THỐNG KÊ DOANH THU CỦA ỨNG DỤNG ............................ 68
HÌNH 4. 26: GIAO DIỆN KHỞI ĐƠNG ANDROID STUDIO ...................................................... 70
HÌNH 4. 27: ĐẶT TÊN ỨNG DỤNG ...................................................................................... 70
HÌNH 4. 28: CHỌN SDK ..................................................................................................... 71
HÌNH 4. 29: CHỌN ACTIVITY ............................................................................................. 71
HÌNH 4. 30: CHỌN TÊN ACTIVITY ..................................................................................... 72
HÌNH 4. 31: GIAO DIỆN SỐ 1 .............................................................................................. 72
HÌNH 4. 32: GIAO DIỆN SỐ 2 .............................................................................................. 74
HÌNH 4. 33: GIAO DIỆN CHO MÀN HÌNH SỐ 3 ..................................................................... 75
HÌNH 4. 34: GIAO DIỆN SỐ 4 .............................................................................................. 75
HÌNH 4. 35: CUSTOM LÍSTVIEW ......................................................................................... 76
HÌNH 4. 36: LƯU ĐỒ CHƯƠNG TRÌNH ĐẶT BÀN TRÊN ĐIỆN THOẠI ANDROID ..................... 77
HÌNH 4. 37: LƯU ĐỒ CHƯƠNG TRÌNH MENU CHÍNH TRÊN ĐIỆN THOẠI ANDROID .............. 78
HÌNH 4. 38: LƯU ĐỒ CHƯƠNG TRÌNH MENU CON TRÊN ĐIỆN THOẠI ANDROID .................. 79
Hình 5. 1: Giao diện đăng nhập trên PC………………………………………………...82
HÌNH 5. 2: GIAO DIỆN CHÍNH KHI ĐĂNG NHẬP................................................................... 83
HÌNH 5. 3: TAB QUẢN LÝ BÀN KHI TRỐNG KHÁCH ............................................................ 83


HÌNH 5. 4: TAB QUẢN LÝ BÀN KHI CĨ KHÁCH ĐẶT BÀN .................................................... 84
HÌNH 5. 5: TAB ĐẶT BÀN VÀ GỌI MĨN CHO KHÁCH ........................................................... 85
HÌNH 5. 6: TAB XUẤT HĨA ĐƠN CHO KHÁCH ..................................................................... 85
HÌNH 5. 7: TAB QUẢN LÝ THỰC ĐƠN CỦA QUÁN CAFE ...................................................... 86
HÌNH 5. 8: TAB QUẢN LÝ NHÂN VIÊN CỦA ỨNG DỤNG ...................................................... 86
HÌNH 5. 9: TAB QUẢN LÝ THÔNG KÊ DOANH THU HÀNG NGÀY ......................................... 87
HÌNH 5. 10: GIAO DIỆN GIỚI THIỆU VỀ ĐỀ TÀI TRÊN ỨNG DỤNG ........................................ 87
HÌNH 5. 11: GIAO DIỆN ĐẶT BÀN TRÊN ANDROID ............................................................. 88

HÌNH 5. 12: GIAO DIỆN CHỌN LẠI MĨN KHI ĐÃ ĐẶT BÀN .................................................. 88
HÌNH 5. 13: GIAO DIỆN GỌI MÓN CỤ THỂ TỪNG LOẠI TRÊN ANDROID............................... 89
HÌNH 5. 14: GIAO DIỆN XUẤT HĨA ĐƠN CHO KHÁCH HÀNG TRÊN ANDROID ..................... 89
HÌNH 5. 15: THƠNG TIN ỨNG DỤNG ................................................................................... 90


TĨM TẮT
Tự động hóa đang là xu thế của tồn thế giới và ước muốn điều khiển tất cả các
thiết bị từ xa là hồn tồn có thể thực hiện được. Hiện nay, nhu cầu điều khiển các thiết bị
từ xa đang được nâng cao và phát triển. Với mọi công việc giám sát, kiểm tra và điều
khiển đều sẽ được thực hiện trên một thiết bị số có hệ điều hành quản lý. Và một chiếc
điện thoại di động thơng minh có thể kết nối Wifi hay Bluetooth hồn tồn có thể làm
được điều đó. Bên cạnh đó, điện thoại di động ngày nay đã trở thành một phần quan trọng
trong cuộc sống của mọi cá nhân. Trước những lợi ích to lớn như vậy, nhóm thực hiện đồ
án đã lựa chọn khai thác tính năng Wifi có thể kết nối internet của di động để xây dựng
một phần mềm quản lý quán cafe điều khiển từ xa.
Đề tài “ Xây dựng giải pháp thực đơn thông minh cho quán cafe ” trên thiết bị
di động Android cùng với phần mềm quản lý trên máy tính là đề tài sử dụng kết nối
internet giao tiếp với web server để trao đổi thơng tin giữa máy tính và điện thoại
Android, mọi thông tin dữ liệu đều lưu trên database của web server và ứng dụng trên
máy tính và ứng dụng trên điện thoại đều truy xuất dữ liệu từ database trên web server, vì
vậy chỉ cần kết nối được internet thì ứng dụng có thể hoạt động ở bất cứ nơi nào. Ứng
dụng mô phỏng cách quản lý của một quán cafe, các khách hàng sử dụng thiết bị di động
để đặt bàn và gọi món. Nhờ có ứng dụng thông minh này các nhân viên sẽ giảm bớt việc
đi lại giữa khu vực phục vụ và khu vực pha chế, các hoạt động của quán trong việc gọi
món cũng như thanh toán được thực hiện một cách chủ động và nhanh chóng, từ đó sẽ
tiết kiệm một khoảng nhân lực cho quán . Đồng thời ứng dụng quản lý trên máy tính giúp
người quản lý quán cafe chủ động quản lý qn của mình hơn, có thể biết hoạt động của
quán ở bất kỳ đâu, tạo sự chủ động cho người sử dụng.



ĐỒ ÁN TỐT NGHIỆP

Trang 1

Chương 1 Giới Thiệu
1.1 Vai trò và ứng dụng của công nghệ hiện nay
Ngày nay, khoa học kỹ thuật ngày càng phát triển, đặc biệt trên lĩnh vực thiết bị di
động, càng có nhiều loại Smartphone ra đời với nhiều tính năng thú vị. Chúng ngày càng
gắn bó và trở thành một phần khơng thể thiếu trong cuộc sống của con người hiện đại.
Song song đó là những tiến bộ không ngừng của kỹ thuật điều khiển. Từ những hình thức
điều khiển đơn giản ban đầu, qua thời gian đã được phát triển thành nhiều phương pháp
và công nghệ khác nhau để nâng cao hiệu quả điều khiển. Một trong những hình thức
điều khiển ở những nơi khơng cần hoặc ít có sự tác động của con người.
Bên cạnh đó, hệ điều hành dành cho điện thoại di động cũng phát triển không
ngừng, không chỉ dừng lại ở các hệ điều hành truyền thống có từ lâu như: Symbian,
Android, iphone OS … mà cịn có những hệ điều hành mới mang lại nhiều sự lựa chọn
cho người dùng.
Theo con đường phát triển, đất nước ta có xu thế hội nhập sâu rộng với thế giới,
các công nghệ kỹ thuật tiên tiến cũng đã bắt đầu xâm nhập vào Việt Nam với tần suất
mạnh hơn. Đặc biệt các thế hệ thiết bị di động thông minh tối tân được các nhà sản xuất
nổi tiếng trên thế giới phân phối chính thức tại nước nước ta ngày một nhiêu. Tuy nhiên
hiện nay, việc tìm hiểu về phương thức hoạt động của hệ điều hành cho các thiết bị di
động và phát triển các ứng dụng cho hệ điều hành đó, ở nước ta vẫn cịn gặp nhiều khó
khăn. Việc này cũng đặt ra nhiều thử thách, nhất là đối với người người học những người
mới tiếp cận với lý thuyết điều khiển trong khi chưa có nhiều cơ hội tiếp xúc với thực tế
để ứng dụng những kiến thức đã được học. Những công nghệ mới lại xuất hiện liên tục
khiến người học lúng túng trong việc lựa chọn phương pháp thích hợp để nghiên cứu.
1.2 Lý do chọn đề tài
Hiện nay, việc sử dụng điện thoại thông minh ngày càng phổ biến của con người

trong cuộc sống. Và có nhiều nền tảng hệ điều hành ra đời nhằm phục vụ cho các thiết bị
phần cứng, một trong những hệ điều hành chạy phổ biến và mạnh mẽ trên điện thoại phải
kể đến là hệ điều hành Andorid. Hệ điều hành Android là hệ điều hành lập trình theo
hướng mã nguồn mở, việc lập trình theo hướng này đang là xu thế phát triển chung ở
tương lai. Những tính năng nổi bật của hệ điều hành Android như sau:
 Android được người dùng ưa chuộng nhất vì chúng được tạo nên từ nền tảng
nguồn mở nên cho phép người dùng có thể tùy biến nhiều trên đó. Mặt khác, với
Chương 1: Giới Thiệu


ĐỒ ÁN TỐT NGHIỆP

Trang 2

Android thiết bị người dùng không địi hỏi phải có một cấu hình tối thiểu nào cả,
chúng có thể hoạt động trên mọi cấu hình.
 Giao diện Android của Google rất thân thiện với người dùng, vì thế chúng dễ
dàng về mặt sử dụng.
 Do tương thích với rất nhiều phần cứng của các nhà sản xuất khác nhau trên thế
giới như Samsung, LG, HTC,… nên người dùng sẽ có nhiều lựa chọn thiết bị
phần cứng của nhiều hang khác nhau với mức giá cũng phong phú.
Tất cả những điều đó đang khiến cho Android trở nên phổ biến nhất trong phân khúc
hệ điều hành dành cho điện thoại di động.
Sự phát triển nhanh chóng của hệ điều hành Android cùng với điều khiển hóa đang
được ưa chuộn trong các nhà hàng quán café hiện nay bởi tính tiện lợi, cho phép đặt bàn,
chọn món được rút ngắng thời gian và nhân lực, đặc biệt là tính mới mẻ và phát triển
trong tương lai của mơ hình quản lý và điều khiển từ xa. Nắm được nhu cầu thực tế như
vậy, nhóm sinh viên thực hiện đã quyết định chọn đề tài tốt nghiệp là: “XÂY DỰNG
GIẢI PHÁP THỰC ĐƠN THÔNG MINH CHO QUÁN CAFE ” được viết trên nền
tảng hệ điều hành Android.

Ngoài những ưu điểm vượt trội của hệ điều hành Android, nhóm thực hiện đề tài đã
kế thừa và phát triển từ các khóa trước cũng viết trên hệ điều hành Android. Đề tài này
có một số điểm mới, tối ưu và hồn thiện hơn so với các đề tài khóa trước :
 Có nhiều thiết bị di động kết nối được với một web server. Nhờ đó mọi hoạt động
của quán cafe được thực hiện một cách linh hoạt ví dụ như các nhân viên có thể
hỗ trợ với nhau trong quá trình làm việc, nhân viên thuộc bàn này có thể giúp đỡ
nhân viên thuộc bàn khác nếu có sự trục trặc trong quá trình làm việc.
 Mọi hoạt động gọi món, thêm món, thanh tốn đều được lưu trữ trong cơ sở dữ
liệu của web server, nhằm đảm bảo những dữ liệu lưu trữ được an toàn nhất.
 Phần mềm ứng dụng quản lý trên máy tính sẽ hiển thị cụ thể các bàn đã đặt món
và giá tiền từng bàn trong một thời gian cụ thể và chính xác, từ đó sẽ quản lý
doanh thu một cách chặt chẽ, tránh thất thốt.
 Q trình gọi món và tính tiền đều có thể sử dụng trên máy tính hoặc điện thoại
giúp sự tiện lợi và nhanh chóng nhất cho khách hàng có thể, q trình trao đổi
thơng tin từ khách hàng và nhân viên sẽ nhanh chóng và chính xác, cũng như trao
đổi giữa người quản lý và nhân viên thật chặt chẽ.
Chương 1: Giới Thiệu


ĐỒ ÁN TỐT NGHIỆP

Trang 3

 Đề tài mang tính chất thực tế cao, có thể áp dụng và phát triển cho các quán cafe
trong tương lai với quy mô lớn.
1.3 Mục tiêu nghiên cứu
Sau khi được sự chấp nhận đề tài của thầy hướng dẫn, nhóm sinh viên đã tiến hành đề
tài theo mục tiêu như sau:
 Quá trình phục vụ được nhanh chóng.
 Nâng cao chất lượng phục vụ.

 Giao diện đơn giản đối với chủ quán và khách hàng.
1.4 phương pháp nghiên cứu
Nhóm sinh viên thực hiện đề tài có các phương pháp nghiên cứu như sau :
 Phương pháp tham khảo luận văn các khóa trước
 Phương pháp lý thuyết
 Phương pháp thực nghiệm
1.5 Phạm vi nghiên cứu
Do giới hạn về kiến thức chuyên ngành nên nhóm thực hiện đề tài chỉ tập trung
nghiên cứu một số vấn đề chính xoay quanh đề tài:
 Tìm hiểu và cài đặt các cơng cụ hỗ trợ lập trình android.
 Xây dựng ứng dụng trên PC qua phần mềm JAVA NETBEANS.
 Lập trình ứng dụng trên thiết bị Android qua phần mềm Android studio.
 Giao tiếp giữa ứng dụng trên PC với ứng dụng trên thiết bị Android thông qua
Web server.

Chương 1: Giới Thiệu


ĐỒ ÁN TỐT NGHIỆP

Trang 4

1.6 Bố cục luận văn
Đề tài gồm 5 chương:
 Chương 1: Giới thiệu
Chương này xoay quanh giới thiệu chung về đề tài, đặt vấn đề, lý do chọn đề tài,
mục tiêu, phương pháp và phạm vi nghiên cứu của đề tài.
 Chương 2: Cơ sở lý thuyết
Chương này giới thiệu sơ lược lịch sử phát triển của hệ điều hành Android và kiến
trúc của hệ điều hành Android, giới thiệu về web server tìm hiểu về web service, tìm

hiểu về ngơn ngữ lập trình java.
 Chương 3: Thiết kế hệ thống
Chương này thiết kế sơ đồ khối của toàn bộ hệ thống, nêu chức năng của từng
khối.
Chương này trình bày về việc thiết kế lưu đồ giải thuật cho từng khối của hệ
thống.
Mơ tả q trình hoạt động trao đổi dữ liệu giữa các khối trong hệ thống với nhau.
Chi tiết và cụ thể cho quá trình xử lý gói tin nhận và gửi của chương trình máy
tính và thiết bị di động.
 Chương 4: Thi công hệ thống
Chương này thi công tất cả các khối của hệ thống
 Xây dựng web server
 Xây dựng cơ sở dữ liệu chứa dữ liệu cho các ứng ứng dụng trên PC và điện thoại
Android
 Xây dựng ứng dụng quản lý trên PC
 Xây dựng ứng dụng app Android trên điện thoại
 Chương 5: Kết quả và hướng phát triển
Chương này trình bày kết quả đạt được sau khi thực hiện xây dựng đề tài, các mặt ưu,
khuyết điểm của đề tài và hướng phát triển.
Chương 1: Giới Thiệu


ĐỒ ÁN TỐT NGHIỆP

Trang 5

Chương 2 Cơ Sở Lý Thuyết
2.1 Hệ điều hành Android
2.1.1 giới thiệu về hệ điều hành Android
Android là một hệ điều hành dựa trên nền tảng Linux được thiết kế dành cho các

thiết bị di động có màn hình cảm ứng như điện thoại thơng minh và máy tính bảng. Ban
đầu, Android được phát triển bởi Tổng cơng ty Android, với sự hỗ trợ tài chính
từ Google và sau này được chính Google mua lại vào năm 2005. Android ra mắt vào năm
2007 cùng với tuyên bố thành lập Liên minh thiết bị cầm tay mở: một hiệp hội gồm các
công ty phần cứng, phần mềm, và viễn thông với mục tiêu đẩy mạnh các tiêu chuẩn
mở cho các thiết bị di động. Chiếc điện thoại đầu tiên chạy Android được bán vào tháng
10 năm 2008.
Android có mã nguồn mở và Google phát hành mã nguồn theo Giấy phép
Apache. Chính mã nguồn mở cùng với một giấy phép khơng có nhiều ràng buộc đã cho
phép các nhà phát triển thiết bị, mạng di động và các lập trình viên nhiệt huyết được điều
chỉnh và phân phối Android một cách tự do. Ngồi ra, Android cịn có một cộng đồng lập
trình viên đơng đảo chun viết các ứng dụng để mở rộng chức năng của thiết bị, bằng
một loại ngơn ngữ lập trình Java có sửa đổi. Vào tháng 10 năm 2012, có khoảng 700.000
ứng dụng trên Android, và số lượt tải ứng dụng từ Google Play, cửa hàng ứng dụng chính
của Android, ước tính khoảng 25 tỷ lượt
Những yếu tố này đã giúp Android trở thành nền tảng điện thoại thông minh phổ
biến nhất thế giới, vượt qua Symbian vào quý 4 năm 2010, và được các công ty công
nghệ lựa chọn khi họ cần một hệ điều hành khơng nặng nề, có khả năng tinh chỉnh, và giá
rẻ chạy trên các thiết bịcông nghệ cao thay vì tạo dựng từ đầu. Kết quả là mặc dù được
thiết kế để chạy trên điện thoại và máy tính bảng, Android đã xuất hiện trênTV, máy chơi
game và các thiết bị điện tử khác. Bản chất mở của Android cũng khích lệ một đội ngũ
đơng đảo lập trình viên và những người đam mê sử dụng mã nguồn mở để tạo ra những
dự án do cộng đồng quản lý. Những dự án này bổ sung các tính năng cao cấp cho những
người dùng thích tìm tịi hoặc đưa Android vào các thiết bị ban đầu chạy hệ điều hành
khác.

Chương 2: Cơ Sở Lý Thuyết


ĐỒ ÁN TỐT NGHIỆP


Trang 6

Android chiếm 75% thị phần điện thoại thơng minh trên tồn thế giới vào thời
điểm q 3 năm 2012, với tổng cộng 500 triệu thiết bị đã được kích hoạt và 1,3 triệu lượt
kích hoạt mỗi ngày. Sự thành công của hệ điều hành cũng khiến nó trở thành mục tiêu
trong các vụ kiện liên quan đến bằng phát minh, góp mặt trong cái gọi là "cuộc chiến điện
thoại thông minh" giữa các công ty công nghệ.
2.1.2 Lịch sử phát triển hệ điều hành Android
Tổng công ty Android (Android, Inc.) được thành lập tại Palo Alto, California vào
tháng 10 năm 2003 bởi Andy Rubin (đồng sáng lập công ty Danger), Rich Miner (đồng
sáng lập Tổng công ty Viễn thơng Wildfire), Nick Sears (từng là Phó giám đốc TMobile), và Chris White (trưởng thiết kế và giao diện tại WebTV) để phát triển, theo lời
của Rubin, "các thiết bị di động thơng minh hơn có thể biết được vị trí và sở thích của
người dùng". DÙ những người thành lập và nhân viên đều là những người có tiếng tăm,
Tổng cơng ty Android hoạt động một cách âm thầm, chỉ tiết lộ rằng họ đang làm phần
mềm dành cho điện thoại di động. Trong năm đó, Rubin hết kinh phí. Steve Perlman, một
người bạn thân của Rubin, mang cho ông 10.000 USD tiền mặt nhưng từ chối tham gia
vào công ty.
Google mua lại Tổng công ty Android vào ngày 17 tháng 8 năm 2005, biến nó
thành một bộ phận trực thuộc Google. Những nhân viên của chủ chốt của Tổng công ty
Android, gồm Rubin, Miner và White, vẫn tiếp tục ở lại công ty làm việc sau thương vụ
này. Vào thời điểm đó khơng có nhiều thơng tin về Tổng cơng ty, nhưng nhiều người đồn
đốn rằng Google dự tính tham gia thị trường điện thoại di động sau bước đi này. Tại
Google, nhóm do Rubin đứng đầu đã phát triển một nền tảng thiết bị di động phát triển
trên nền nhân Linux. Google quảng bá nền tảng này cho các nhà sản xuất điện thoại và
các nhà mạng với lời hứa sẽ cung cấp một hệ thống uyển chuyển và có khả năng nâng
cấp. Google đã liên hệ với hàng loạt hãng phần cứng cũng như đối tác phần mềm, bắn tin
cho các nhà mạng rằng họ sẵn sàng hợp tác với các cấp độ khác nhau.
Ngày càng nhiều suy đoán rằng Google sẽ tham gia thị trường điện thoại di động
xuất hiện trong tháng 12 năm 2006. Tin tức của BBC và Nhật báo phố Wall chú thích

rằng Google muốn đưa cơng nghệ tìm kiếm và các ứng dụng của họ vào điện thoại di
động và họ đang nỗ lực làm việc để thực hiện điều này. Các phương tiện truyền thông
truyền thống lẫn online cũng viết về tin đồn rằng Google đang phát triển một thiết bị cầm
tay mang thương hiệu Google. Một vài tờ báo cịn nói rằng trong khi Google vẫn đang

Chương 2: Cơ Sở Lý Thuyết


ĐỒ ÁN TỐT NGHIỆP

Trang 7

thực hiện những bản mô tả kỹ thuật chi tiết, họ đã trình diễn sản phẩm mẫu cho các nhà
sản xuất điện thoại di động và nhà mạng. Tháng 9 năm 2007, InformationWeek đăng tải
một nghiên cứu của Evalueserve cho biết Google đã nộp một số đơn xin cấp bằng sáng
chế trong lĩnh vực điện thoại di động..
Ngày 5 tháng 11 năm 2007, Liên minh thiết bị cầm tay mở (Open Handset
Alliance), một hiệp hội bao gồm nhiều cơng ty trong đó có Texas Instruments, Tập đoàn
Broadcom, Google, HTC, Intel,Technology, Motorola, Nvidia, Qualcomm, Samsung
Electronics, Sprint Nextel và T-Mobile được thành lập với mục đích phát triển các tiêu
chuẩn mở cho thiết bị di động. Cùng ngày, Android cũng được ra mắt với vai trò là sản
phẩm đầu tiên của Liên minh, một nền tảng thiết bị di động được xây dựng trên nhân
Linux phiên bản 2.6. Chiếc điện thoại chạy Android đầu tiên được bán ra là HTC Dream,
phát hành ngày 22 tháng 10 năm 2008.[32] Biểu trưng của hệ điều hành Android mới là
một con rôbốt màu xanh lá cây do hãng thiết kế Irina Blok tại California vẽ.
Từ năm 2008, Android đã trải qua nhiều lần cập nhật để dần dần cải tiến hệ điều
hành, bổ sung các tính năng mới và sửa các lỗi trong những lần phát hành trước. Mỗi bản
nâng cấp được đặt tên lần lượt theo thứ tự bảng chữ cái, theo tên của một món ăn tráng
miệng, ví dụ như phiên bản 1.5 Cupcake (bánh bơng lan nhỏ có kem) tiếp nối bằng phiên
bản 1.6 Donut (bánh vòng). Phiên bản mới nhất là 4.2 Jelly Bean (kẹo dẻo). Vào năm

2010, Google ra mắt loạt thiết bị Nexus—một dòng sản phẩm bao gồm điện thoại thơng
minh và máy tính bảng chạy hệ điều hành Android, do các đối tác phần cứng sản xuất.
HTC đã hợp tác với Google trong chiếc điện thoại thông minh Nexus đầu tiên,[36] Nexus
One. Kể từ đó nhiều thiết bị mới hơn đã gia nhập vào dòng sản phẩm này, như điện
thoại Nexus 4 và máy tính bảng Nexus 10, lần lượt do LG và Samsung sản xuất. Google
xem điện thoại và máy tính bảng Nexus là những thiết bị Android chủ lực của mình, với
những tính năng phần cứng và phần mềm mới nhất của Android.
2.1.3 Ứng dụng
Android có lượng ứng dụng của bên thứ ba ngày càng nhiều, được chọn lọc và đặt
trên một cửa hàng ứng dụng như Google Play hay Amazon Appstore để người dùng lấy
về, hoặc bằng cách tải xuống rồi cài đặt tập tin APK từ trang web khác. Các ứng dụng
trên Cửa hàng Play cho phép người dùng duyệt, tải về và cập nhật các ứng dụng do
Google và các nhà phát triển thứ ba phát hành. Cửa hàng Play được cài đặt sẵn trên các
thiết bị thỏa mãn điều kiện tương thích của Google. Ứng dụng sẽ tự động lọc ra một danh

Chương 2: Cơ Sở Lý Thuyết


ĐỒ ÁN TỐT NGHIỆP

Trang 8

sách các ứng dụng tương thích với thiết bị của người dùng, và nhà phát triển có thể giới
hạn ứng dụng của họ chỉ dành cho những nhà mạng cố định hoặc những quốc gia cố định
vì lý do kinh doanh. Nếu người dùng mua một ứng dụng mà họ cảm thấy khơng thích, họ
được hồn trả tiền sau 15 phút kể từ lúc tải về, và một vài nhà mạng cịn có khả năng mua
giúp các ứng dụng trên Google Play, sau đó tính tiền vào trong hóa đơn sử dụng hàng
tháng của người dùng. Đến tháng 9 năm 2012, có hơn 675.000 ứng dụng dành cho
Android, và số lượng ứng dụng tải về từ Cửa hàng Play ước tính đạt 25 tỷ.
Các ứng dụng cho Android được phát triển bằng ngôn ngữ Java sử dụng Bộ phát

triển phần mềm Android (SDK). SDK bao gồm một bộ đầy đủ các công cụ dùng để phát
triển,[49] gồm có cơng cụ gỡ lỗi, thư viện phần mềm, bộ giả lập điện thoại dựa
trên QEMU, tài liệu hướng dẫn, mã nguồn mẫu, và hướng dẫn từng bước. Môi trường
phát triển tích hợp (IDE) được hỗ trợ chính thức làEclipse sử dụng phần bổ sung Android
Development Tools (ADT). Các cơng cụ phát triển khác cũng có sẵn, gồm có Bộ phát
triển gốc dành cho các ứng dụng hoặc phần mở rộng viết bằng C hoặc C++, Google App
Inventor, một mơi trường đồ họa cho những nhà lập trình mới bắt đầu, và nhiều nền tảng
ứng dụng web di động đa nền tảng phong phú.
Để vượt qua những hạn chế khi tiếp cận các dịch vụ của Google do sự Kiểm duyệt
Internet tại Cộng hòa Nhân dân Trung Hoa, các thiết bị Android bán tại Trung Quốc lục
địa thường được điều chỉnh chỉ được sử dụng dịch vụ đã được duyệt.
2.1.4 Các phiên bản Android
Tỷ lệ sử dụng các phiên bản khác nhau tính đến ngày 4 tháng 3 năm 2013. Phần
lớn các thiết bị Android cho tới nay vẫn chạy hệ điều hành phiên bản cũ 2.3 Gingerbread
( bánh gừng) được phát hành 6 tháng 12 năm 2010, do nhiều thiết bị cấp thấp sử dụng
chúng vẫn được phát hành.

Hình 2. 1: Hình ảnh một số phiên bản cũ Android

Chương 2: Cơ Sở Lý Thuyết


ĐỒ ÁN TỐT NGHIỆP

Trang 9

Bảng 2.1 : Các phiên bản Android
Phiên bản

Ngày phát hành


Tên gọi

1.0

09/2008

Chưa có

1.1

02/2009

Chư có

1.5

04/2009

Cupcake

Bánh bơng lan

1.6

09/2009

Donut

Bánh rán vịng


2.0

10/2009

Eclair

Bánh kẹp kem

2.1

01/2010

Eclair

Bánh kẹp kem

2.2

05/2010

Froyo

Yaour đơng

2.3

12/2010

Gingerbread


Bánh gừng

3.0

02/2011

Honeycomb

Tổ ong

3.1

05/2011

Honeycomb

Tổ ong

3.2

07/2011

Honeycomb

Tổ ong

4.0

11/2011


Ice-cream

Bánh Sandwich

Sandwich

kem

Chương 2: Cơ Sở Lý Thuyết


ĐỒ ÁN TỐT NGHIỆP

Trang 10

2.1.5 Đặc điểm hệ điều hành Android
Android được xây dựng từ dưới đi lên cho phép người phát triển tạo các ứng dụng
di động hấp dẫn với đầy đủ các điểm mạnh của các thiết bị cầm tay hiện có. Android
hồn tồn mở, một ứng dụng có thể gọi tới bất kể một chức năng lõi của điện thoại như
tạo cuộc gọi, gửi tin nhắn hay sử dụng máy ảnh, cho phép người phát triển tạo phong phú
hơn, liên kết hơn các tính năng cho người dùng Android được xây dựng trên nhân Linux
mở. Thêm nữa, nó sử dụng một máy ảo mà đã được tối ưu hóa bộ nhớ và phần cứng với
mơi trường di động. Android là một mã nguồn mở, nó có thể được mở rộng để kết hợp tự
do giữa các công nghệ nổi trội. Nền tảng này sẽ tiếp tục phát triển bởi công đồng phát
triển để tạo ra các ứng dụng di động hồn hảo.
Với Android, khơng có sự khác nhau giữa các ứng dụng điện thoại cơ bản với ứng
dụng của bên thứ ba. Chúng được xây dựng để truy cập như nhau tới một loạt các ứng
dụng và dịch vụ của điện thoại. Với các thiết bị được xây dựng trên nền tảng Android,
người dùng có thể đáp ứng đầy đủ các nhu cầu mà họ thích. Chúng ta có thể đổi màn hình

nền, kiểu gọi điện thoại, hay bất kể ứng dụng nào. Chúng ta thậm chí có thể hướng dẫn
điện thoại chỉ xem những ảnh mình thích.
Android phá vỡ rào cản để tạo ứng dụng mới và cải tiến. Một người phát triển có
thể kết hợp thông tin từ trang web với dữ liệu trên điện thoại cá nhân - chẳng hạn như
danh bạ, lịch hay vị trí trên bản đồ - để cung cấp chính xác hơn cho người khác. Với
Android, người phát triển có thể xây dựng những ứng dụng tận dụng các khả năng kết nối
của Android để giao tiếp với nhiều thiết bị khác nhau. Việc giao tiếp giữa các thiết bị mở
ra nhiều hướng phát triển đầy triển vọng.
Android cung cấp bộ thư viện giao diện lập trình ứng dụng đồ sộ và các công cụ
để viết các ứng dụng phức tạp. Ví dụ, Android có thể cho phép người phát triển biết được
vị trí của thiết bị và cho phép các thiết bị giao tiếp với nhau để có thể tạo nên mạng xa
hội chia sẽ ngang hàng rộng khắp. Thêm nữa, Android cịn bao gồm một bộ cơng cụ đầy
đủ cho việc phát triển trở nên dễ dàng.
2.1.6 Kiến trúc của Hệ điều hành Android
Android là hệ điều hành điện thoại di động nguồn mở miễn phí do google phát
triển dựa trên nền tảng của linux. Bất kỳ một hãng sản xuất phần cứng nào cũng đều có
thể tự do sử dụng hệ điều hành Android cho thiết bị của mình miễn là các thiết bị ấy đáp
ứng được các tiêu chuẩn cơ bản do Google đặt ra

Chương 2: Cơ Sở Lý Thuyết


ĐỒ ÁN TỐT NGHIỆP

Trang 11

Những tính năng mà nền tảng Android hỗ trợ:


Application framework: Cho phép tái sử dụng và thay thế các thành phần sẵn có

của Android.



Dalvik virtual macine: Máy ảo java được tối ưu hóa cho thiết bị di động.



Intergrated browser: Trình duyệt web tích hợp được xây dựng dựa trên WebKit
engine.



Optimized graphics: Hỗ trợ bộ thư viện 2D và 3D dự vào đặc tả OpenGL ES 1.0.



SQLite: DBMS dùng để lưu trữ dữ liệu có cấu trúc.



Hỗ trợ các định dạng media phổ biến như: MPEG4, H.246, MP3, AAC, ARM,
JPG, PNG, GIF.



Hỗ trợ thoại nền tảng GSM (phụ thuộc vài phần cứng thiết bị).




Bluetooth, EDGE, 3G và WiFi (phụ thuộc vài phần cứng thiết bị).



Camera, GPS, la bàn và cảm biến (phụ thuộc vài phần cứng thiết bị).



Bộ cơng cụ phát triển ứng dụng mạnh mẽ.

Hình 2. 2:Mơ hình kiến trúc nền tảng Android

Chương 2: Cơ Sở Lý Thuyết


ĐỒ ÁN TỐT NGHIỆP

Trang 12

2.1.6.1 Applications
Hệ điều hành Android tích hợp sẳn một số ứng dụng cơ bản như email client,
SMS, lịch điện tử, bản đồ, trình duyệt web, sổ liên lạc và một số ứng dụng khác. Ngoài ra
tầng này cũng chính là tầng chứa các ứng dụng được phát triển bằng ngôn ngữ Java.
2.1.6.2 Application Framework
Tầng này của hệ điều hành Android cung cấp một nền tảng phát triển ứng dụng
mở qua đó cho phép nhà phát triển ứng dụng có khả năng tạo ra các ứng dụng vô cùng
sáng tạo và phong phú. Các nhà phát triển ứng dụng được tự do sử dụng các tính năng
cao cấp của thiết bị phần cứng như: thông tin định vị địa lý, khả năng chạy dịch vụ dưới
nền, thiết lập đồng hồ báo thức, thêm notification vào status bar của màn hình thiết bị…
Người phát triển ứng dụng được phép sử dụng đầy đủ bộ API được dùng trong các

ứng dụng tích hợp sẳn của Android. Kiến trúc ứng dụng của Android được thiết kế nhằm
mục đích đơn giản hóa việc tái sử dụng các component. Qua đó bất kì ứng dụng nào cũng
có thể cơng bố các tính năng mà nó muốn chia sẻ cho các ứng dụng khác (VD: Ứng dụng
email có muốn các ứng dụng khác có thể sử dụng tính năng gởi mail của nó). Phương
pháp tương tự cho phép các thành phần có thể được thay thế bởi người sử dụng.
Tầng này bao gồm một tập các services và thành phần sau:
 Một tập phong phú và có thể mở rộng bao gồm các đối tượng View được dùng để
xây dựng ứng dụng như: list, grid, text box, button và thậm chí là một trình duyệt
web có thể nhúng vào ứng dụng.
 Content Provider: Cho phép các ứng dụng có thể truy xuất dữ liệu từ các ứng
dụng khác hoặc chia sẽ dữ liệu của chúng.
 Resource Manager: Cung cấp khả năng truy xuất các tài nguyên non-code như
hình ảnh hoặc file layout.
 Notification Manager: Cung cấp khả năng hiển thị custom alert trên thanh status
bar.
 Activity Manager: Giúp quản lý vòng đời của một ứng dụng.
2.1.6.3 Libraries
Bao gồm 1 tập hợp các thư viện C/C++ được sử dụng bởi các thành phần khác
nhau trong hệ thông Android. Một số các thư viện cơ bản được liệt kê dưới đây:

Chương 2: Cơ Sở Lý Thuyết


ĐỒ ÁN TỐT NGHIỆP

Trang 13

 System C library: một thể hiện được xây dựng từ BSD của bộ thư viện hệ thống
C chuẩn (libc), được điều chỉnh để tối ưu hóa cho các thiết bị chạy trên nền Linux.
 Media libraries: Bộ thư viện hổ trợ trình diễn và ghi các định dạng âm than và

hình ảnh phổ biến.
 Surface manager: Quản lý hiển thị nội dung 2D và 3D.
 LibWebCore: Một web browser engine hiện đại được sử dụng trong trình duyệt
của Android lần trong trình duyệt nhúng web view được sử dụng trong ứng dụng.
 SGL: Engine hổ trợ đồ họa 2D.
 3D libraries: Một thể hiện được xây dựng dựa trên các APIs của OpenGL ES 1.0.
Những thư viện này sử dụng các tăng tốc 3D bằng phần cứng lẫn phần mềm để tối
ưu hóa hiển thị 3D.
 FreeType: Bitmap and vector font rendering.
 SQLite: Một DBMS nhỏ gọn và mạnh mẽ.
2.1.6.4 Android Runtime
Hệ điều hành Android tích hợp sẳn một tập hợp các thư viện cốt lõi cung cấp hầu
hết các chức năng có sẵn trong các thư viện lõi của ngơn ngữ lập trình Java. Mọi ứng
dụng của Android chạy trên một tiến trình của riêng nó cùng với một thể hiện của máy ảo
Dalvik. Máy ảo Dalvik thực tế là một biến thể của máy ảo Java được sửa đổi, bổ sung các
công nghệ đặc trưng của thiết bị di động. Nó được xây dựng với mục đích làm cho các
thiết bị di động có thể chạy nhiều máy ảo một cách hiệu quả. Trước khi thực thi, bất kì
ứng dụng Android nào cũng được convert thành file thực thi với định dạng nén Dalvik
Executable (.dex). Định dạng này được thiết kế để phù hợp với các thiết bị hạn chế về bộ
nhớ cũng như tốc độ xử lý. Ngoài ra máy ảo Dalvik sử dụng bộ nhân Linux để cung cấp
các tính năng như thread, low-level memory management.
2.1.6.5 Kernel Linux
Hệ điều hành Android được xây dựng trên bộ nhân Linux 2.6 cho những dịch vụ
hệ thống cốt lõi như: security, memory management, process management, network
stack, driver model. Bộ nhân này làm nhiệm vụ như một lớp trung gian kết nối phần cứng
thiết bị và phần ứng dụng.

Chương 2: Cơ Sở Lý Thuyết



ĐỒ ÁN TỐT NGHIỆP

Trang 14

Hình 2. 3:Mơ hình hợp tác giữa máy ảo Dalvik và Navite
JNI: Java Native Interface (Tương tự khái niệm Application Programming
Interface).
Java Native Interface: là một bộ framework cho phép mã lệnh viết bằng Java
chạy trên máy ảo java có thể gọi hoặc được gọi bởi một ứng dụng viết bằng native
code (Ứng dụng được viết cho một phần cứng cụ thể và trên một hệ điều hành cụ thể)
hoặc những bộ thư viện viết bằng C, C++ hoặc Assembly.
Bằng cách sử dụng JNI, Android cho phép các ứng dụng chạy trên máy ảo Dalvik
có thể sử dụng những phương thức được viết bằng các ngôn ngữ cấp thấp như: C, C++,
Assembly. Qua đó các nhà phát triển ứng dụng có thể xây dựng ứng dụng dựa trên các bộ
thư viện viết bằng C, C++, Assembly nhằm tăng tốc độ thực thi của ứng dụng hoặc sử
dụng những tính năng mức thấp mà ngơn ngữ Java khơng hổ trợ. Tuy nhiên người phát
triển ứng dụng cần phải cân nhắc sự gia tăng độ phức tạp của ứng dụng khi quyết định sử
dụng các bộ thư viện này.
2.1.7 Bộ công cụ Android SDK
Bộ công cụ phát triễn phần mềm Android SDK gồm nhiều công cụ trợ giúp cho
việc phát triển ứng dụng di động trên nền tảng Android. Thành phần quan trọng nhất của
bộ công cụ này là trình giả lập Android và bộ plug-in phát triển ứng dụng Android trên
Eclipse ADT, bên cạnh đó bộ SDK cũng bao gồm các công cụ khác cho việc gỡ rối, đóng
gói và cài đặt ứng dụng trên trình giả lập và trên thiết bị. Trình giả lập Android – Thực
chất đây là một chương trình mơ phỏng một thiết bị di động ảo trên máy tính. Chúng ta
có thể sử dụng bộ giả lập này để thiết kế gỡ rối và kiểm tra ứng dụng của mình như trên
thiết bị trước khi đưa chương trình vào thiết bị thật. Android Development Tools Plugin (
cho Eclipse) viết tắt là ADT, Plugin này hỗ trợ cho việc tạo và gỡ rối các ứng dụng và sử
dụng mơi trường phát triển thích hợp Eclipse trở nên dễ dàng hơn.


Chương 2: Cơ Sở Lý Thuyết


ĐỒ ÁN TỐT NGHIỆP

Trang 15

Trình gỡ rối Dalvik Debug Monitor Service (DDMS): giúp quản lý các tiến trình
trong bộ giả lập hoặc thiết bị và trợ giúp việc gỡ rối ứng dụng. Có thể sử dụng cơng cụ
này để hủy các tiến trình, chọn một tiến trình cụ thể để gỡ rối, sinh các dữ liệu truy vét,
xem bộ nhớ heap và thông tin về các luồng, chụp ảnh màn hình của trình giả lập.
Android Debug Bridge (ADB): Cơng cụ này cho phép cài đặt các tập tin .apk Trên
bộ giả lập hoặc thiết thiết bị, đồng thời hỗ trợ truy cập hai đối tượng này từ cửa sổ dòng
lệnh.
Android Virtual Devices (AVD): Cho phép chúng ta có thể tạo cấu hình thiết bị
ảo, mơ phỏng các đặc điểm của bộ giả lập Android. Với mỗi cấu hình, ta có thể xác định
nền tảng cho nó chạy, tùy chỉnh phần cứng hay giao diện sử dụng. Mỗi tùy chỉnh của
AVD sẽ như một thiết bị độc lập với dữ liệu lưu trữ của nó, thẻ nhớ SD, v.v…
2.2 Webservice
2.2.1 Tổng quan về webservice
Web service (Web Service) được coi là một công nghệ mang đến cuộc cách mạng
trong cách thức hoạt động của các dịch vụ B2B (Business to Business) và B2C (Business
to Customer). Giá trị cơ bản của Web service dựa trên việc cung cấp các phương thức
theo chuẩn trong việc truy nhập đối với hệ thống đóng gói và hệ thống kế thừa. Các phần
mềm được viết bởi những ngơn ngữ lập trình khác nhau và chạy trên những nền tảng
khác nhau có thể sử dụng Web service để chuyển đổi dữ liệu thông qua mạng Internet
theo cách giao tiếp tương tự bên trong một máy tính. Tuy nhiên, công nghệ xây dựng
Web service không nhất thiết phải là các cơng nghệ mới, nó có thể kết hợp với các cơng
nghệ đã có như XML, SOAP, WSDL, UDDI… Với sự phát triển và lớn mạnh của
Internet, Web service thật sự là một công nghệ đáng được quan tâm để giảm chi phí và độ

phức tạp trong tích hợp và phát triển hệ thống. Chúng ta sẽ xem xét các Web service từ
mức khái niệm đến cách thức xây dựng.
Theo định nghĩa của W3C (World Wide Web Consortium), Web service là một hệ
thống phần mềm được thiết kế để hỗ trợ khả năng tương tác giữa các ứng dụng trên các
máy tính khác nhau thơng qua mạng Internet, giao diện chung và sự gắn kết của nó được
mơ tả bằng XML. Web service là tài nguyên phần mềm có thể xác định bằng địa chỉ
URL, thực hiện các chức năng và đưa ra các thông tin người dùng yêu cầu. Một Web
service được tạo nên bằng cách lấy các chức năng và đóng gói chúng sao cho các ứng
dụng khác dễ dàng nhìn thấy và có thể truy cập đến những dịch vụ mà nó thực hiện, đồng
thời có thể u cầu thơng tin từ Web service khác. Nó bao gồm các mô đun độc lập cho
hoạt động của khách hàng và doanh nghiệp và bản thân nó được thực thi trên server.

Chương 2: Cơ Sở Lý Thuyết


ĐỒ ÁN TỐT NGHIỆP

Trang 16

Trước hết, có thể nói rằng ứng dụng cơ bản của Web service là tích hợp các hệ
thống và là một trong những hoạt động chính khi phát triển hệ thống. Trong hệ thống
này, các ứng dụng cần được tích hợp với cơ sở dữ liệu (CSDL) và các ứng dụng khác,
người sử dụng sẽ giao tiếp với CSDL để tiến hành phân tích và lấy dữ liệu. Trong thời
gian gần đây, việc phát triển mạnh mẽ của thương mại điện tử và B2B cũng đòi hỏi các
hệ thống phải có khả năng tích hợp với CSDL của các đối tác kinh doanh (nghĩa là tương
tác với hệ thống bên ngoài – bên cạnh tương tác với các thành phần bên trong của hệ
thống trong doanh nghiệp).
2.2.2 Đặc điểm của web service
2.2.2.1 Đặc điểm
 Web service cho phép client và server tương tác được với nhau ngay cả trong

những mơi trường khác nhau. Ví dụ, đặt Web server cho ứng dụng trên một máy
chủ chạy hệ điều hành Linux trong khi người dùng sử dụng máy tính chạy hệ điều
hành Windows, ứng dụng vẫn có thể chạy và xử lý bình thường mà khơng cần
thêm u cầu đặc biệt để tương thích giữa hai hệ điều hành này.
 Phần lớn kĩ thuật của Web service được xây dựng dựa trên mã nguồn mở và được
phát triển từ các chuẩn đã được cơng nhận, ví dụ như XML.
 Một Web service bao gồm có nhiều mơ-đun và có thể cơng bố lên mạng Internet.
 Là sự kết hợp của việc phát triển theo hướng từng thành phần với những lĩnh vực
cụ thể và cơ sở hạ tầng Web, đưa ra những lợi ích cho cả doanh nghiệp, khách
hàng, những nhà cung cấp khác và cả những cá nhân thông qua mạng Internet.
 Một ứng dụng khi được triển khai sẽ hoạt động theo mơ hình client-server. Nó có
thể được triển khai bởi một phần mềm ứng dụng phía server ví dụ như PHP,
Oracle Application server hay Microsoft.Net…
 Ngày nay Web service đang rất phát triển, những lĩnh vực trong cuộc sống có thể
áp dụng và tích hợp Web service là khá rộng lớn như dịch vụ chọn lọc và phân
loại tin tức (hệ thống thư viện có kết nối đến web portal để tìm kiếm các thơng tin
cần thiết); ứng dụng cho các dịch vụ du lịch (cung cấp giá vé, thông tin về địa
điểm…), các đại lý bán hàng qua mạng, thông tin thương mại như giá cả, tỷ giá
hối đoái, đấu giá qua mạng…hay dịch vụ giao dịch trực tuyến (cho cả B2B và
B2C) như đặt vé máy bay, thông tin thuê xe…
 Các ứng dụng có tích hợp Web service đã khơng cịn là xa lạ, đặc biệt trong điều
kiện thương mại điện tử đang bùng nổ và phát triển không ngừng cùng với sự lớn
mạnh của Internet. Bất kì một lĩnh vực nào trong cuộc sống cũng có thể tích hợp
với Web service, đây là cách thức kinh doanh và làm việc có hiệu quả bởi thời đại
Chương 2: Cơ Sở Lý Thuyết


ĐỒ ÁN TỐT NGHIỆP

Trang 17


ngày nay là thời đại của truyền thông và trao đổi thông tin qua mạng. Do vậy, việc
phát triển và tích hợp các ứng dụng với Web service đang được quan tâm phát
triển là điều hoàn toàn dễ hiểu.

2.2.2.2 Ưu nhược điểm
Ưu điểm:
 Web service cung cấp khả năng hoạt động rộng lớn với các ứng dụng phần mềm
khác nhau chạy trên những nền tảng khác nhau.
 Sử dụng các giao thức và chuẩn mở. Giao thức và định dạng dữ liệu dựa trên văn
bản (text), giúp các lập trình viên dễ dàng hiểu được.
 Nâng cao khả năng tái sử dụng.
 Thúc đẩy đầu tư các hệ thống phần mềm đã tồn tại bằng cách cho phép các tiến
trình/chức năng nghiệp vụ đóng gói trong giao diện Web service.
 Tạo mối quan hệ tương tác lẫn nhau và mềm dẻo giữa các thành phần trong hệ
thống, dễ dàng cho việc phát triển các ứng dụng phân tán.
 Thúc đẩy hệ thống tích hợp, giảm sự phức tạp của hệ thống, hạ giá thành hoạt
động, phát triển hệ thống nhanh và tương tác hiệu quả với hệ thống của các doanh
nghiệp khác.

Nhược điểm:
 Những thiệt hại lớn sẽ xảy ra vào khoảng thời gian chết của Web service, giao
diện khơng thay đổi, có thể lỗi nếu một máy khách không được nâng cấp, thiếu các
giao thức cho việc vận hành.
 Có quá nhiều chuẩn cho Web service khiến người dùng khó nắm bắt.
 Phải quan tâm nhiều hơn đến vấn đề an toàn và bảo mật.
2.2.3 Kiến trúc web service
Web service gồm có 3 chuẩn chính: SOAP (Simple Object Access Protocol),
WSDL (Web Service Description Language) và UDDI (Universal Description,
Discovery, and Integration). Hình 1 mơ tả chồng giao thức của Web service, trong đó

UDDI được sử dụng để đăng ký và khám phá Web service đã được miêu tả cụ thể trong
WSDL. Giao tác UDDI sử dụng SOAP để nói chuyện với UDDI server, sau đó các ứng

Chương 2: Cơ Sở Lý Thuyết


ĐỒ ÁN TỐT NGHIỆP

Trang 18

dụng SOAP yêu cầu một Web service. Các thơng điệp SOAP được gửi đi chính xác bởi
HTTP và TCP/IP.

Hình 2. 4: Kiến trúc web service
Chồng giao thức Web service là tập hợp các giao thức mạng máy tính được sử
dụng để định nghĩa, xác định vị trí, thi hành và tạo nên Web service tương tác với những
ứng dụng hay dịch vụ khác. Chồng giao thức này có 4 thành phần chính:
 Dịch vụ vận chuyển (Service Transport): có nhiệm vụ truyền thơng điệp giữa các
ứng dụng mạng, bao gồm những giao thức như HTTP, SMTP, FTP, JSM và gần
đây nhất là giao thức thay đổi khổi mở rộng (Blocks Extensible Exchange
Protocol- BEEP).
 Thông điệp XML: có nhiệm vụ giải mã các thơng điệp theo định dạng XML để có
thể hiểu được ở mức ứng dụng tương tác với người dùng. Hiện tại, những giao
thức thực hiện nhiệm vụ này là XML-RPC, SOAP và REST.
 Mô tả dịch vụ: được sử dụng để miêu tả các giao diện chung cho một Web service
cụ thể. WSDL thường được sử dụng cho mục đích này, nó là một ngôn ngữ mô tả
giao tiếp và thực thi dựa trên XML. Web service sẽ sử dụng ngôn ngữ này để
truyền tham số và các loại dữ liệu cho các thao tác và chức năng mà Web service
cung cấp.
 Khám phá dịch vụ: tập trung dịch vụ vào trong một nơi được đăng ký, từ đó giúp

một Web service có thể dễ dàng khám phá ra những dịch vụ nào đã có trên mạng,
tốt hơn trong việc tìm kiếm những dịch vụ khác để tương tác. Một Web service
cũng phải tiến hành đăng ký để các dịch vụ khác có thể truy cập và giao tiếp. Hiện
tại, UDDI API thường được sử dụng để thực hiện công việc này.

Chương 2: Cơ Sở Lý Thuyết


×