Bên cạnh chuyên ngành điện - điện tử, là những người yêu thích công nghệ và luôn muôn thử sức với những lĩnh vực mới đẻ làm phong phong phú thêm kiến thức vả cập nhật những xu hướng phát
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRUONG DAI HOC SU’ PHAM KY THUAT
THÀNH PHÓ HÒ CHÍ MINH
HGMUIIE
ĐỎ ÁN TÓT NGHIỆP NGÀNH KỸ THUẬT ĐIỆN - ĐIỆN TỬ
XÂY DỰNG ỨNG DỤNG CHỌN MÓN THÔNG MINH
TRÊN NÊN TẢNG ANDROID
GVHD: NGUYÊN VĂN HIỆP SVTH: NGÔ XUÂN HIỆP
Trang 2BỘ GIÁO DỤC & ĐÀO TẠO :
TRUONG DAI HQC SU PHAM KỸ THUẬT TP HÒ CHÍ MINH
KHOA ĐIỆN - ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ-CÔNG NGHIỆP
ĐỎ ÁN TÓT NGHIỆP
NGÀNH KỸ THUẬT ĐIỆN - ĐIỆN TỬ
ĐÈ TÀI:
XÂY DỰNG ỨNG DỤNG CHỌN MÓN THÔNG
MINH TREN NEN TANG ANDROID
GVHD: Th.S Nguyén Van Hiép
SVTH : Ngô Xuân Hiệp - 10101040
Trang 3ĐỒ ÁN TỐT NGHIỆP GVHD : NGUYỄN VĂN HIỆP
“———ễ-
PHAN A GIOI THIEU
SVTH : NGO XUAN HIEP ~ 10101040
LƯƠNG DUY KHÁNH - 10101062 Page 1
Trang 4
ĐỒ ÁN TỐT NGHIỆP ĐƯỢC HOÀN THÀNH TẠI
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM
©Cán bộ hướng dẫn khoa học : Th.S NGUYEN VAN HIỆP
Cán bộ chấm phán biện
Đề án tốt nghiệp được bảo vệ tai:
HOI DONG CHAM BAO VE BO AN TOT NGHIEP TRUONG
ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM, ngày tháng
SVTH: NGÔ XUẨN HIỆP - 10101040
LƯƠNG DUY KHÁNH - 10101062 Page 2
Trang 5ĐỒ ÁN TỐT NGHIỆP GVHD : NGUYEN VAN HIEP
===——————-
BỘ GIÁO DỤC VÀ ĐÀO TẠO CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT ĐỘC LẬP - TỰ DO ~ HẠNH PHÚC
TP.HO CHÍ MINH Tp.HCM ngày tháng .năm 2014
KHOA ĐIỆN - ĐIỆN TỬ NGÀNH KỸ THUẬT ĐIỆN - ĐIỆN TỬ NHIEM VU BO ÁN TÓT NGHIỆP
Họ và lên ; Ngô Xuân Hiệp — -10101040
Lương Duy Khanh - 10101062
* _ Khảo sát hệ điều hanh Android
* _ Tìm hiểu cách xây dựng ứng dụng chọn món thông minh cho quán Coffee 166
b Nội dung
Xây dựng và phát triển hoàn chỉnh ứng dụng gọi món thông minh “Smart Menu” chạy trên nền hệ điều hành Android phiên bản 4.0 cho quán Coffee 166
3 Giáo viên hướng dẫn : Th.S Nguyễn Văn Hiệp
4 Ngày giao nhiệm vụ :
5 Ngày hoàn thành nhiệm vụ
ae use ee ;
eons gl - “Oa Thee He
erie
SVTH: NGÔ XUÂN HIỆP -10101040
LƯƠNG DUY KHÁNH - 10101062 Page 3
Trang 6ĐỒ ÁN TỐT NGHIỆP GVHD : NGUYỄN VĂN H EP
BQ GIAO DUC VA DAO TAO CONG HOA XA HOI CHU NGHIA VIET NAM
TRUONG DAI HOC SU PHAM KY THUAT ĐỘC LẬP - TỰ DO - HẠNH PHÚC
TP.HO CHÍ MINH Tp.HCM ngày tháng .năm 2014
LICH TRINH THỰC HIỆN DO AN TOT NGHIỆP
10/03-23/03 mềm Eelipse, thiết kế giao diện
android dom vide
12/05-01/06 Tìm hiểu Cz, cách liên kết với PHP,MỹSQL
phương pháp điều khiên thiết bị bằng C#
02/06-15/06 Tìm hiệu kết nôi may in
16/06-29/06 Hoàn thiện ứng dụng điều khiển trên máy tính
30/06-12/07 Hoàn thành sách báo cáo
GIÁO VIÊN HƯỚNG DẪN
(Ky tén)
—oSSoScc
SVTH : NGÔ XUÂN HIỆP -10101040
LƯƠNG DUY KHÁNH - 10101062 Page 4
Trang 7ĐỒ ÁN TỐT NGHIỆP GVHD : NGUYEN VAN HIEP
—=—ỄễỄễ-——
BỘ GIÁO DỤC VÀ ĐÀO TẠO CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT ĐỘC LẬP - TỰ DO - HẠNH PHÚC
TP.HO CHÍ MINH
KHOA ĐIỆN - ĐIỆN TỬ
NHẬN XÉT CỦA GIÁO VIÊN HUONG DAN
Ngày tháng năm 2014
Giáo viên hướng dẫn
SVTH: NGÔ XUẨN HIỆP -10101040
LƯƠNG DUY KHÁNH - 10101062 Page 5
Trang 8ĐỒ ÁN TỐT NGHIỆP GVHD : NGUYỄN VĂN HIỆP
“————————-ễS-——_-
BỘ GIÁO DỤC VÀ ĐÀO TẠO CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT ĐỘC LẬP - TỰ DO - HẠNH PHÚC
TP.HÔ CHi MINH
KHOA ĐIỆN - ĐIỆN TỬ
NHẬN XÉT CỦA GIÁO VIÊN PHAN BIEN
Ngày tháng năm 2014 Giáo viên phản biện
rT
SVTH : NGO XUAN HIEP - 10101040
LƯƠNG DUY KHÁNH - 10101062 Page 6
Trang 9ĐỒ ÁN TỐT NGHIỆP GVHD : NGUYỄN VĂN HIỆP
—=—————ễ`` `.` '``,
LOI CAM ON
Trong thời gian thực hiện luận văn nhóm sinh viên thực hiện để tài đã được học
hỏi nhiều kiến thức bổ ích trong giáo trình và thực tế từ thầy cô Qua đây nhóm sinh viên xin gửi lời cảm ơn chân thành đến:
Quý thầy cô trong Khoa Điện — Điện Tử của trường Đại Học Sư Phạm Kỹ
Thuật Tp.HCM đã truyền đạt những kiến thức, những kinh nghiệm quý báu trong
chuyên môn cũng như trong nhiều lĩnh vực khác Sự tận tụy say mê, lòng nhân ái,
nhiệt tỉnh của thầy cô lả động lực to lớn giúp chúng em trau dồi thêm kiến thức và
vượt qua những khó khăn trong học tập cũng như trong đời sống
Chúng em sin gửi lời cảm ơn chân thành nhất đên Thầy Nguyễn Văn Hiệp đã
(an tính hướng dẫn giáp đỡ em hoàn thành đồ án tốt nghiệp nay
Đồng thời cũng xin cám ơn tắt cả bạn bè đã gắn bó cùng nhau trong học tập và
giúp đỡ nhau trong suốt thời gisn qua cfing như trong suốt quá trình thực hiện đồ án tốt
nghiệp này
Xin cảm ơn gia đình đã tạo điều kiện thuận lợi và là chỗ dựa cho con trong suốt thời gian học tập
Xin chân thành cảm ơn!
Nhóm snh viên thực hiện đề tài
Ngô Xuân Hiệp
Lương Duy Khánh
SVTH : NGÔ XUÂN HIỆP -10101040
Trang 10ĐỒ ÁN TỐT NGHIỆP GVHD : NGUYỄN VĂN HIỆP
———————————————ễ`.' ‹.'.`'v
PHAN A: GIGI THIEU
Nhận xét của giáo viên hướng dẫn
Nhận xét của giáo viên phần biỆn càng 6
Trang 11ĐỒ ÁN TỐT NGHIỆP =———————ễ GVHD : NGUYỄN VĂN HIỆP
2.2 KIEN TRÚC CUA HE DIEU HANH ANDROID 2ccc:cccc222zzczz 24
2.2.1 Tang img Gung Applications) a sicenmssvensss eavumnerweeveroiueseetes 24 2.2.2 Applications Framework cccccscscsesessssesesesesesescscsveeveeevaes 25
2.2.3 Tầng thư viện (Librari€S) tt n1 1112111111011 11 26
F09000 ng 13 26 2.2.5 Tầng hạt nhân Linux (Linux Kernel Linux) .««<++ 27
2.3 CÁC CÔNG CU TRUYEN DẪN DỮ LIỆU -5 ©2- S522 s23 28
2.3.2 Vài nét về Visual Studio sir dung C#
3⁄4 THIẾT KẾ GIÁO ĐIỆN CHO ỨNG DỰNG CỦA ANDROID 30
3.3.1 Phần mềm SmartMenu chạy trên thiết bị di động 36
3.3.2 Phần mềm SmartMenuPC chạy trên máy chủ (máy vi tính) 36
—————— ễễằẽ>£ễ>ễẰ©E—
SVTH : NGÔ XUÂN HIỆP -10101040
Trang 12ĐỒ ÁN TỐT NGHIỆP GVHD : NGUYỄN VĂN HIỆP
“——————ễ— 3.4 LƯU ĐỒ GIẢI THUẬT, 2255 1s tt ,021200111111 00.1116 37 3.5 CÁC THÀNH PHÂN CHÍNH CỦA ỨNG DỤNG -2 22222222226 44 3.6 CHƯƠNG TRÌNH SMARTMENU TRÊN ANDROID -55552552 47
3.6.1 Màn hình đăng nhập chương trình
3.6.2 Màn hình chính chương trình
3.7 Chương trình SmartMenuPC trên máy chủ . ¿5:22 c2 +xzz 51
3.7.1 Màn hình đăng nhập của SmartMenu ¿5c 2c c2 s22 2552 52 3.7.2 Màn hình chính của SmartMenu ¿- ¿2222525252222 2222 222 33
3.8 LIÊN KẾT DỮ LIỆU TRÊN MẠNG 2c cv n2 1212xee 55
3.8.1 Cải đặt host trên máy tÍnh cuc nh HH kg rước 33
3.8.2 Tạo cơ sử dữ TIỆM uc uc TH HH HH 6443848441124 xse 56
CHƯNG:MI KẾT QUÁ Gaxsns2210 26C 00 gan nasi Gineisacttsveoenersunnedenonys 58
4.2 Giao dién img dur
CHƯƠNG 5: KẾT LUẬN, HƯỚNG PHÁT TRIỂN ác tot t2 cv 6
5:1 KẾT QUÁ NGHIÊN CỨU: ác s01 020201010001000100161 8010116 802 64 5/00KEELLIaLUIAN Lsoaszxsn<012022839i9/3,<60-8 108911P-2010001 0000000 g-0g0g00010qg0 2 65
53 HƯỚNG PHÁT TRIỂN ¿St St re 65
579005 00552 66
SVTH : NGÔ XUÂN HIỆP -10101040
Trang 13ĐỒ ÁN TỐT NGHIỆP GVHD : NGUYỄN VĂN HIỆP
Hình 3.1: Không gian sân vườn và phòng lạnh của cà phê thgoS4060/08038405040c50015.632g15 34
tịnh 3⁄à lơ đổ hệ NỆNG ssseuseeasodidu Att0IG5100100 008 015060505 35 tHinh 3⁄4 1.0u dã đĂNG HH Ãp‹‹ccecsssiscc65112 G0 00 0181001144 s056 4a lá Ká10xdaế 37
Hình 3.7 Lưu đồ màn hiển thị các 52r 39
Hình 3.8 Lưu đồ màn hình chỉnh SửZ ĐÁH - - St tt v2 122121122121 xe2 40 Hình 3.9 Lưu đồ màn hình chợn bán 7- c2 cv Su 2 sec
Hình 3.10 Lưu đồ màn hình thêm bớt món: khí order co cv ccccccc 42
Hình 3.11 Luu dé man hinh giri yéu cau ve Dep oe eeeceecseeeeeesseeeseteeseseeeees 43 Hình 3.12 Lưu đồ màn hình tính tiên
Hình 3.13 Các thành phan chinh trong m6t tmg dung cla Android 45
Hình 3.14 Giao diện màn hình đăng nhập của SmartMenu
Hình 3.15 Giao diện màn hình chính của SmartMenu - 48 Hình 3.16 Giao điện màn hình menu của SmartMenu 49 Hình 3.17 Giao diện màn hình order của SmartMenu 45 Hinh 3.18 Giao dién man hinh tinh tién cia SmartMenu Taakesansausneais 51
Hình 3.19 Hệ thống tab của chương trình SmartMenuPC 51
SVTH:NGO XUAN HIEP —- 10101040
Trang 14ĐỒ ÁN TỐT NGHIỆP GVHD : NGUYỄN VĂN HIỆP
_———————-————._-_
Hinh 3.21 Giao dién man hinh ban hang .scccscsssssessessseecseessesssesseseeen 53 Hinh 3.22 Giao dign nhat ky doanh thu .c.csscscssesseescessesseseessesseseeveees 54
Hình 3.24 Giao diện Xampp 0 St HT H001 0121115111511551 1e 55 Hình 3.25 M@ port locallhost trén modem cccccecsessseeeeseeeeseee Mã 6368/13/4630 56
Hình 3.26 Cơ sở dữ liệu trên MySQL
Hình 3.27 Cơ sở dữ liệu trên MySQ, so cv cv SH H12 111cc 56
Hành 4.1 Giao điện đáng nhập vã quán lý bán hàng ccccccccccccecccccce 59 Hinh 4.2 Giao dién chọn món vá bán
Hình 4.6 Giao diện chọn quản lý cửa hãr
SVTH: NGO XUAN HIEP -10101040
Trang 15ĐỒ ÁN TỐT NGHIỆP GVHD : NGUYEN VĂN HIỆP
PHANB
NOI DUNG
SVTH:NGO XUAN HIEP -10101040
Trang 16ĐỒ ÁN TỐT NGHIỆP GVHD : NGUYỄN VĂN HIỆP
LƯƠNG DUY KHÁNH - 10101062 Page 14
Trang 17ĐỒ ÁN TỐT NGHIỆP GVHD : NGUYỄN VĂN HIỆP
1.1 ĐẶT VẤN ĐÈ
Ngày nay công nghệ thiết bị di động thông minh (Smart Phone, Table PC ) ngày
càng phát triển mạnh Cấu hình phần cứng của các thiết bị ngày càng được các nhà sản
xuất nâng cắp mạnh, điển hình là CPU đã đạt tới tốc độ GHz, Ram cũng đạt tới dung
lượng hơn 20G và sẽ hứa hẹn phát triển hơn nữa trong tương lai
Bên cạnh đó, hệ điều hành cho các thiết bị di độn đó cũng phát triển mạnh không kém
Các hệ điều hành của nhiều hãng lần lượt ra đời và liên tục phát triển, cập nhật nhiều
phiên bản mới, đem lại sự thuận tiện cho người sử dụng như: Windowns Mobile,
Android, iphone OS, Black Berry OS, Palm OS
Đặt nước tà ngày cảng hôi nhập sâu rộng với thế giới, các công nghệ tiên tiến cũng đã
dụ nhập vào Việt Nam nhiều các
Ngày nay lập trình nhúng và lập trinh thẻo hướng mã nguồn mở ngày càng phát triển
và là một xu hướng phát triển của tương lai Bên cạnh chuyên ngành điện - điện tử, là
những người yêu thích công nghệ và luôn muôn thử sức với những lĩnh vực mới đẻ làm phong phong phú thêm kiến thức vả cập nhật những xu hướng phát triển của thời
đại, được sự đồng ý của thầy hướng dẫn dẻ tài tốt nghiệp, nhóm sinh viên thực hiện đề tài đã chọn hướng nghiên cứu tìm hiểu và viết ứng dụng minh họa cho hệ điều hành của thiết bị di động thông minh
Trong thời gian gần đây, nổi vật nhất trong số các hệ điều hành dành cho thiết bị di
động thông minh chính là hệ điều hành Android với những tính năng ưu việt như:
+ Là hệ điều hành di động mã nguồn mở cho phép các nhà phát triển tại ra những
ứng dụng di động hấp dẫn Hơn nữa, nó sử dụng một máy ảo tùy chỉnh được
thiết kế để tối ưu hóa bộ nhớ và tài nguyên phần cứng trong môi trường đi động SVTH : NGÔ XUÂN HIỆP -10101040
Trang 18ĐỒ ÁN TỐT NGHIỆP
GVHD : NGUYEN VAN HIEP
La mot nén tang mạnh, hỗ trợ nhiều công nghệ tiên tiến, cho nhiều API cho
việc phát triển phần mềm Android cung cấp truy xuất đến một loạt thư viện
công cụ hữu ích và có thể sử dụng để xây dụng các ứng dụng phong phú
s* Hoạt động được trên nhiều dòng điện thoại của nhiều hãng khác nhau như:
HTC, Samsung, LG, Sony, từ đó tạo ra cuộc cách mạng mới về thế hệ thiết
bị di động thông minh giá rẻ,
'Với những tru điểm nỗi bật và sự hắp dẫn mà hệ điều hành Android mang lại,
nhóm sinh viên thực hiện đã mạnh đạn chọn đề tài tốt nghiệp:
*XÂY DỰNG ỨNG DỤNG CHỌN MÓN THÔNG MINH TRÊN NEN TANG
ANDROID”
13 PHƯƠNG PHÁP NGHIÊN CỨU
Sau khí được sự chấp nhận để tái nghiên cứu của Thầy Nguyễn Văn Hiệp, nhóm sinh
viên thực hiện để tái đã từng bước tiến hanh:
s Tìm hiểu các thông tin cơ 544 iều hành Android như: lịch sử hình thành
và phát triển, các phiên b4n hiện có, thị phần và khả năng phát triển cuat
nguyên trên mạng Internet
# Tải và cài đặt cấu hình cho các gói phản mẻm công cụ phục vụ cho việc lập
trình phần mềm ứng dụng Android
s* Bằng những kiến thức cơ bản có được từ việc đọc sách tham khảo và các nguồn
tài nguyên trên mạng , tiến hành viết và chạy thử nghiệm những ứng dụng đơn
giản để hiểu rõ thêm về cách sử dụng các thành phần đối tượng có trong bộ lập
trình Android OS
Phát thảo trước về giao diện, tính năng, các đôi tượng sẽ được sử dụng để lập
trình cho bộ phan mềm ứng dụng AnWaiter
Thiết kế và chỉnh sửa giao diện hoàn chỉnh cho bộ chương trình ứng dụng
SmartMenu
+* Thiết kế mã nguồn cho bộ phần mềm ứng dụng SmartMenu
SVTH : NGÔ XUÂN HIỆP - 10101040
Trang 19ĐỒ ÁN TỐT NGHIỆP GVHD : NGUYEN VĂN HIỆP
s* Tiến hành chạy thử nghiệm mô phỏng trên máy tính để hiện các lỗi cú pháp và
lỗi logic của bộ chương trình
+ Sau khi đã chạy mô phỏng hoàn thiện trên máy tính, tiến hành cải đặt chương
trình chạy thực tế trên các loại thiết bị di động cầm tay chạy hệ điều hành
Android để phát hiện lỗi chạy thực tế, kiểm nghiệm tính tương thích của phần
mềm
$#_ Sau khi bộ phần mềm ứng dụng SmartMenu đã chạy tốt trên các thiết bị thực tế, đúng theo yêu cầu đã đề ra, tiến hành viết báo cáo phần lý thuyết và phan thực hành của hệ điều hành Android
13) GIỚI HẠN CỦA ĐÉ TÀI
Vi lý do giới hạn vẻ thời gian øz
kiế
số vấn đề chính của hệ điều han:
¡ cứu đê tài, cũng như những giới hạn nhất định về
iên thực hiện để tài chỉ tập trung nghiên cứu một
s* Biết cách sử dụng các đối tượng EditText Button, ListView từ đó có thể viết
được hầu như các ứng dụng sử dụng các thành phần cơ bản thường hay sử dụng
khi thiết kế giao điện và lập trình mã nguồn như: TextView thông thường
s* Nhóm sinh viên chỉ thực hiện thiết kế chương trình trên nền tảng hệ điều hành
Android, các hệ điều hành khác như IOS, Blackbery OS, Window Phone
nằm ngoài phạm vi dé tai -
% Do qua trình lay dữ liệu về phần cứng diễn ra liên tục nên có thể xảy ra quá
trình khóa IP từ webhost - -
Quá trình thực thi lệnh có thể xảy ra hiện tượng đơ, giật do lỗi từ thiết bị
Android hay độ thiếu ồn định của đường truyền mạng
* Chỉ hoạt động trên các thiết bị sử dụng hệ điều hành Android 4.0 trở lên
SKL’
0003040
———
SVTH : NGÔ XUÂN HIỆP -10101040
Trang 20ĐỒ ÁN TỐT NGHIỆP GVHD : NGUYỄN VĂN HIỆP
CHƯƠNG 2
CO SO LY THUYET
———>——ẦDờờ
SVTH : NGÔ XUÂN HIỆP -10101040
LƯƠNG DUY KHÁNH - 10101062 Page 18
Trang 21ĐỒ ÁN TỐT NGHIỆP GVHD : NGUYEN VAN HIỆP
2.1 TONG QUAN Vi: HE DIEU HANH ANDROID
2.1.1 Giới thiệu 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 mỉnh và máy tính bảng Ban dau,
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 dượ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
vho phép các nhá phát triển tiết bị, mạng dí động và các lập trình viên nhiệt huyết
được điều chính và phán phối
p trình Java có sửa đôi Vào tháng 10 năm 2012,
ở, và số lượt tải ứng dụng từ Google Play,
cửa hàng ứng dụng chính cua Android ude tinh khoang 25 ty lugt
Ưu điểm chính của việc áp dụng android là nó cung cấp một cách tiếp cận thống nhất
để phát triển ứng dụng Các nhả phát triển chí cần phát triển cho android và các ứng
dụng của họ có thể chạy trên nhiễu thiết bị khác nhau, miễn là các thiết bị được hỗ trợ
bằng cách sử dụng android Trong thể giới điện thoại thông minh ứng dụng là một
phần quan trọng nhất của chuỗi thành công Do đó các nhà sản xuất thiết bị coi
Android như là hy vọng tốt nhất để thách thức sự tấn công của Apple
2.1.2 Lịch sử Android
Tổng công ty Android (Android Inc.) duge thanh lap tai Palo Alto, California vao
thang 10 nam 2003 boi 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ó
SVTH : NGÔ XUÂN HIỆP _-10101040
Trang 22
ĐỒ ÁN TỐT NGHIỆP
GVHD : NGUYỄN VĂN H giám đốc T-Mobile) 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ị dị độ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 diện thoại di động Trong năm dé, 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
Androtd gồm Kubin, Miner va White, vin 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
agwoi don đoán rằng Google dự tính tham gia thị trường điện thoại di động sau bước
đí này, Lại Google nhóm do Kupin dong dau đã phát triển một nền tảng thiết bị đi
dong phat trien én nénnhan Linus Google quang ba nén tảng này cho các nhà sản
xuất điện thoại và các nhả mạng +⁄ hứa sẽ cung cấp một hệ thống uyén chuyển và
đi hệ với háng loạt hãng phần cứng cũng như đối
có khả năng nâng cấp Goog!
Google muốn dư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 diề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ề tỉn đồ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 thực hiện những bản mô tả kỹ thuật chỉ 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 dang tai 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 đi động
SVTH : NGÔ XUÂN HIỆP 0101040
LƯƠNG DUY KHÁNH - 10101062 Page 20
Trang 23ĐỒ ẤN TỐT NGHIỆP GVHD : NGUYEN VĂN HIỆP
Ngày 5 tháng I1 năm 2007, Liên mỉnh 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, LG,Motorola, Nvidia, Qualcomm, SamsungElectronics , Sprint Nextel va T-Mobile được thành lập với mục dí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
dầ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 dầu tiên được bán ra là HTC
Dream phat hank ngay 22 tháng 10 năm 2008 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 200%, Android đã trải quá nhiều lần cập nhật để dần dần cải tiến hệ điều hành,
bỏ suug các Lính nâng riớ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ự bang chữ cái theo tên của một món ăn trang
miệng: ví dụ như phiên ban %¿caÈe (bánh bông lan nhỏ có kem) tiếp nối bằng
phiên bản 1.6 Domur (banh
¡ ban mới nhất hiện nay là 4.4.2 Kitkat Vào
năm 2010, Google ra mắt loạt Nexus-một dòng sản phẩm bao gồm điện thoại
thông minh và máy tính ban hánh Android, do các đối tác phần cứng sản xuất HTC đã hợp tác với G toae chiếc điện thoại thông minh Nexus đầu
tiên Nexus One Kế từ đó nhiều tứ 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 bang 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 bang 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 va phần mềm mới nhất của Android
2.1.3 Các phiên bản của Android
Lịch sử phiên bản của hệ điều hành di động Android bất đầu với bản Android beta vào
tháng 11 2007 Phiên bản thương mại đầu tiên, Android 1.0, được phát hành vào tháng
9 năm 2008 Android đang được phát triển bởiGoogle và Open Handset Alliance
(OHA), và đã có một số bản cập nhật cho hệ điều hành này kể từ khi ra mắt
Từ tháng 4 2009, phiên bản Android được phát triển dưới tên mã là chủ đề bánh kẹo
và phát hành theo thứ tự bảng chữ cái: Cupcake (1.5), Domut (1.6), Eclair (2.0-2.1),
Froyo (2.2-2.2.3) Gingerbread (2.3-2.3.7), Honeycomb (3.0-3.2.6), Ice Cream
SVTH : NGÔ XUÂN HIỆP -10101040
Trang 24ĐỒ ÁN TỐT NGHIỆP GVHD : NGUYỄN VĂN HIỆP
Sandwich (4.0-4.0.4), Jelly Bean (4.1-4.3), và KitKat (4.4) Vào 3 tháng 9 2013,
Google công bố rằng 1 tỉ thiết bị đã được kích hoạt hiện sử dụng Android OS trên toàn
cầu Bản cập nhật Android sẵn đây nhất là KitKat 4.4, nó được phát hành bản thương mại trên thiết bị 22 tháng 11 2013, thông qua cập nhật OTA
¬——ˆỄẼ>Ầ
SVTH :NGÔ XUÂN HIỆP -10101040
Trang 25ĐỒ ÁN TỐT NGHIỆP GVHD : NGUYỄN VĂN HIỆP
Ice Cream Sandwich 4.0 Jelly Bean 4.1/4.2
Hình 2.1: Biếu tượng của các phiên bản Android
2.1.4 Cơ sở lập trình
Lập trình Android hiện nay đang thực hiện trên nên Java, ngoài ra cần bộ công cụ phát
triển ứng dụng Android SDK để bát đáu học lập trình Android Có rất nhiều các công
cụ cho phép tiến hành lập trình Android như Android Studio, Eclipse, NetBean Ở trong để tài này, nhóm sinh viên làm việc với Eclipse để lập trình Android Do
các công cụ để phát triển chương trình càng ngảy càng được cập nhật mới và dễ
dàng tìm thấy trên các công cụ tìm kiếm hiện nay nên nhóm sinh viên sẽ không trực
tiếp đề cập tới quá trình cài đặt các công cụ này Các thành phần chính của 1 ứng dụng
Android:
Activity: hiểu một cách đơn giản thì Activity là nền của 1 ứng dụng Khi khởi động 1
ứng dụng Android nào đó thì bao giờ cũng có 1 main Activity được gọi, hiển thị màn
hình giao diện của ứng dụng cho phép người dùng tương tác Service: thành phân chạy
an trong Android
Service sử dụng để update dữ liệu, đưa ra các cảnh báo (Notification) và không bao giờ hiển thị cho người dùng thây
SVTH : NGÔ XUÂN HIỆP -10101040
Trang 26ĐỒ ÁN TỐT NGHIỆP
GVHD : NGUYỄN VĂN HIỆP
$#_ Content Provider: kho dữ liệu chia sé Content Provider được sử dụng để quản
lý và chia sé dit liệu giữa các ứng dụng
% Intent: nen tang dé truyén tai céc thông báo Intent được sử dụng để gửi các
thông báo đi nhằm khởi tạo ] Activity hay Service để thực hiện công việc bạn
mong muôn
* Broadcast Receiver: thanh phan thu nhan céc Intent bên ngoài gửi tới
Notification: dua ra các cảnh báo mà không làm cho các Activity phải ngừng
hoạt động
* Activity, Service, Broadcast Receiver va Content Provider méi la nhitng thanh
phần chính cầu thành nên ứng dụng Android, bắt buộc phải khai báo trong
AndroidManifest
3.1.5 Thực trạng hiện nay của hệ điều hành Android so với các hệ điều hành khác
Hình 2.2: So sánh tổng thị phần của Android so với các hệ điều hành khác
Thông qua bảng so sánh thiết bị sử dụng Android qua các năm, ta thấy thị phần của
Android là lớn nhất và không ngừng tăng Điều đó chứng tỏ sức cạnh tranh của hệ điều
hành Android là rất lớn và hứa hẹn nhiễu triển vọng trong tương lai
Ô XUÂN HIỆ 0
SVTH : NGÔ XUÂN HIỆP - 10101041
LƯƠNG DUY KHÁNH - 10101062 Page 24
Trang 27s3 Viết bằng Java, phần mở rộng là apk
+ Khi mỗi ứng dụng được chạy, nó có một phiên bản Virtual Machine được dựng
lên để phục vụ cho nó Nó có thể là một Active Program: Chương trình có giao
điện với người đử dụng hoặc một Background : Chương trình chạy nền hay là
dich vu
SVTH : NGÔ XUÂN HIỆP _ - 10101040
LƯƠNG DUY KHÁNH - 10101062
Page 25
Trang 28ĐỒ ÁN TỐT NGHIỆP
GVHD : NGUYỄN VĂN HIỆP
% Android hệ điều hành đa nhiệm, điều đó có nghĩa là trong cùng một thời
điểm, có thể có nhiều chương trình chậy cùng một lúc, tuy nhiên, với mỗi ứng
dụng thì có duy nhất một thực thể(instance) được phép chạy mà thôi
$ Các ứng dụng được gán số ID của người sử dụng nhằm phân định quyền hạn khi sử dụng tài nguyên, cấu hình phần cứng và hệ thống
$#- Android là một hề điều hành có tính mở, khác với nhiều hệ điều hành di động
khác, Android cho phép một ứng dụng của bên thứ ba được phép chạy nên Các
ứng dụng đó chỉ có một hạn chế nho nhỏ là: không được phép sử dụng quá 5-10%
công suất CPU, điều đó nhằm để tránh độc quyền trong việc sử dụng CPU
sáng tạo Họ được tự do tận 6 tái nguyên về thiết bị phần cứng, thông tin địa
điểm truy cập, các dịch vụ c :iét lập báo cáo, thông báo, trạng thái, Nhà
phát triển có thể truy cập vào c %P cùng một khuôn khổ được sử dụng bởi các ứng dụng lõi Các kiến trúc được thiế xé đơn giàn hóa việc sử dụng lại các thành phần
Một vài thành phần quan trọng:
s* Activity manager: quản lý vòng đời của các ứng dụng điều hướng cho các
activity
“+ Window manager: cung cấp khả năng quản lý giao diện người dùng
+ View system: tập hợp rất nhiều các View có khả năng thừa kế lẫn nhau dùng để
thiết kế giao điện ứng dụng như: TextView, EditText, GirdView, Table View
Content providers: cho phép các ứng dụng truy xuất dữ liệu từ các ứng dụng
khác (tính kế thừa), ví dụ như ứng dụng Phone sẽ truy xuất dữ liệu thông tin về
số điện thoại của người được gọi được chứa trong các ứng dụng Contact
* Resour Manager: cung cấp truy xuất với các tài nguyên không phải là mã
ngudn ( source code), chẳng hạn nhu graphics, layout
a,
SVTH:NGO XUAN HIEP -10101040
Trang 29ĐỒ ÁN TỐT NGHIỆP
GVHD : NGUYEN VĂN HIỆP
* Telephony Manager: dich vu thoai ( Phone’s services), cho phép các ứng dụng
thông qua dịch vụ này truy xuất các thao tác liên quan đến điện thoại, ví dụ như
thực hiện 1 cuộc gọi điện thoại
$# Package Manager: quản lý các gói ứng dụng, các chương trình đã cài đặt, các
thư viện
2.2.3 Tầng thư viện (Libraries)
s4 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:
% System C library: sir dung hệ thống C chuẩn, được điều hướng cho những thiết
bị nên tang Linux nhiing
% Media bramework: di trén nén tang PacketVideo’s OpenCore, các thư viện hỗ
$# Surface Manager: Quan Is
Webkit: cung cap ky thuét duyét web hién dai thong qua viée két hop sire mạnh
giữa trinh duyét web cia Android voi một trang web nhúng
“ SGL: cung cp cac cong cy 0 hoa 2D
“ OpenGL / ES: thi hanh céc ham API dua trén thu vién dé hoa OpenGL / ES 1.0,
cung cấp công cụ đồ họa 3D đối với phản cứng được hỗ trợ và phần mềm
** FreeType: bộ tạo phông chữ bitmap và vector
s* SQLite: hệ quản lý cơ sở dữ liệu cho ứng dụng với đặc điểm chạy nhẹ nhàng và
Mặc dù cũng được viết từ ngôn ngữ Java nhưng một ứng dụng Iava của hệ điều
hành Android không được chạy bằng JRE của Sun ( nay là Oracle) (TVM) mà là chạy
bằng máy ảo Dalvik do Google phát triển Các VM Dalvik thực thi các tập tin thực thỉ SVTH : NGÔ XUÂN HIỆP -10101040
LƯƠNG DUY KHÁNH - 10101062 Page 27
Trang 30DOAN
TOUNGH TỐT NGHIỆP EE GVHD : NGUYEN VĂN HIỆP
Dalvik (dex) Dinh dang được tối ưu hóa cho bộ nhớ tối thiểu VM là dựa trên register-
based, và chạy các lớp đã được biên dịch bởi một trình biên dịch Java để chuyển đổi
thành các định dạng dex Các VM Dalvik dựa vào nhân Linux cho các chức năng cơ
bản như luồng và quản lý bộ nhớ thấp,
2.2.5 Tầng hạt nhân Linux ( Linux kernel )
Hệ điều hành android được phát triển dựa trên hạt nhân Linux, điều đó được thể
hiện ở lớp dưới cùng này Tắt cả mọi hoạt động của thiết bị di động muốn thi hành
được thì đều được thực hiện ở mức cấp thấp ở lớp này bao gồm quản lý bộ nhớ
(memory management), giao tiếp với phần cứng ( driver model), thực hiện bảo mật
(security), tiền trình quản lý (process)
tuy được phát liển dựa vào nhân Linux nhưng thực ra nhân Linux đã được
năng cáp và sửa đổi rất nhiêu đê phù hợp với tính chất của những thiết bị cầm tay
nhưng hạn chế về bộ ví xử lý, dunz lượng bộ nhớ, kích thước màn hình, nhu cầu kết
noi mang khong day
s* Display Dirver: điêu khiếz hiến thị lên màn hình cũng như thu nhận những
điều khiển của người mân hình ( di chuyển, cảm ứng )
s* Camera Driver: điều khiến hoạt đúng của camera, nhận dữ liệu từ camera trả về
s Bluetooth Driver: điều khiến thiết bị phát và thu song Bluetooth
#USB Driver: quản lý hoạt động của các công giao tiếp USB
s* Keypad Driver: điều khiển hoạt động của bàn phím cứng trên máy
+ Wifi Driver: quản lý về việc thu phát song wifi
s* Audio Driver: điều khiển các bộ thu phát âm thanh, giải mã các tín hiệu dang
Audio thành tín hiệu số và nược lại
# Binder IPC dirver: chịu trách nhiện về việc kết nói và liên lạc với vô tuyến như:
CDMA, GSM, 3G, 4G để đảm bảo những chức năng truyền thông được thực
hiện
M-System Driver: quản lý việc đọc ghi lên các thiết bị nhớ như thẻ SD, flash
Power management: quản lý giám sát việc tiêu thụ điện năng
SVTH : NGÔ XUÂN HIỆP -10101040
LƯƠNG DUY KHÁNH - 10101062 Page 28
Trang 31ĐỒ ÁN TỐT NGHIỆP
2.3 CÁC CÔNG CỤ TRUYÈN DẪN DỮ LIỆU
2.3.1 PHPMyAdmin
PHPMyAdmin là một công cụ nguồn mở miễn phí được viết bằng PHP dự định để xử
lý quân trị của MySQL thông qua một trình duyệt web Nó có thể thực hiện nhiều tác
vụ như tạo, sửa đổi hoặc xóa bỏ cơ sở dữ liệu, bảng, các trường hoặc bản ghi; thực
hiện báo cáo SQL: hoặc quản lý người dùng và cấp phép
2.3.2 Vài nét về Visual Studio sử dụng C#
Phần quan trọng của Visual Studio NET là các công nghệ mới với trung tâm là NET Etamtework - lập các tính nắng Windows được xây dựng trên nền tảng môi trường thực
thu ngôn ngit chung (CLR Common anguage Runtime), trên đó là các lớp thư viện
dùng để xây dụng ứng đụng Windows, ứng dụng web và dich va web XML Tit cả
ngôn ngữ NET đều được dich sang đạng ngôn ngữ trung gian của Microsoft (MSIL —
Microsoft Intermediate Language) trước röi mới được dịch sang dạng mã thực thi bởi
một trình dich JIT (Just ~ in Time) nén NET
CLR và MSIL cho phép tất ca ngữ NET làm việc với nhau
Trình dịch JIT cung cấp thêm khả ná=g háo mật tính an toàn lúc thực thi và khả năng
chạy trên nhiều nền tảng (Microsoft cho biết sẽ dùng một tập con chuẩn hoá của NET
Framework - được gọi là nên tàng ngôn ngữ chung” - để xây dựng một thẻ hiện trên
FreeBSD)
C# một ngôn ngữ phát triển từ C+ có nhiều nét giống Java, được đưa vào VS.NET là
Visual C#.NET Tương tự, ngôn ngữ Visual C++ quen thuộc được đóng gói vào VS.NET 1a Visual C++.NET bao gồm phần CH truyén théng dùng cho ứng dụng độc
lập với phần mở rộng để dùng với nền NET
C# là nhánh phát triển theo hướng module và đơn giản hóa của C+†, cộng thêm một số
ý tưởng từ ngôn ngữ khác Trong C# mọi thứ thật sự là đối tượng: ngay cả những dạng
cơ bản như int cũng có thể được đóng gói thành lớp đối tượng gốc Không có sự kế
thừa đa lớp, thay vì vậy, có một cơ chế da giao tiép (interface) C# có toán tử new,
SVTH : NGÔ XUÂN HIỆP -10101040
Trang 32ĐỒ ÁN TỐT NGHIỆP
GVHD : NGUYỄN VĂN HIỆP
nhưng ko có toán tử đelete, NET framework da xây dựng cơ chế thu dọn “rác” cho tất
cả các ngôn ngữ lập trình trên nền NET
Có thể điểm qua 1 số ưu điểm của C# như;
% C# 1a “thổ ngữ” của NET, được thiết kế tốt cho CLR
% C# kết hợp sức mạnh và sự chính xác của C++ với tính dễ phát triển của
'VisualBasic
s# CW có cơ chế tạo tài liệu chương trình rất hay dùng chú thích /// mà các ngôn
# ngữ NET khác chưa có Visual C# có thể hiển thị các chú thích này như cửa số
trợ giúp
$ CW dễ dụng, nó tương tự như C++, Java va Javascript, và môi trường phát triển
thần thiện (ví dụ các lỗi được gạch dưới giống như cách ma Microsoft Word
gạch dưới những tử sai chính tá hay sai ngữ pháp)
View là thành phần nhỏ nhất wong mét giao diện người dùng Ví du: Button,
Listview Mỗi một View có thể có r các thuộc tính để cấu hình vị trí xuất hiên
trên màn hình hoặc hành động với các tương tác người dùng
ViewGroup chưa nhiều View khác nhau theo một thứ tự sắp xếp sẵn ViewGroup cũng
được gọi là Layout Các ViewGroup thông thường được lồng vào nhau để tạo sư đa
dang trong bố trí và sắp xếp hiển thị những không nên lồng vào nahu quá sâu sẽ bị
giảm hiệu suất
2.4.2.Layout
Layout Manager, nói chung là Layout là phần mở rộng của lớp ViewGroup để kiểm
soát vị trí của các điều khiển trên màn hình Các Layout có thể được lồng vào nhau và
do đó bạn có thể tạo ra một giao diện phức tạp bằng cách kết hợp các Layout Manager
SVTH : NGÔ XUÂN HIỆP -10101040
Trang 33ĐỒ ÁN TỐT NGHIỆP
GVHD : NGUYỄN VĂN HIỆP
Android SDK bao gồm các Layout đơn giản giúp bạn xây dựng giao diện người dùng
Nó tùy thuộc vào khả năng kết hợp các Layout của bạn để cho giao diện có thẻ dễ hiểu
và dễ sử dụng, Danh sách dưới đây sẽ liệt kê các Layout có sẵn trên Android
% LinearLayout : dat cde đối tượng liên tiếp nhau theo một đường thẳng, hoặc theo chiều dọc hoặc theo chiều ngang Cách bố trí theo chiều dọc sẽ chỉ có một
View trên một hàng, trong khi bố trí theo chiều ngang sẽ có thể có nhiều View
trên một hàng
$* TableLayowl: cho phép bạn sắp các điều khiển nằm trong một hàng, một cột
nào đó, Khi đó giao điện màn hình sẽ là một bảng được chia thành các hàng, cột
Mỗi dỗi lượng sẽ năm trên ô nào đó Bảng có thể có nhiều hàng, nhiều cột, và
cột có thế được thiết lập đề thu hẹp hay mở rộng ra
3.4.1 SerollView
ScrollView là một dạng đặc biệt
chuyên qua một danh sách các g
vật lý Cac Scroll View cé thé ct
một LinearLayout
¡eÍ,ayout ở chỗ nó cho phép người dùng di
ma chiêm nhiêu không gian hơn màn hình
i mét Child View hay ViewGroup, ma thường là
kế giao diện cho nhiều độ phân giải
‘én thi một danh sách các thông tin liên quan và được tối ưu để phù hợp với các
LinearLayout, Cai chira TextView va EditText:
2.4.4 TextView
TextView giúp hiển thị nội dung ra ngoài và không cho người dùng chỉnh sửa chúng
Là một View cơ bản và hay được sử dụng, nhất cho các nhà phát triển ứng dụng
Để thiết lập ID cho một TextView ta dùng lệnh: android:id=”@id/tvName” trong đó tvname là ID của TextView.Để điều khiển ta sẽ dùng ID của nó mà ta đã đặt
SVTH :NGÔ XUÂN HIỆP -10101040
LƯƠNG DUY KHÁNH - 10101062 Page 31
Trang 34ÁN TỐT NG ss 2.4.5 EditText
EditText là một control cho phép người sử dụng có thể chỉnh sửa được dữ liệu có trong
control này Nó cũng giống như TextView, cần cài đặt địa chỉ và đặt các giá trị cho nó
Thuộc tính hint trong EditText là phần gợi ý cho vị trí nhập vào và nó sẽ biến mắt khi bạn nhập dữ liệu vào đó
Thuộc tính inputType là kiểu đặc tính àm ta nhập vào
Cũng giống như TextView ta có thể điều khiển được EdifText thông qua ID mà ta đã
đặt vào
SVTH : NGÔ XUÂN HIỆP -10101040
Trang 35ĐỒ ÁN TỐT NGHIỆP GVHD : NGUYỄN VĂN HIỆP
CHƯƠNG 3
XÂY DỰNG PROJECT
SVTH : NGÔ XUÂN HIỆP - 10101040
LƯƠNG DUY KHÁNH - 10101062 Page 33