Tải bản đầy đủ (.doc) (90 trang)

Tìm hiểu về android và xây dựng phần mền tìm kiếm khu du lịch trên hệ điều hành android trong địa bàn tp HCM

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.21 MB, 90 trang )

Lời Cảm Ơn

Sau g n ầ hai tháng n l c tìm hiỗ ự ểu và th c hi n, ự ệ đ tàiề “Tìm Hi u V Android Và Xâyể ề
D ng Ph n M n Tìm Ki m Khu Du L ch Trên H i u Hành Android Trong a Bànự ầ ề ế ị ệ Đ ề Đị
Tp.HCM” đã đ c hoàn thành,ượ ngoài s c g ng h t mình c a b n thân ,ự ố ắ ế ủ ả em còn nh n đ cậ ượ
nhi u s đ ng viên,khích l t gia đình, th y cô và b n bè.ề ự ộ ệ ừ ầ ạ
Tr c h t ướ ế em xin chân thành c m n cha m , anh ch , là nh ng ng i luôn đ ng viênả ơ ẹ ị ữ ườ ộ
và t o m i đi u ki n t t đ ạ ọ ề ệ ố ề em hoàn thành đ tàiề “Tìm Hi u V Android Và Xây D ng Ph nể ề ự ầ
M n Tìm Ki m Khu Du L ch Trên H i u Hành Android Trong a Bàn Tp.HCMề ế ị ệ Đ ề Đị ”
Em xin chân thành c m n các th y cô c a tr ng Cao ng Công Ngh Thông Tinả ơ ầ ủ ườ Đẳ ệ
TP.H Chí Minh đã truy n đ t nhi u kinh nghi m và ki n th c quý báu cho em trong su tồ ề ạ ề ệ ế ứ ố
quá trình h c t p. c bi t em xin t lòng bi t n sâu s c t i ọ ậ Đặ ệ ỏ ế ơ ắ ớ cô Ph m Th Trà Myạ ị và các
th y cô trong khoa công ngh thông tin đã t n tình giúp đ em trong su t quá trình th cầ ệ ậ ỡ ố ự
hi n ệ đề tài “Tìm Hi u V Android Và Xây D ng Ph n M n Tìm Ki m Khu Du L ch Trênể ề ự ầ ề ế ị
H i u Hành Android Trong a Bàn Tp.HCMệ Đ ề Đị ”
Xin c m n t t c các b n bè đã và đang giúp đ đ ng viên ả ơ ấ ả ạ ỡ ộ em trong quá trình h c t p vàọ ậ
hoàn thành đ tài ề “Tìm Hi u V Android Và Xây D ng Ph n M n Tìm Ki m Khu Du L chể ề ự ầ ề ế ị
Trên H i u Hành Android Trong a Bàn Tp.HCMệ Đ ề Đị ”
M c dù đã c g ng h t s c đ hoàn thành ặ ố ắ ế ứ ể đ tài ề “Tìm Hi u V Android Và Xây D ngể ề ự
Ph n M n Tìm Ki m Khu Du L ch Trên H i u Hành Android Trong a Bànầ ề ế ị ệ Đ ề Đị
Tp.HCM”, nh ng ch c ch n s không tránh kh i nh ng sai sót. ư ắ ắ ẽ ỏ ữ Em r t mong nh n đ cấ ậ ượ
s thông c m và đóng góp, ch b o t n tình c a quý th y cô và b n bè. ự ả ỉ ả ậ ủ ầ ạ
TP H Chí Minh ,Tháng ồ 6 N m 201ă 3
Sinh viên th c hi nự ệ
Nguyễn Thị Hoài Thương
NHẬN XÉT CỦA CÔNG TY THỰC TẬP
……………………………………………………………………….
GVHD: Ph m Th Trà My SVTH: Nguy n Th Hoài Th ng Trang ạ ị ễ ị ươ 1

……………………………………………………………………….
……………………………………………………………………….


……………………………………………………………………….
……………………………………………………………………….
……………………………………………………………………….
……………………………………………………………………….
……………………………………………………………………….
……………………………………………………………………….
……………………………………………………………………….
……………………………………………………………………….
……………………………………………………………………….
……………………………………………………………………….
……………………………………………………………………….
……………………………………………………………………….
……………………………………………………………………….
……………………………………………………………………….
……………………………………………………………………….
……………………………………………………………………….
……………………………………………………………………….
GVHD: Ph m Th Trà My SVTH: Nguy n Th Hoài Th ng Trang ạ ị ễ ị ươ 2

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
……………………………………………………………………….
……………………………………………………………………….
……………………………………………………………………….
……………………………………………………………………….
……………………………………………………………………….
……………………………………………………………………….
……………………………………………………………………….
……………………………………………………………………….
……………………………………………………………………….
……………………………………………………………………….

……………………………………………………………………….
……………………………………………………………………….
……………………………………………………………………….
……………………………………………………………………….
……………………………………………………………………….
……………………………………………………………………….
……………………………………………………………………….
……………………………………………………………………….
……………………………………………………………………….
……………………………………………………………………….
……………………………………………………………………….
GVHD: Ph m Th Trà My SVTH: Nguy n Th Hoài Th ng Trang ạ ị ễ ị ươ 3

……………………………………………………………………….
……………………………………………………………………….
……………………………………………………………………….
……………………………………………………………………….
……………………………………………………………………….
……………………………………………………………………….
……………………………………………………………………….
……………………………………………………………………….
……………………………………………………………………….
……………………………………………………………………….
……………………………………………………………………….
……………………………………………………………………….
……………………………………………………………………….
……………………………………………………………………….
……………………………………………………………………….
……………………………………………………………………….
……………………………………………………………………….

……………………………………………………………………….
……………………………………………………………………….
……………………………………………………………………….
……………………………………………………………………….
GVHD: Ph m Th Trà My SVTH: Nguy n Th Hoài Th ng Trang ạ ị ễ ị ươ 4

DANH MỤC CÁC CHỬ VIẾT TẮT
TP HCM Thành phố Hồ Chí Minh
GPS Global Positioning System
PK Primary key
iOS iPhone Operating System
OS Operating System
API Application Programming Interface
OpenGL Open Graphics Library
OpenGL ES OpenGL for Embedded Systems
XML Extensible Markup Language
GSM Global System for Mobile
CSS Cascading Style Sheets
DOM Document Object Model
IO Input/Output
SMS Short Message Services
CPU Central Processing Unit





MỤC LỤC
MỤC LỤC 5
GVHD: Ph m Th Trà My SVTH: Nguy n Th Hoài Th ng Trang ạ ị ễ ị ươ 5


PHÁT BIỂU BÀI TOÁN 9
1.1 Gi i thi u : ớ ệ 10
1.2 Lý do ch n đ tài :ọ ề 10
1.3 i t ng và ph m vi c a đ tài:Đố ượ ạ ủ ề 11
Cơ Sở Lý Thuyết 12
2.1 S l t v h đi u hành Android:ơ ượ ề ệ ề 13
2.1.1 Gi i thi u chung v h đi u hành Android :ớ ệ ề ệ ề 13
2.1.2 Ki n trúc v h đi u hành Android :ế ề ệ ề 14
2.2.3 Môi tr ng l p trình trên h đi u hành Androidườ ậ ệ ề 19
2.3.4 Các thành ph n quan tâm khi l p trình trên H H Android :ầ ậ Đ 24
2.3.5 Làm vi c v i Maps, Geocoding, Location Based Services : ệ ớ 30
2.3.6 Dùng MapView 36
2.3.7 V đ ng gi a 2 đi m:ẽ ườ ữ ể 42
MÔ HÌNH 45
USE-CASE 45
3.1. S đ Use-caseơ ồ 46
3.2. Danh sách các Actor 46
3.3. Danh sách các Use-case 47
3.4. c t Use-caseĐặ ả 47
2.4.1. Use-case “TimKiemKhuDuLichTheoQuan” 47
2.4.2. Use-case “TimDuongDiToiKhuDuLich” 48
2.4.3. Use-case “XemChiTietKhuDuLich” 49
3.4.4. Use-case “XemDanhSachKhuDuLich” 49
3.4.5. Use-case “XemTinTucDuLich” 50
GVHD: Ph m Th Trà My SVTH: Nguy n Th Hoài Th ng Trang ạ ị ễ ị ươ 6

3.4.6. Use-case “ThayDoiCoSoDuLieu” 50
3.4.7. Use-case “ThemKhuDuLich” 51
3.4.8. Use-case “XoaKhuDuLich” 51

3.4.9. Use-case “SuaKhuDuLich” 52
3.4.10. Use-case “Thoat” 52
HỒ SƠ 53
PHÂN TÍCH 53
4.1. S đ l pơ ồ ớ 55
4.1.2. Danh sách các l p đ i t ng và quan h ớ ố ượ ệ 56
4.2. Mô t chi ti t các l p đ i t ngả ế ớ ố ượ 56
4.2.3. Mô t chi ti t các L p đ i t ngả ế ớ ố ượ 56
Chương 5 59
Chương 6 62
6.2.S đ l p Business Logic Layerơ ồ ớ 63
Chương 7 65
7.1. Danh sách màn hình 65
7.2 Mô t chi ti t màn hình ả ế 66
Mail: 76
KẾT LUẬN 82
ĐÁNH GIÁ 82
8.3 H ng phát tri n : ướ ể 84
PHỤ LỤC 84
A.1 Gi i thi u chung:ớ ệ 84
A.2 TÌM HI U V GPS: Ể Ề 86
GPS 86
GVHD: Ph m Th Trà My SVTH: Nguy n Th Hoài Th ng Trang ạ ị ễ ị ươ 7

A-GPS 86
A.3 ng d ng GPS và A-GPS t i Vi t Nam : Ứ ụ ạ ệ 88
TÀI LIỆU THAM KHẢO 90
GVHD: Ph m Th Trà My SVTH: Nguy n Th Hoài Th ng Trang ạ ị ễ ị ươ 8

Xây Dựng Ứng Dụng Tìm Kiếm Khu Du Lịch

Trên Hệ Điều Hành Android
Chương 1
PHÁT BIỂU BÀI TOÁN
1.1 Giới thiệu
1.2 Lý do chọn đề tài
1.3 Đối tượng và phạm vi đề tài
GVHD: Ph m Th Trà My SVTH: Nguy n Th Hoài Th ng Trang ạ ị ễ ị ươ 9

1.1 Giới thiệu :
Khi đến một thành phố hay 1 khu vực nào đó để du lịch thì việc muốn biết nơi
đó có khu du lịch nào phù hợp để đi là rất khó khăn. Chẳng hạn như TP HCM có
một hệ thống các khu du lịch rất phát triển và cũng rất phức tạp đối với người mới
đến đây. Trong khi đó điện thoại thông minh ngày càng trở nên phổ biến. Vì vậy
chương trình “Hệ thống tra cứu và tìm kiếm khu du lịch” ra đời nhằm giúp cho
người khách du lịch khi đến với TP HCM có thể tìm kiếm và tra cứu thông tin, chọn
được nơi du lịch hợp lí cho mình. Đây là một ứng dụng cần thiết đối với người đi du
lịch.
Các phần mềm cùng loại hiện
đang có:
 Hệ thống tìm kiếm khu du lịch trên Windows Mobie, ios, Android:
Du lịch Việt, Du lịch Việt Nam For Android , VietNam Travel,
v v vvv
o H th ng Tin h c đ c s d ng:ệ ố ọ ượ ử ụ
 Eclipse
 MySql trên Web Php
o ng d ng ch y trên:Ứ ụ ạ
 i n tho i ch y h đi u hành Android 2.2 tr lênĐ ệ ạ ạ ệ ề ở
 Có th phát tri n trên các đi n tho i ch y h đi u hành Windown phone 7,ể ể ệ ạ ạ ệ ề
window mobie và IOS.
1.2 Lý do chọn đề tài :

Hiện nay, việc tìm kiếm các thông tin, các chỉ dẫn bằng các thiết bị tìm
kiếm,và thân thiện với người dùng như điện thoại, máy tính bảng, laptop đã trở nên
rất phổ biển. Chỉ cần thiết bị có kết nối internet và thiết bị hỗ trợ các công nghệ tiên
tiến như 3G là người sử dụng có thể biết vị trí hiện tại của mình và tìm kiếm các
thông tin mong muốn. Việc google đang ngày càng phát triển mạnh và quan tâm
đến lĩnh vực này nên đã cho ra đời hàng ngàn services nhằm giải quyết vấn đề này
và giúp lập trình viên thuận tiện khi phát triển ứng dụng của mình.
GVHD: Ph m Th Trà My SVTH: Nguy n Th Hoài Th ng Trang ạ ị ễ ị ươ 10

Với lượng các khu du lịch ngày càng nhiều ở TP HCM, rất khó khăn để người
khách du lịch có thể biết được chính xác có khu du lịch nào và sơ lược nơi đó rồi
tìm đường đến đó, đặc biệt đối với những người mới tới để du lịch lần đầu … mà số
lượng người này là khá lớn hàng năm.
Vấn đề đặt ra là cần có một phần mềm quản lý các khu du lịch, có thể giúp
cho người khách lần đầu tới TP HCM không cần hiểu biết nhiều về các khu du lịch
trong thành phố cũng có thể dễ dàng tìm đường đến nơi mong muốn
Vì vậy em đã xây dựng phần
mềm “Tìm Hi u V Android Và Xây D ng Ph n M n Tìm Ki m Khu Du L ch Trên Hể ề ự ầ ề ế ị ệ
i u Hành Android Trong a Bàn Tp.HCMĐ ề Đị ” giúp người sử dụng có thể tìm kiếm các
khu du lịch một cách khá dễ dàng, với yêu cầu đơn giản là có một chiếc điện thoại
Android. Việc cần làm của người sử dụng chỉ là nhập vào khu vực muốn tìm kiếm
như là quận nào, điện thoại sẽ tự động xác định vị trí hiện tại của người dùng, sau
đó hệ thống tìm tất ca khu du lịch trong phạm vi mà người dùng muốn và tìm đường
đi ngắn nhất tới nơi mà người dùng muốn và đồng thời cũng giới thiệu tổng quan về
khu du lịch đó.
1.3 Đối tượng và phạm vi của đề tài:
• Đối tượng :
o Các loại điện thoại chạy trên hệ điều hành Andoird.
o Các khu du lịch có trên địa bàn TP HCM.
o Tất cả những người khách du lịch có du cầu muốn đi du lịch tại TP

HCM.
• Phạm vi nghiên cứu :
o Tất cả các khu du lịch có trên TP HCM.
o Nghiên cứu các ngữ cảnh và các ứng dụng dựa trên ngữ cảnh của
người dùng.
o Nghiên cứu các dịch vụ định vị của Google (Google maps).
o Phát triển ứng dụng cơ bản trên android
o Đối tượng nghiên cứu cần phải quan tâm là cách thức hoạt động của
nền tảng của hệ điều hành android
GVHD: Ph m Th Trà My SVTH: Nguy n Th Hoài Th ng Trang ạ ị ễ ị ươ 11

GVHD:Ph m Th Trà My SVTH: Nguy n Th Hoài Th ng Trangạ ị ễ ị ươ
Xây Dựng Ứng Dụng Tìm Kiếm Khu Du Lịch
Trên Hệ Điều Hành Android
Chương 2
Cơ Sở Lý Thuyết
2.1. Sơ lượt về hệ điều hành android
2.1.1. Giới thiệu chung
2.1.2. Kiến trúc về hệ điều hành android
2.1.2.1. Đặc điểm chung
2.1.2.2. Tầng hat nhân Linux
2.1.2.3 Tầng library và android runtime
2.1.2.4 Tầng Application Frameword
2.1.2.5 Tầng Application
2.2.3. Môi trường lập trình trên Android
2.2.3.1. Giới thiệu
2.2.3.2. Android SDK
2.2.3.3. Máy ảo Dalvik
2.2.3.4. Các gói java cần thiết
2.2.3.5. Các thành phần chính của eclip

2.2.3.6. Thành phần của project android
2.2.3.7. Chu kỳ sống của ứng dụng
2.3.4. Các thành phần được quan tâm
2.3.4.1. Giới thiệu Intent
2.3.4.2. Giới thiệu Adapter
2.3.4.3. Lưu trữ dữ liệu trong android
2.3.5. Làm việc với map, location, geopoint
2.3.5.1. Sử dụng GPS
2.3.5.2. Kiểm tra vị trí trên emulator
2.3.5.3. Sử dụng geocoder
2.3.5.4. Reverse geocoding
2.3.5.5. Forward geocoding
2.3.6. Dùng Mapview
2.3.7. Vẽ đường giữa 2 điểm

12
2.1 Sơ lượt về hệ điều hành Android:
2.1.1 Giới thiệu chung về hệ điều hành Android :
Android là một hệ điều hành di động dựa trên nền tảng linux phiên bản 2.6
dành cho các dòng điện thoại SmartPhone. Đầu tiên được ra đời bởi công ty liên
hợp Android, sau đó được Google mua lại và phát triển từ năm 2005 và trở thành
một hệ điều hành di động mã nguồn mở, miễn phí, mạnh mẽ và được ưa chuộng cao
trên thế giới.
Hệ điều hành android một hệ điều hành rất mạnh mạnh, có bảo mật cao, hỗ
trợ được nhiều công nghệ tiên tiến như 3G, GPS, EDGE, Wifi tương thích với
nhiều phần cứng, hỗ trợ nhiều loại bộ nhập dữ liệu như keyboard, touch và
trackball. Android là hệ điều hành di động nên có khả năng kết nối cao với các
mạng không dây. Hỗ trợ công nghệ OpenGL nên có khả năng chơi các phương tiện
media, hoạt hình cũng như trình diễn các khả năng đồ họa khác cực tốt, là tiền đề để
phát triển các ứng dụng có giao diện phức tạp chẳng hạn như là các trò chơi.

Android liên tục được phát triển, mỗi bản cập nhật từ google là mỗi lần
android được tối ưu hóa để hoạt động tốt hơn, nhanh và ổn định hơn, hỗ trợ thêm
công nghệ mới. Chẳng hạn như theo một đánh giá thì android phiên bản 2.2 hoạt
động nhanh hơn bản 2.1 tới 450%. Hiện nay, phiên bản mới nhất 2.3 phát hành
ngày 6/12/2010 và đang tiếp tục được cập nhật.
Năm 2008, hệ điều hành android đã chính thức mở toàn bộ mã nguồn, điều
đó cho phép các hãng điện thoại có thể đem mã nguồn về tùy chỉnh, thiết kế lại sao
cho phù hợp với mỗi mẫu mã điện thoại của họ và điều quan trọng nữa là hệ điều
hành mở này hoàn toàn miễn phí, không phải trả tiền nên giúp họ tiết kiệm khá lớn
chi phí phát triển hệ điều hành. Những điều đó là cực kỳ tốt không chỉ đối với các
hãng sản xuất điện thoại nhỏ mà ngay cả với những hãng lớn như Samsung, HTC
Với Google, vì android hoàn toàn miễn phí, Google không thu tiền từ những
GVHD:Ph m Th Trà My SVTH: Nguy n Th Hoài Th ng Trangạ ị ễ ị ươ
13
hãng sản xuất điện thoại, tuy không trực tiếp hưởng lợi từ android nhưng bù lại,
những dịch vụ của hãng như Google Search, Google Maps, nhờ có android mà có
thể dễ dàng xâm nhập nhanh vào thị trường di động vì mỗi chiếc điện thoại được
sản xuất ra đều được tích hợp hàng loạt dịch vụ của Google.
Từ đó hãng có thể kiếm bội, chủ yếu là từ các nguồn quảng cáo trên các dịch
vụ đó. Với các nhà phát triển ứng dụng (developers), việc hệ điều hành android
được sử dụng phổ biến đồng nghĩa với việc họ có thể thoải mái phát triển ứng dụng
trên nền android với sự tin tưởng là ứng dụng đó sẻ có thể chạy được ngay trên
nhiều dòng điện thoại của các hãng khác nhau. Họ ít phải quan tâm là đang phát
triển cho điện thoại nào, phiên bản bao nhiêu vì nền tảng android là chung cho
nhiều dòng máy, máy ảo Java đã chịu trách nhiệm thực thi những ứng dụng phù hợp
với mỗi dòng điện thoại mà nó đang chạy. Tất cả các chương trình ứng dụng được
viết bằng ngôn ngữ Java kết hợp với XML nên có khả năng khả chuyển cao.
2.1.2 Kiến trúc về hệ điều hành Android :
2.1.2.1 Đặc điểm chung :
Hệ điều hành android có 4 tầng từ dưới lên trên là tầng hạt nhân Linux

GVHD:Ph m Th Trà My SVTH: Nguy n Th Hoài Th ng Trangạ ị ễ ị ươ
14
(Phiên bản 2.6), tầng Tầng Libraries & Android runtime , Tầng Application
Framework và trên cùng là tầng Application.
Hình 2. 1 Ki n trúc h i u hành Androidế ệ đ ề
2.1.2.2 Tầng hạt nhân Linux (Linux Kernel layer)
Hệ điều hành android được phát trển dựa trên hạt nhân linux, cụ thể là hạt
nhân linux phiên bản 2.6, điều đó được thể hiện ở lớp dưới cùng này. Tất cả mọi
hoạt động của điện thoại muốn thi hành được thì đều được thực hiện ở mức cấp thấp
GVHD:Ph m Th Trà My SVTH: Nguy n Th Hoài Th ng Trangạ ị ễ ị ươ
15
ở 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), quản lý tiến trình (process).

Display Driver : Điều khiển việc 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 dùng lên màn hình (di chuyển, cảm ứng ).
Camera Driver : Điều kiển hoạt động của camera, nhận luồng dữ liệu từ
camera trả về.
Bluetooth Driver : Điều khiển thiết bị phát và thu sóng Bluetooth.
USB driver : Quản lý hoạt động của các cổng giao tiếp USB.
Keypad driver : Điều khiển bàn phím.
Wifi Driver : Chịu trách nhiệm về việc thu phát sóng wifi.
Audio Driver : điều khiển các bộ thu phát âm thanh, giải mã các tính hiệu
dạng audio thành tín hiệu số và ngược lại.
Binder IPC Driver : Chịu trách nhiệm về việc kết nối và liên lạc với mạng
vô tuyến như CDMA, GSM, 3G, 4G, E để đả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 Madagement : Giám sát việc tiêu thụ điện năng.

2.1.2.3 Tầng Library và android runtime :
Phần này có 2 thành phần là phần Library và Android Runtime :
Phần Libraries. Phần này có nhiều thư viện được viết bằng C/C++ để các
GVHD:Ph m Th Trà My SVTH: Nguy n Th Hoài Th ng Trangạ ị ễ ị ươ
16
phần mềm có thể sử dụng, các thư viện đó được tập hợp thành một số nhóm như
- Thư viện hệ thống (System C library) : thư viện dựa trên chuẩn C, được
sử dụng chỉ bởi hệ điều hành.
- Thư viện Media (Media Libraries) : Có nhiều codec để hỗ trợ việc phát
và ghi các loại định dạng âm thanh, hình ảnh, video thông dụng.
- Thư viện web (LibWebCore) : Đây là thành phần để xem nội dung trên
web, được sử dụng để xây dựng phần mềm duyệt web(Android Browser) cũng như
để các ứng dụng khác có thể nhúng vào. Nó cực kỳ mạnh, hỗ trợ được nhiều công
nghệ mạnh mẽ như HTML5, JavaScript, CSS, DOM, AJAX
- Thư viện SQLite : Hệ cơ sở dữ liệu để các ứng dụng có thể sử dụng.
Phần Android runtime : Phần này chứa các thư viện mà một chương trình
viết bằng ngôn ngữ Java có thể hoạt động. Phần này có 2 bộ phận tương tự như mô
hình chạy Java trên máy tính thường. Thứ nhất là các thư viện lõi (Core Library) ,
chứa các lớp như JAVA IO,Collections, File Access. Thứ hai là một máy ảo java
(Dalvik Virtual Machine) .Mặc dù cũng được viết từ ngôn ngữ Java nhưng một ứng
dụng Java của hệ điều hành android không được chạy bằng JRE của Sun (nay là
Oracle) (JVM) mà là chạy bằng máy ảo Dalvik do Google phát triển.
2.1.2.4 Tầng Application Framework :
Tầng này xây dựng bộ công cụ - các phần tử ở mức cao để các lập trình viên
có thể nhanh chóng xây dựng ứng dụng. Nó được viết bằng Java, có khả năng sử
dụng chung để tiết kiệm tài nguyên.
Giới thiệu một số thành phần của phần này :
 Activity Manager : Quản lý các chu kỳ sống của một ứng dụng
cũng như cung cấp công cụ điều khiển các Activity.
 Telephony Manager : Cung cấp công cụ để thực hiện việc liên lạc

GVHD:Ph m Th Trà My SVTH: Nguy n Th Hoài Th ng Trangạ ị ễ ị ươ
17
như gọi điện thoại
 XMPP Service : Cung cấp công cụ để liên lạc trong thời gian thực
 Location Manager : Cho phép xác định vị trí của điện thoại thoại
dựa vào hệ thống định vị toàn cầu GPS và Google Maps.
 Window Manager : Quản lý việc xây dựng và hiển thị các giao
diện người dùng cũng như tổ chức quản lý các giao diện giữa các
ứng dụng.
 Notication Manager : Quản lý việc hiển thị các thông báo (như báo
có tin nhắn, có e-mail mới )
 Resource Manager : Quản lý tài nguyên tĩnh của các ứng dụng bao
gồm các file hình ảnh, âm thanh, layout, string. (Những thành phần
không được viết bởi ngôn ngữ lập trình).
2.1.2.5 Tầng Application :
Đây là lớp ứng dụng giao tiếp với người dùng, bao gồm các ứng dụng như :
Các ứng dụng cơ bản, được cài đặt đi liền với hệ điều hành là gọi
điện(phone), quản lý danh bạ(Contacts), duyệt web (Browser), nhắn tin (SMS), lịch
làm việc (Calendar), đọc e-mail (Email-Client), bản đồ (Map), quay phim chụp ảnh
(camera)
Các ứng dụng được cài thêm như các phần mềm chứng khoán (Stock), các
trò chơi (Game), từ điển
Các chương trình có các đặc điểm là :
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 diện với người sử dụng hoặc là một background : chương trình chạy nền hay là
dịch vụ.
Android là 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 cùng chạy một lúc, tuy nhiên, với mỗi ứng dụng

GVHD:Ph m Th Trà My SVTH: Nguy n Th Hoài Th ng Trangạ ị ễ ị ươ
18
thì có duy nhất một thực thể (instance) được phép chạy mà thôi. Điều đó có tác
dụng hạn chế sự lạm dụng tài nguyên, giúp hệ thống hoạt động tốt hơn.
Các ứng dụng được gán số ID của người sử dụng nhằn 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ế nhỏ đó là nó không được phép sử dung quá
5~10% công suất CPU, điều đó nhằm để tránh độc quyền trong việc sử dụng CPU.
Ứng dụng không có điểm vào cố định, không có phương thức main để bắt
đầu.
2.2.3 Môi trường lập trình trên hệ điều hành Android
2.2.3.1 Giới thiệu :
Trong phần này sẽ giới thiệu các công cụ lập trình cho Android (Android
Development Tools). Chúng ta sẽ dần làm quen với Eclipse và Android Development
Tool plug-in, thông qua Android SDK và công cụ của nó, chạy một ứng dụng Android
trên Emulator(tạm dịch là trình giả lập giao diện của Android trên PC). Với những kĩ
năng đó trong tay, chúng ta sẽ tìm hiểu các gói Java packages được cung cấp trong
SDK giúp nâng cao khả năng lập trình trên Android.
GVHD:Ph m Th Trà My SVTH: Nguy n Th Hoài Th ng Trangạ ị ễ ị ươ
19
Hình 2. Error: Reference source not found Android SDK
2.2.3.2 ANDROID SDK:
Android SDK, viết tắt của Android Software Development Kit, có thể gọi là
“công cụ phát triển phần mềm” mà cụ thể ở đây là phát triển ứng dụng cho Android
OS. Đến đây thì chắc các chúng ta cũng đã hiểu đơn giản Google Adroid SDK là bộ
công cụ được chính Google xây dựng và phát hành miễn phí đến giới Developer để
họ dễ dàng xây dựng và phát triển các ứng dụng chạy được trên Android OS.
Android SDK có các đặc tính sau:

Được phát triển và cung cấp miễn phí
GVHD:Ph m Th Trà My SVTH: Nguy n Th Hoài Th ng Trangạ ị ễ ị ươ
20
 Truy cập đến phần cứng Wi-Fi.
 GSM, EDGE và tính năng mạng 3G cho phép việc chuyển dữ liệu, gọi điện
hay gửi tin SMS trong mạng di động.
 Gói API toàn diện cho các dịch vụ nền tảng ví dụ như GPS.
 Truy cập toàn bộ phần cứng điều khiển đa phương tiện như chơi nhạc, ghi
âm hay sử dụng microphone và camera.
 Chia sẻ dữ liệu trong kho dữ liệu.
 Tích hợp trình duyệt dựa trên bộ WebKit (mã nguồn mở).
 P2P hổ trợ sử dung Google Talk.
 Hỗ trợ tốt đồ họa 3D nhờ sử dụng OpenGL ES.
Android SDK cần phải được cài đặt để xây dựng các ứng dụng Android.
Android SDK bao gồm tài liệu tích hợp HTML_base lõi chính của Javadoc để thể
hiện các gói và lớp trong Java.
2.2.3.3 Máy ảo Dalvik :
Một trong những thành phần quan trọng của Android là máy ảo Dalvik. Thay
vì sử dụng máy ảo Java như trước kia Android sử dùng máy ảo của riêng nó được
thiết kế để bảo đảm rằng đa ứng dụng có thể chạy mượt mà trên một thiết bị di động
Máy ảo Dalvik sử dụng lõi Linux để xử lý các chức năng ở mức thấp bao
gồm bảo mật, các tiến trình, các luồng và quản lý vùng nhớ. Nó cũng có thể viết
bằng ứng dụng C/C++ để chạy trực tiếp lên lõi Linux bên dưới. Giữa phần cứng và
các dịch vụ hệ thống được quản lý bởi máy ảo Dalvik, nó là một thành phần ở giữa.
Bằng cách sử dụng máy ảo này để chạy ứng dụng, các nhà phát triển hoàn toàn
không phải bận tâm gì về các phần cứng bên dưới. Khi máy ảo này chạy nó sẽ tạo ra
tập tin có đuôi là .dex, tập tin này được SDK tạo ra bởi sự chuyển đổi từ các lớp
biên dịch ngôn ngữ Java .
2.2.3.4 Các gói Java cần thiết :
 java.lang —gói ch a các l p lõi c a Java ứ ớ ủ

 java.io —xu t nh p. ấ ậ
GVHD:Ph m Th Trà My SVTH: Nguy n Th Hoài Th ng Trangạ ị ễ ị ươ
21
 java.net —k t n i m ng. ế ố ạ
 java.util _ ch a các l p ti n ích. Bao g m: Log th ng đ c dùng đ vi tứ ớ ệ ồ ườ ượ ề ế
LogCat.
 java.text —ti n ích s lý v n b n. ệ ử ă ả
 java.math —các l p toán h c. ớ ọ
 javax.net —các l p m ng. ớ ạ
 javax.security —Security-related classes.
 javax.xml —các l p liên quan đ n DOM-based XML. ớ ế
 org.apache.* — các l p liên quan đ n HTTP-related. ớ ế
 org.xml —các l p liên quan đ n SAX-based XML . ớ ế
Các gói dùng cho lập trình Android:
 Android.app—Android application model access
 Android.content—truy xuất dữ liệu trong Android
 Android.net—bao gồm Uri class dùng cho việc truy xuất các nội dung
khác
 Android.graphics—đồ họa
 Android.opengl—các lớp OpenGL
 Android.os—truy cập ở mức độ hệ thông đến môi trường Android
 Android.telephony—kh n ng truy c p Telephony ả ă ậ
 Android.text—Text layout
 Android.util—t p các ti n thao tác trên v n b n,bao g m XML ậ ệ ă ả ồ
 Android.view—thành ph n UI (giao di n ng i dùng) ầ ệ ườ
 Android.webkit—Browser functionality
 Android.widget—thành ph n UI m c đ cao h n ầ ứ ộ ơ
Trong đó các gói g n nh là lõi c a m i ng d ng trên Android đó là Android.app,ầ ư ủ ọ ứ ụ
Android.view và Android.content.
2.2.3.5 Thành phần chính của Eclipse khi tạo ứng dụng trên Android :

 Môi trường phát triển Rich Java bao gồm trình biên dịch, class
autocompletion, và tích hợp Javadoc
 Bẫy lỗi code
 Quản lý và chạy Android Emulator profile
 The Dalvik Debug Monitoring Service (DDMS)
 Khung nhìn các tiến trình (Thread and heap views)
GVHD:Ph m Th Trà My SVTH: Nguy n Th Hoài Th ng Trangạ ị ễ ị ươ
22
 Quản lý Hệ thống tập tin giao diện (Emulator filesystem management)
 Điều khiển dữ liệu và hội thoại (Data and voice network control)
 Điều khiển giao diện (Emulator control)
 Ghi lỗi hệ thống và ứng dụng (System and application logging)
2.2.3.6 Thành phần của một project Android :
 Activity (Android.app.Activity): đây là lớp khởi tạo giao diện ứng
dụng nội bộ trên Android tương tư như MIDlet trong J2ME.
 Service (Android.app.Service): cung cấp các dịch vụ liên quan đến
client/service. Một Service sẽ chạy ngầm bên dưới, sau đó các client
(Activity) sẽ kết nối và truy xuất các hàm trên dịch thông qua Interface
class.
 Broadcast receiver (Android.content.BroadcastReceiver): đây là một
ứng dụng chạy ngầm dùng để đọc và cập nhật thông tin trên UI, ví dụ
như cập nhật sự thay đỗi giờ, pin
 Content Provider: cung cấp chức năng truy vấn dữ liệu giữa các ứng
dụng của Android.
 Intent: nền tảng để truyền tải 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 1 Activity hay Service để thực hiện
công việc mà chúng ta mong muốn.
2.2.3.7 Chu kì sống của ứng dụng Android :
Một tiến trình Linux gói gọn một ứng dụng Android đã được tạo ra cho ứng dụng
khi codes cần được xây dựng, khởi chạy và sẽ còn chạy cho đến khi:

 Nó không phụ thuộc.
 Hệ thống cần lấy lại bộ nhớ mà nó chiếm giữ cho các ứng dụng khác.
Một sự khác thường và đặc tính cơ bản của Android là thời gian sống của tiến trình
ứng dụng không được điều khiển trực tiếp bởi chính nó. Thay vào đó, nó được xác
định bởi hệ thống qua một kết hợp của:
 Những phần của ứng dụng mà hệ thống biết đang chạy.
 Những phần đó quan trọng như thế nào đối với người dùng.
GVHD:Ph m Th Trà My SVTH: Nguy n Th Hoài Th ng Trangạ ị ễ ị ươ
23
 Bao nhiêu vùng nhớ chiếm lĩnh trong hệ thống.
2.3.4 Các thành phần quan tâm khi lập trình trên HĐH Android :
2.3.4.1 : Giới thiệu Intent :
Intent là cầu nối giữa các Activity (ứng dụng Android thường bao gồm nhiều Activity,
mỗi Activity hoạt động độc lập với nhau và thực hiện những công việc khác nhau).
Intent chính là người đưa thư, giúp chúng ta triệu gọi cũng như truyền các dữ liệu cần
thiết để thực hiện một Activity từ một Activity khác
Hình 2. 2 Mô hình ho t ng c a Intent Objectạ độ ủ
Các thành phần của Intent :
Thực ra Intent là một cấu trúc dữ liệu được mô tả trong Android.content.Intent.
GVHD:Ph m Th Trà My SVTH: Nguy n Th Hoài Th ng Trangạ ị ễ ị ươ
24
Hình 2. 3 Các thành ph n c a Intentầ ủ
Các Action định nghĩa sẵn:
GVHD:Ph m Th Trà My SVTH: Nguy n Th Hoài Th ng Trangạ ị ễ ị ươ
25

×