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

Tìm hiểu hệ điều hành android và xây dựng ứng dụng minh họa ứng dụng viettour

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 (1.78 MB, 54 trang )

MỤC LỤC
DANH MỤC CÁC THUẬT NGỮ VIẾT TẮT
DANH MỤC HÌNH ẢNH
LỜI NÓI ĐẦU

4

5

1

1.1 GIỚI THIỆU ĐỀ TÀI...................................................................................3
1.1.1 Lý do chọn đề tài......................................................................................3
1.1.2 Chức năng và hướng phát triển của ứng dụng VietTour.....................4
1.1.2.1 Chức năng của ứng dụng Viet Tour..................................................4
1.1.2.2 Hướng phát triển của ứng dụng........................................................4
1.2 KHẢO SÁT ĐỀ TÀI.....................................................................................4
1.2.2 Khảo sát các nền tảng trên điện thoại di động hiện nay.......................4
1.2.2.1 Hệ điều hành Symbian.......................................................................5
1.2.1.2 Hệ điều hành Windows Mobile..........................................................5
1.2.1.3 Hệ điều hành iOS...............................................................................5
1.2.1.4 Hệ điều hành Windows Phone...........................................................6
1.2.1.5 Hệ điều hành Android.......................................................................6
1.2.3 Khảo sát các ứng dụng cùng chức năng trên điện thoại Android........6
1.2.3.1 Ứng dụng chỉ đường: diadiem.com...................................................6
1.2.3.2 Ứng dụng Vietbando..........................................................................7
CHƯƠNG II: HỆ ĐIỀU HÀNH ANDROID

8

2.1 LỊCH SỬ PHÁT TRIỂN HỆ ĐIỀU HÀNH ANDROID................................8


2.2 KIẾN TRÚC HỆ ĐIỀU HÀNH ANDROID...................................................8
2.2.1 Tầng Applications.....................................................................................9
2.2.2 Application framework............................................................................9

0


Nguyễn Thị Năm – CQ501778

GVHD: Th.S Phạm Xuân Lâm

2.2.3 Libraries.................................................................................................10
2.2.4 Android Runtime...................................................................................10
2.2.5 Linux kernel...........................................................................................11
2.3 CÁC PHIÊN BẢN CỦA HỆ ĐIỀU HÀNH ANDROID...........................11
2.3.1 Cupcake – Android 1.5 tháng 4/2009..................................................12
2.3.2 Donut – Android 1.6 tháng 9/2009.......................................................12
2.3.3 Eclair 2.0/2.1 tháng 10/2009 – 1/2010.................................................13
2.3.4 Froyo – Android 2.2 tháng 5 – 2010....................................................13
2.3.5 GingerBread – Android 2.3 tháng 12/2010.........................................14
2.3.6 Honeycomb – Android 3.0 / 3.1 / 3.2 tháng 7 – 2011..........................14
2.3.7 Ice Cream Sandwich(ICS) – Android 4.0 tháng 9 – 2011..................14
2.4 GOOGLE PLAY VÀ VIMARKET...........................................................15
2.4.1 Google Play (Android Market)..............................................................15
2.4.2 Vimarket – chợ ứng dụng Android cho người Việt............................15
2.5 THỊ PHẦN HỆ ĐIỀU HÀNH ANDROID.................................................16
2.6 CÁC THÀNH PHẦN CHÍNH CỦA MỘT ỨNG DỤNG ANDROID.....17
2.6.1 Activity....................................................................................................17
2.6.2 Service...................................................................................................20
2.6.3 Content Provider...................................................................................21

2.6.4 Intent.....................................................................................................22
2.6.5 Broadcast Recievers..............................................................................22
CHƯƠNG III: LẬP TRÌNH ANDROID 24
3.1 TỔNG QUAN VỀ LẬP TRÌNH ANDROID.............................................24
3.1.1 Mơi trường lập trình..............................................................................24
3.1.2 Cấu trúc của một Android project.......................................................24
3.2 ANDROID EMULATOR...........................................................................24
3.2 HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU SQLITE.............................................25
3.2.1 Tìm hiểu chung về SQLite.....................................................................25
3.2.2 Các ưu điểm của SQLite......................................................................26
3.2.3 SQLite trong Android...........................................................................26
1


Nguyễn Thị Năm – CQ501778

GVHD: Th.S Phạm Xuân Lâm

3.2.4 Tạo, truy vấn và thao tác trong Android SQLite.................................26
3.2.4.1 Tạo cơ sở dữ liệu...........................................................................26
3.2.4.2 Truy vấn và thao tác trong Android SQLite..................................27
3.2.5 Sao chép, sử dụng cơ sở dữ liệu có sẵn trong ứng dụng Android.........27
3.3 LẬP TRÌNH ANDROID...........................................................................28
3.3.1 Các thành phần giao diện....................................................................28
3.3.1.1 View.................................................................................................28
3.3.1.2 ViewGroup.......................................................................................28
3.3.2 Các điều khiển (controls)......................................................................29
3.3.2.1 Button.............................................................................................29
3.3.2.2 ImageView.......................................................................................29
3.3.2.3 ListView..........................................................................................29

3.3.2.4 TextView.........................................................................................29
3.3.2.5 EditText...........................................................................................29
3.3.2.6 CheckBox........................................................................................30
3.3.2.7 ContextMenu....................................................................................30
3.3.2.8 Quick Search Box..........................................................................30
3.4 GOOGLE MAPS API.................................................................................30
3.4.1 Tổng quan về Goolge Maps API..........................................................30
3.4.1.1 Đăng kí và lấy key Google Maps API...........................................30
3.4.2 Hiển thị bản đồ và các điều khiển trong Map View............................33
3.4.2.1 Hiển thị bản đồ..............................................................................33
3.4.2.2 Một số tùy chỉnh với MapView......................................................33
3.4.3 Mô phỏng GPS trên Android Emulator...............................................34
CHƯƠNG IV: XÂY DỰNG ỨNG DỤNG 36
2


Nguyễn Thị Năm – CQ501778

GVHD: Th.S Phạm Xuân Lâm

4.1 PHÂN TÍCH YÊU CẦU.............................................................................36
4.2 PHÂN TÍCH CHỨC NĂNG.......................................................................36
4.3 THIẾT KẾ GIAO DIỆN ỨNG DỤNG......................................................37
4.4 XÂY DỰNG CHỨC NĂNG.......................................................................39
4.4.1 Chức năng hiển thị danh sách các địa danh mặc định.......................40
4.4.2 Chức năng hiển thị thông tin chi tiết một địa danh bất kỳ..................40
4.4.3 Chức năng dẫn đường từ vị trí người dùng đến địa danh...................40
4.4.4 Chức năng thêm địa danh mới từ người dùng.....................................40
4.5 THIẾT KẾ CƠ SỞ DỮ LIỆU CHO ỨNG DỤNG...................................42
4.6 TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ...............................................42

4.6.1 Chức năng hiển thị danh sách các Địa danh.......................................42
4.6.2 Chức năng xem chi tiết một địa danh bất kỳ........................................44
4.6.3 Chức năng Dẫn đường đến địa danh...................................................45
4.6.4 Chức năng thêm địa danh mới từ người dùng.....................................46
KẾT LUẬN
48
KẾT QUẢ ĐẠT ĐƯỢC....................................................................................48
KHÓ KHĂN VÀ HƯỚNG GIẢI QUYẾT......................................................48
DANH MỤC TÀI LIỆU THAM KHẢO
49

3


Nguyễn Thị Năm – CQ501778

GVHD: Th.S Phạm Xuân Lâm

DANH MỤC CÁC THUẬT NGỮ VIẾT TẮT

STT
1
2
3
4
5
6
7
8
9

10
11
12
13
14
15
16

Thuật ngữ viết tắt
ADT
AVD
API
ATM
CDMA
DDMS
GPS
HD
LIFO
iOS
PC
SDK
SMS
OS
VM
XML

Diễn giải
Android Development Tool
Android Virtual Device
Application Programming Interface

Automated Teller Machine
Code Division Multiple Access
Dalvik Debug Monitor Service
Global Positioning System
High Definition
Last In First Out
iphone Operating System
Personal Computer
Software Development Kit
Short Message Services
Operating System
Virtual Machine
eXtensible Markup Language

4


Nguyễn Thị Năm – CQ501778

GVHD: Th.S Phạm Xuân Lâm

DANH MỤC HÌNH ẢNH
Hình 2.1: Logo của Google Android...........................................................................8
Hình 2.2: Kiến trúc hệ điều hành Android..................................................................9
Hình 2.3: Các phiên bản của Hệ điều hành Android................................................12
Hình 2.4: Google Play...............................................................................................15
Hình 2.5: Thị phần hệ điều hành Smartphone...........................................................16
Hình 2.6: Thị phần Android Quý 1 / 2012.................................................................17
Hình 2.7: Biểu đồ mơ tả trạng thái của Activity........................................................18
Hình 2.8: Vịng đời của Service.................................................................................20

Hình 3.1: Cấu trúc của một Android Project............................................................24
Hình 3.2: Máy ảo Android.........................................................................................25
Hình 3.3: Lấy đường dẫn keystore............................................................................31
Hình 3.4: Lấy mã MD5..............................................................................................32
Hình 3.5: Key Google Maps API...............................................................................33
Hình 3.6: Hiển thị map view và các điều khiển.........................................................34
Hình3.7 Lấy tọa độ trên thiết bị mơ phỏng...............................................................35
Hình 4.1: Thiết kế màn hình giao diện ứng dụng......................................................37
Hình 4.2: Thiết kế màn hình hiển thị danh sách các Địa danh.................................37
Hình 4.3: Màn hình hiển thị chi tiết một địa danh....................................................38
Hình 4.4: Màn hình thêm địa danh mới (bước 1)......................................................38
Hình 4.5: Màn hình thêm địa danh mới (bước 2)......................................................38
Hình 4.6: Sơ đồ hoạt động của ứng dụng..................................................................39
Hình 4.7: Cơ sở dữ liệu cho ứng dụng......................................................................42
Hình 4.8: Màn hình giao diện chính..........................................................................43
Hình 4.9: Danh sách các địa danh du lịch của Việt Nam.........................................44
Hình 4.10: Chi tiết địa danh Hồ Gươm.....................................................................45
Hình 4.11: Dẫn đường từ vị trí người dùng đến Hồ Gươm.......................................46
Hình 4.12: Thêm thơng tin cho Địa danh..................................................................47
Hình 4.13: Chọn ảnh đại diện cho Địa danh.............................................................47
Hình 4.14: Xác định tọa độ Địa danh........................................................................47

5


LỜI NÓI ĐẦU
Thị trường di động đang phát triển mạnh mẽ chưa từng thấy với vô vàn các
nhãn hiệu, kiểu dáng, tính năng… kéo theo đó là cuộc cạnh tranh vô cùng khốc liệt của
các nhà sản xuất hệ điều hành mobile. Google Android – hệ điều hành được mặc dù ra
đời muộn hơn những hệ điều hành khác nhưng lại đang là hệ điều hành số 1 trên thị

trường hệ điều hành di động hiện nay với thị phần (56.1% vào Quý 1/2012). Tất cả các
ứng dụng như: định vị GPS, multimedia, lướt web và kết nối internet, ứng dụng văn
phịng, tích hợp các mạng xã hội hay chơi game... đều xuất hiện trên thiết bị điện thoại
thông minh chạy hệ điều hành Android. Sự đa dạng về mức giá cũng như số mẫu mã
kiểu dáng khiến Android trở thành một trong những nền tảng smartphone phố biến
nhất tại Việt Nam năm 2011.
Xây dựng ứng dụng trên Smartphone là lĩnh vực có tốc độ phát triển nhanh nhất
trong ngành công nghệ thông tin với 1,4 tỉ thuê bao và dự báo sẽ có khoảng 452 triệu
Smartphone được bán ra vào năm 2012 và 6,7 triệu ứng dụng sẽ được download trước
năm 2014. Với xu thế và tính tất yếu của lĩnh vực lập trình ứng dụng nói chung và lập
trình Android nói riêng đã mang đến luồng gió mới trong ngành công nghệ thông tin.
Cùng với sự phát triển như vũ bão, nhu cầu nhân lực cũng đang nóng dần với hàng
trăm vị trí tuyển dụng vẫn chưa tìm được ứng viên.
Mới xuất hiện tại Việt Nam, lập trình Android đang là lĩnh vực mới mẻ với
nhiều tiềm năng trong thị trường lập trình ứng dụng và nguồn nhân lực trong tương lai.
Chính vì vậy em đã chọn đề tài: “Tìm hiểu Hệ điều hành Android và xây dựng ứng
dụng minh họa - ứng dụng VietTour” làm đề tài cho khóa luận tốt nghiệp của mình.
Thơng qua đề tài này em có thể tiếp cận với xu hướng trong lĩnh vực cơng nghệ thơng
tin hiện nay – Lập trình cho Smartphone, đặc biệt là lập trình trên Hệ điều hành
Android – Hệ điều hành mã nguồn mở đang là lĩnh vực thu hút nhiều lập trình viên
hiện nay.
Đề tài: “Tìm hiểu Hệ điều hành Android và xây dựng ứng dụng minh họa - ứng
dụng VietTour” sẽ tập trung vào các vấn đề sau:
 Sơ lược các Hệ điều hành cho điện thoại di động hiện nay: iOS,
BlackBerry, Symbian, Windows Phone, …
 Hệ điều hành Android
 Lập trình Android
 Xây dựng ứng dụng minh họa – ứng dụng VietTour

1



Nguyễn Thị Năm – CQ501778
Lâm

GVHD: Th.S Phạm Xuân

 Kết quả đạt được và hạn chế cịn tồn tại của khố luận.
Báo cáo đã được thực hiện trong thời gian khá dài và đây là thành thành quả lớn
nhất mà em thực hiện được trong quá trình học tập tại trường Đại học Kinh tế Quốc
dân. Ngoài sự cố gắng, nỗ lực của bản thân, cịn có sự giúp đỡ của nhiều người để em
có thể hồn thiện được khố luận.
Em xin chân thành cảm ơn các Thầy Cô Bộ môn Công nghệ thông tin – Viện
Công nghệ thông tin Kinh tế đã truyền đạt những kiến thức, kinh nghiệm quý báu
trong quá trình học tập và nghiên cứu.
Em xin chân thành cảm ơn Thầy: Phạm Xuân Lâm – Giảng viên Bộ môn Công
nghệ thông tin, Viện Công nghệ thông tin – Kinh tế, trường Đại học Kinh tế Quốc dân
đã tận tình hướng dẫn, định hướng, góp ý trong q trình thực hiện khố luận.
Do thời gian và kiến thức của em cịn hạn chế nên khố luận của em khơng thể
tránh khỏi thiết sót. Em rất mong nhận được sự góp ý của thầy cơ và bạn bè để em có
thể hồn thiện hơn nữa chun đề của mình.
Hà Nội, ngày 20 tháng 5 năm 2012
Sinh viên thực hiện
Nguyễn Thị Năm

2


Nguyễn Thị Năm – CQ501778
Lâm


GVHD: Th.S Phạm Xuân

CHƯƠNG I: TỔNG QUAN VỀ ĐỀ TÀI
1.1 GIỚI THIỆU ĐỀ TÀI
1.1.1 Lý do chọn đề tài
Android là một hệ điều hành dành cho thiết bị di động như smartphone, tablet
hay netbook, do Google phát triển dựa trên nền tảng Linux kernel và các phần mềm
mã nguồn mở nhằm cạnh tranh với các hệ điều hành di động khác. Sau 4 năm được
phát triển chính thức bởi Google, bắt đầu từ năm 2008, với tính mở - khả năng tuỳ biến
cao - và được viết bằng ngôn ngữ java – ngôn ngữ được sử dụng rất nhiều hiện nay,
Android nhanh chóng chiếm lĩnh thị trường hệ điều hành Smartphone với thị phần
56.1% vào quý 1/2012.
Việt Nam cũng khơng nằm ngồi xu hướng phát triển đó, đặc biệt trong thời kỳ
hiện nay khi mà thu nhập được cải thiện từng ngày, nhu cầu về cập nhật thơng tin, giải
trí ngày càng cao thì việc sở hữu một chiếc điện thoại thơng minh là hồn tồn có thể.
Với một loạt các nhà sản xuất smartphone lớn như Samsung, HTC, Motorola....tạo ra
sự phong phú về chủng loại, cấu hình và giá thành, đăc biệt khơng địi hỏi phải có một
cầu hình tối thiểu nào cả, có thể hoạt động trên mọi cấu hình, máy có hỗ trợ cảm ứng
hay khơng, cũng như tương thích với mọi nhà sản xuất thiết bị phần cứng. Cùng với
kho ứng dụng phong phú với rất nhiều ứng dụng miễn phí.
Cùng với sự phát triển như vũ bão, nhu cầu nhân lực trong lĩnh vực lập trình
cho nền tảng Android cũng đang nóng dần với hàng trăm vị trí tuyển dụng vẫn chưa
tìm được ứng viên. Do đó em đã chọn nền tảng Android để tìm hiểu.
Ứng dụng minh hoạ - ứng dụng VietTour cung cấp cho người dùng những
thông tin về các địa danh du lịch trên cả nước và dẫn đường từ vị trí người dùng đến
địa danh đó. Ưu điểm lớn nhất của ứng dụng là hiển thị kết quả ngay trên màn hình,
giúp người dùng dễ hiểu và dễ sử dụng. Qua đó sẽ dễ dàng lên kế hoạch cho chuyến du
lịch với chi phí là nhỏ nhất. Ngoài ra với ứng dụng “Viet Tour” sẽ giúp em tìm hiểu hệ
điều hành Android một cách đầy đủ nhất. Ứng dụng cho phép kết hợp việc sử dụng cơ

sở dữ liệu SQLite – một hệ cơ sở dữ liệu nhỏ gọn, thích hợp với smartphone với sử
dụng và truy vấn trong Google Maps API.
Thơng qua khố luận này sẽ giúp em có một cái nhìn tổng quan về Android và
phát triển ứng dụng trên nền hệ điều hành này. Khoá luận cũng sẽ giúp em bắt kịp với
xu hướng hiện nay – xu hướng lập trình ứng dụng trên smartphone, đáp ứng được nhu

3


Nguyễn Thị Năm – CQ501778
Lâm

GVHD: Th.S Phạm Xuân

cầu của thị trường xây dựng ứng dụng cho thiết bị di động ngày càng nhiều và mở ra
cơ hội việc làm sau khi tốt nghiệp.
1.1.2 Chức năng và hướng phát triển của ứng dụng VietTour
1.1.2.1 Chức năng của ứng dụng Viet Tour
Với mong muốn hỗ trợ những tiện ích tốt nhất cho những người u thích du
lịch, đồng thời góp một phần nhỏ để quảng bá những địa điểm du lịch của nước nhà,
em đã lựa chọn ứng dụng Viet Tour để minh họa.
Chức năng chính của ứng dụng là cho phép người dùng cập nhật tất cả các địa
điểm du lịch lớn trên toàn lãnh thổ Việt Nam như: SaPa, Hà Nội, Thành phố Hồ Chí
Minh, Hạ Long, Huế, Đà Nẵng, Nha Trang, Vũng Tàu, Phú Quốc, Phan Thiết.....Chức
năng đặc biệt của phần mềm là chỉ ra vị trí của các điểm du lịch và dẫn đường cho
người dùng từ vị trí đó tới địa điểm du lịch theo cách đơn giản nhất. Điều này làm
giảm tối thiểu chi phí cho người dùng khi đi du lịch.
Ngoài ra, ứng dụng cho phép người dùng cập nhật thêm các địa danh du lịch
bằng cách cập nhật đầy đủ các thông tin cho một địa danh: tên, mô tả chung, mô tả chi
tiết, hình ảnh đại diện.... Hình ảnh đại diện cho địa danh sẽ được chọn từ thẻ nhớ của

điện thoại. Ứng dụng sẽ tự cập nhật toạ độ của người dùng làm toạ độ của địa danh đó.
Ứng dụng hoạt động online nên điện thoại cần phải có kết nối internet.
1.1.2.2 Hướng phát triển của ứng dụng
Hướng phát triển của phần mềm trong tương lai là phần mềm sẽ phát triển thêm
các chức năng tìm kiếm cây ATM, cây xăng gần vị trí người dùng nhất; tìm kiếm các
qn caphe, nhà hàng, khách sạn và các điểm vui chơi giải trí tại các điểm du lịch. Các
chức năng này sẽ rất thuận lợi khi đi du lịch xa.
Ngoài ra, phần mềm sẽ có thêm phiên bản tiếng anh để thuận tiện cho những
người nước ngoài du lịch tại Việt Nam, qua đó giúp quảng bá hình ảnh nước nhà với
bạn bè quốc tế.
1.2 KHẢO SÁT ĐỀ TÀI
1.2.2 Khảo sát các nền tảng trên điện thoại di động hiện nay
Hiện nay, thị trường di động đang phát triển mạnh mẽ chưa từng thấy với vơ
vàn các nhãn hiệu, kiểu dáng, tính năng… kéo theo đó là cuộc cạnh tranh vơ cùng
khốc liệt của các nhà sản xuất hệ điều hành mobile.

4


Nguyễn Thị Năm – CQ501778
Lâm

GVHD: Th.S Phạm Xuân

Hình 1.1: Một số hệ điều hành di động phổ biến hiện nay
1.2.2.1 Hệ điều hành Symbian
Hệ điều hành Symbian của Nokia là hệ điều hành di động được đánh giá là thân
thiện, dễ sử dụng. Symbian rất mạnh đối với các dòng điện thoại sử dụng màn hình
cứng, bàn phím T9 cơ bản. Và kho ứng dụng của Symbian không phải là ít. Những
ứng dụng này đáp ứng không nhỏ trong công việc, đời sống hằng ngày của mọi người.

1.2.1.2 Hệ điều hành Windows Mobile
Hệ điều hành cùng thời với Symbian, được đánh giá là hệ điều hành rất chuyên
nghiệp, phục vụ tốt cho cơng việc và giải trí. Nhưng có vẻ không dễ sử dụng và thân
thiện như Symbian ở thời điểm đó. Chính vì thế, Symbian đã thống trị trong khá nhiều
năm. Và có lẽ Symbian đang ngủ quên trên chiến thắng, khơng có sự phát triển đột
phá, khơng cập nhật thường xuyên.
1.2.1.3 Hệ điều hành iOS
iOS là hệ điều hành "đóng" hoạt động trên iPhone, iPad, iPod. iOS đã quyết
định rất nhiều đối với sự thành công của Apple, với giao diện bóng bẩy, đẹp mắt, và dễ
sử dụng. Tất cả chỉ là chạm và lướt để thực thi. Cùng với chính sách hợp lý để thu hút
các lập trình viên viết ứng dụng, kho ứng dụng Appstore ngày càng lớn khiến cho
người dùng càng thêm thích thú, mọi nhu cầu của từng người đều có thể được đáp ứng.
Việc Apple tung ra cập nhật, vá các lỗi liên tục khi phát hiện, khiến cho iOS ngày càng
trở nên "thơng minh" hơn, an tồn hơn. Tuy nhiên, iOS chỉ được cài giới hạn trên thiết
bị của Apple gồm những thiết bị như iPhone, iPad, iPod... Thị phần của thiết bị Apple
trên thế giới nói chung là khơng lớn.

5


Nguyễn Thị Năm – CQ501778
Lâm

GVHD: Th.S Phạm Xuân

1.2.1.4 Hệ điều hành Windows Phone
Windows Phone được phát triển bởi Microsoft, hệ điều hành này có một diện
mạo hồn mới, hợp thời, với giao diện Metro đầy mới lạ, gần giống như một tờ tạp chí,
và cực kỳ dễ sử dụng mặc dù cách xử lý mọi việc rất khác. Windows Phone cũng đã
tạo ra một sức hấp dẫn mới cho làng cơng nghệ. Kho ứng dụng Marketplace tuy có

khiêm tốn nhưng rất nhiều phần mềm hữu ích và được kiểm sốt bởi Microsoft.
1.2.1.5 Hệ điều hành Android
Mặc dù ra đời muộn hơn các hệ điều hành khác, nhưng Android đang có những
bước tiến thần tốc bởi tính mở của nó, trong thời gian ngắn đã đạt được nhiều điều
khiến mọi hệ điều hành di động mơ ước: khoảng 850.000 điện thoại Android được
kích hoạt mỗi ngày(số liệu thống kê đầu năm 2012). Android ngày càng lớn mạnh về
số lượng và chất lượng bởi sự linh hoạt từ nền tảng Google, phù hợp với cả
smartphone tầm thấp lẫn giá cao. Hàng loạt các nhà sản xuất điện thoại di động sử
dụng Android làm hệ điều hành chính cho các sản phẩm của mình. Như HTC,
Samsung, LG, Motorola, Sony Ericsson... Từ điện thoại, cho đến máy tính bảng của
các hãng này đều dùng hệ điều hành Android. Các nhà lập trình viết ứng dụng ngày
càng nhiều trên Android Market. Kho ứng dụng đang cạnh tranh trực tiếp với
AppStore của Apple. Chính vì điều này mà đã khiến Android ngày càng bành trướng
trên thị trường khắp các châu lục, và trong thời gian tới, Android được dự đoán sẽ là
hệ điều hành thống trị thế giới hệ điều hành di động.
iOS rất mạnh, Windows Phone thì cực kỳ tiềm năng nhưng Android vẫn là cái
tên được xướng lên cho ngôi vị bá chủ hệ điều hành mobile trong thời gian tới bởi tính
thân thiện, dễ sử dụng và tính linh hoạt của mình.
1.2.3 Khảo sát các ứng dụng cùng chức năng trên điện thoại Android
1.2.3.1 Ứng dụng chỉ đường: diadiem.com

6


Nguyễn Thị Năm – CQ501778
Lâm

GVHD: Th.S Phạm Xuân

Ưu điểm của ứng dụng này là sử dụng giao diện 3D đẹp và thân thiện bằng

tiếng Việt. Phầm mềm cung cấp bản đồ chi tiết đường đi của khá nhiều tỉnh thành tại
Việt Nam.
Ngồi tính năng xác định vị trí bằng GPS, với phần mềm này người sử dụng
cịn có thể nghe nhạc, xem video clip, tra cứu các phân loại tin rao vặt, đọc báo, thanh
toán trực tuyến…
1.2.3.2 Ứng dụng Vietbando

Ứng dụng có các chức năng như tìm thơng tin vị trí địa điểm, vị trí các điểm
dịch vụ, tìm lộ trình đường đi, quản lý danh sách các điểm yêu thích và lưu kết quả tìm
đường điphục vụ cho việc xem lại trong trường hợp ngắt kết nối.
Để sử dụng được phần mềm, điện thoại của người dùng phải kết nối GPRS
hoặc WIFI. Ngoài ra đây là phần mềm trả phí và người sử dụng chỉ được dùng thử
trong 7 ngày.

7


Nguyễn Thị Năm – CQ501778
Lâm

GVHD: Th.S Phạm Xuân

CHƯƠNG II: HỆ ĐIỀU HÀNH ANDROID
2.1 LỊCH SỬ PHÁT TRIỂN HỆ ĐIỀU HÀNH ANDROID

Hình 2.1: Logo của Google Android
Tên gọi Android có nghĩa chính xác là “một người máy có hình dáng của con
người”. Android là hệ điều hành mã nguồn mở dành cho thiết bị di động(và hiện nay là
cả trên một số đầu phát HD, HD Player) được phát triển bởi công ty Android Inc.
Năm 2005, được Google mua lại và kể từ đó, Google đã có những quyết định

đầu tư cho hệ điều hành. Đến năm 2007, Liên minh thiết bị di động cầm tay mã nguồn
mở (Open Handset Alliance) được thành lập bao gồm các ông lớn trong ngành công
nghệ viễn thông và thiết bị cầm tay như: Samsung Electronics, LG, HTC, Motorola, T
– mobile, Texas Instruments, Broadcom Corporation, Google, Intel, Marvell
Technology Group, Nvidia, Qualcomm, Sprint Nextel nhằm phát triển một chuẩn cho
các thiết bị cầm tay mã nguồn mở. Đến năm 2008, liên minh này có thêm 14 thành
viên mới như ASUS, Sony, Toshiba,…
Ngày 23 – 9 – 2008, chiếc điện thoại di động đầu tiên trên thế giới sử dụng hệ
điều hành Android chính thức được Google – nhà cung cấp dịch vụ mạng T – Mobile
của Mỹ và nhà sản xuất thiết bị di động HTC giới thiệu ra thị trường: Google G1 hay
HTC dream.
2.2 KIẾN TRÚC HỆ ĐIỀU HÀNH ANDROID
Sơ đồ sau thể hiện cụ thể những thành phần chính của hệ điều hành Android.
Mỗi thành phần được mô tả chi tiết bên dưới.

8


Nguyễn Thị Năm – CQ501778
Lâm

GVHD: Th.S Phạm Xuân

Hình 2.2: Kiến trúc hệ điều hành Android
2.2.1 Tầng Applications
Android sẽ được đóng gói kèm với một tập hợp ứng dụng cốt lõi gồm email
client, ứng dụng gửi SMS, lịch, bản đồ, trình duyện, ứng dụng quản lý contact và
những thứ khác. Tât cả ứng dụng được viết bằng ngơn ngữ lập trình Java.
2.2.2 Application framework
Bằng cách cung cấp một môi trường phát triển mở, Android cho phép những

nhà phát triển (developer) xây dựng những ứng dụng đầy sáng tạo và phong phú. Các
developer được tự do tận dụng phần cứng của thiết bị, truy xuất vào thơng tin vị trí,
dịch vụ chạy ngầm, cài đặt báo động, thêm thông báo vào thanh trạng thái, nhiều và
nhiều thứ khác nữa.
Developer có tồn quyền truy cập vào framework API được sử dụng bởi những
ứng dụng cốt lõi. Kiến trúc ứng dụng được thiết kế để đơn giản hóa việc tái sử dụng
các bộ phận, bất kỳ ứng dụng nào cũng có thể cơng bố khả năng của nó và bất kỳ ứng
dụng khác sau đó có thể sử dụng khả năng đó (chủ thể đối với ràng buộc an toàn là bắt
buộc bởi framework). Cơ chế này cho phép những bộ phận được thay thế bởi người
dùng.
Bên dưới tất cả ứng dụng là một tập hợp dịch vụ và hệ thống, bao gồm:
o Một bộ Views: có thể được dùng để xây dựng ứng dụng, gồm list, grid, text
box, button và ngay cả những web browser có thể nhúng.

9


Nguyễn Thị Năm – CQ501778
Lâm

GVHD: Th.S Phạm Xuân

o Content provider: cho phép ứng dụng truy xuất dữ liệu từ những ứng dụng
khác như Contacts, hoặc chia sẻ dữ liệu của riêng chúng.
o Resource Manager: cung cấp sự truy xuất đến những tài ngun khơng phải
là code, ví dụ như chuỗi, hình ảnh hay các file layout.
o Notification Manager: cho phép tất cả ứng dụng thể hiện những báo động
trên thanh trạng thái.
o Activity Manager: quản lý vòng đời của các ứng dụng và cung cấp một
backstack cho phép chuyển đổi giữa các ứng dụng.

2.2.3 Libraries
Android bao gồm một bộ thư việc C/C++ được dùng bởi những bộ phận của hệ
thống Android. Những khả năng này được bộ lộ thông qua Android application
framework. Một số những thư viện cốt lõi được liệt kê dưới đây:
o System C library: một implementation dẫn xuất từ BSD của thư viện hệ
thống chuẩn C (libc), được điều chỉnh cho những thiết bị nhúng dựa trên Linux.
o Media libraries: dựa trên OpenCORE của PacketVideo, những thư viện này
hỗ trợ playback vào thâu những định dạng.
o Surface Manager: quản lý sự truy cập tới các hệ thống con và kết hợp những
lớp đồ họa 2D và 3D từ nhiều ứng dụng.
o LibWebCore: một web browser engine có thể vận hành cả Android browser
và những WebView nhúng.
o SGL: một graphics engine 2D nằm bên dưới.
o 3D libraries: một implementation dựa trên OpenGL ES 1.0 APIs; những thư
viện này sử dụng hardware 3D acceleration (khi có thể) hoặc những bộ quét 3D
được tối ưu.
o FreeType: cách vẽ font vector và font bitmap.
o SQLite: là hệ thống mã nguồn mở được sử dụng rộng rãi trong các ứng
dụng. Cơ sở dữ liệu được tạo cho một ứng dụng thì chỉ có ứng dụng đó có
quyền truy cập và sử dụng, các ứng dụng khác thì khơng. Khi đã được tạo, cơ
sở dữ liệu SQLite được chứa trong thư
mục /data/data//databases.
2.2.4 Android Runtime
Android gồm một bộ thư viện cốt lõi nhằm cung cấp hầu hết những tính năng có
sẵn trên những thư viện cốt lõi của ngơn ngữ lập trình Java.

10


Nguyễn Thị Năm – CQ501778

Lâm

GVHD: Th.S Phạm Xuân

Mỗi ứng dụng Android chạy trên những tiến trình của riêng nó trên những thể
hiện của máy ảo Dalvik – Davik Virtual Machine. Dalvik được viết để một thiết bị có
thể chạy nhiều VMs một cách hiệu quả. Dalvik VM thực thi file có định dạng Dalvik
Executable (.dex) nhằm tối ưu cho những hoạt động đòi hỏi bộ nhớ. VM này sẽ được
đăng ký, chuyển đổi những class file được biên dịch bởi Java compiler thành những
file có định dạng .dex, và cuối cùng thực thi chúng. Dalvik VM trông cậy vào Linux
kernel vì những tính năng như đa luồng hay quản lý bộ nhớ cấp thấp.
2.2.5 Linux kernel
Android trông cậy vào những dịch vụ của Linux phiên bản 2.6 như security,
quản lý bộ nhớ, quản lý tiến trình, network stack, driver model. Kernel này cũng hành
động như một lớp trừu tượng giữa phần cứng và phần còn lại của software stack.
2.3 CÁC PHIÊN BẢN CỦA HỆ ĐIỀU HÀNH ANDROID
Hệ điều hành Android của Google đã trải qua những biến chuyển mạnh mẽ chỉ
trong bốn năm ngắn ngủi từ khi mới ra mắt trên dòng điện thoại G1 T – Mobile. Bốn
năm – 8 phiên bản, trong khi với Microsoft, 25 năm chỉ phát hành 10 phiên bản hệ
điều hành Windows. Có thể nói rằng, khơng có sự phát triển trong lĩnh vực cơng nghệ
nào diễn ra nhanh chóng như thị trường Smartphone, mà trong đó hệ điều hành
Android là trung tâm. Với phiên bản Android 4.0 – Ice Cream Sandwich – xuất hiện
đầu tiên trên Samsung Galaxy Nexus đã làm mưa làm gió trên khắp các diễn đàn cơng
nghệ trên thế giới. Hệ điều hành trên nền tảng di động mà Google đã xây dựng lên, với
một tốc độ phát triển chóng mặt và dần thay thế iOS trở thành người dẫn đầu thị
trường Smartphone ngày nay.
Các phiên bản của Google Android được đặt tên theo quy ước: Mỗi phiên bản
chính thức được tung ra sẽ được đặt theo tên một loại bánh kẹo theo bảng chữ cái.
Phiên bản 1.5 – Cupcake là phiên bản thứ 3 của Android nên được đặt tên bắt đầu
bằng chữ C. Lần lượt các phiên bản sau là: Android 1.6 Donut, Android 2.0/2.1 Eclair,

Android 2.2 Froyo, Android 2.3 GingerBread, Android 3.0 HoneyComb, Android 4.0
Ice Cream Sandwich và có thể phiên bản 5.0 sắp tới sẽ được lấy tên là Jerrybean. .

11


Nguyễn Thị Năm – CQ501778
Lâm

GVHD: Th.S Phạm Xuân

Ice Cream Sandwich
4.0

Hình 2.3: Các phiên bản của Hệ điều hành Android
2.3.1 Cupcake – Android 1.5 tháng 4/2009
Đánh dấu một cột mốc hết sức quan trọng – là phiên bản đánh dấu một vài tính
năng đặc biệt đã được dự đốn trước nhằm duy trì tính cạnh tranh trên thị trường, bao
gồm:
o Khả năng ghi lại và xem video thông qua chế độ máy ghi hình.
o Tải video lên YouTube và ảnh lên Picasa trực tiếp từ điện thoại.
o Bàn phím ảo mới với khả năng đoán trước văn bản.
o Hỗ trợ bluetooth A2DP và AVRCP.
o Khả năng tự động kết nối với một thiết bị bluetooth trong một khoảng cách nhất
định
o Chuyển tiếp màn hình động.
2.3.2 Donut – Android 1.6 tháng 9/2009
Mặc dù không phải là một bản nâng cấp lớn như Cupcake, Android 1.6 Donut
vẫn được coi là một bản nâng cấp khá quan trọng tiếp theo sau Android 1.5. Bao gồm
những cập nhật:

o Tăng cường ứng dụng Android Market.
o Giao diện tích hợp máy ảnh,máy quay và bộ sưu tập.
o Thư viện cho phép lựa chọn nhiều ảnh để xoá.

12


Nguyễn Thị Năm – CQ501778
Lâm

GVHD: Th.S Phạm Xuân

o Cập nhật chức năng tìm kiếm và quay số bằng giọng nói với phản ứng
nhanh hơn và hội nhập sâu hơn với các ứng dụng bản địa.
o Cho phép đánh dấu trang tìm kiếm, lịch sử, liên lạc và trang web từ màn
hình chính.
o Tăng tốc các ứng dụng tìm kiếm và máy ảnh
Trong phiên bản này, Android lần đầu tiên hỗ trợ mạng CDMA, cũng trên
Donut, lần đầu tiên Android có khả năng chạy ở rất nhiều chế độ phân giải màn hình
khác nhau cũng như tỷ lệ chiều dài : chiều rộng khác nhau. Điều này đã mở cửa để các
loại điện thoại có độ phân giải khác nhau cũng như những chiếc smartphone từ màn
hình nhỏ cho tới kích thước cực lớn.
2.3.3 Eclair 2.0/2.1 tháng 10/2009 – 1/2010
Sau một năm kể từ khi G1 xuất xưởng, Android 2.0 đã được phát hành. Đây thực
sự là một trong những bản update lớn nhất của Android từ trước đến nay với những ý
tưởng vô cùng mới mẻ. Eclair lần đầu được tung ra trên chiếc Motorola Droid của nhà
mạng Verizon đã đánh dấu một trong những chiếc điện thoại thông minh thành công
nhất lịch sử Android. Bao gồm những thay đổi:
o Tối ưu hoá tốc độ phần cứng.
o


Tái cấu trúc giao diện người sử dụng

o

Giao diện trình duyệt mới và hỗ trợ HTML 5

o

Danh sách liên lạc mới

o

Cải thiện Google Maps 3.1,2

o

Hỗ trợ Microsoft Exchange

o

Chức năng MotionEvent cho phép tăng cường xử lý chạm đa điểm

o

Cải thiện bàn phím ảo

o

Hình nền động


Mặc dù không phải là một bản cập nhật thực sự ấn tượng, Android đánh dấu một
sự thay đổi chiến lược của Google – Google quyết định hợp tác trực tiếp với HTC để
tạo dịng sản phẩm của mình. Đó chính là nguyên nhân mà Google Nexus One ra đời –
một thiết bị khá mỏng với bộ vi xử lý mạnh mẽ vời thời điểm bấy giờ (1 Ghz
Qualcomm SnapDragon) và một màn hình AMOLED tiên tiến có độ phân giải
WVGA.
2.3.4 Froyo – Android 2.2 tháng 5 – 2010
Các thay đổi bao gồm:

13


Nguyễn Thị Năm – CQ501778
Lâm

GVHD: Th.S Phạm Xuân

o Tối ưu hóa tồn bộ hệ điều hành Android về tốc độ, bộ nhớ và hiệu năng.
o Các ứng dụng cải tiến tốc độ thực hiện của JIT.
o Tích hợp động cơ V8 JavaScript của Chrome vào ứng dụng trình duyệt.
o Tăng hỗ trợ Microsoft Exchange (chính sách an ninh, tự động phát
hiện, GAL tìm kiếm, đồng bộ hóa lịch, xóa từ xa).
o Cải thiện ứng dụng với các phím tắt để khởi chạy các ứng dụng điện
thoại và trình duyệt.
o Cập nhật thị trường ứng dụng với hàng loạt các tính năng cập nhật tự động.
o Nhanh chóng chuyển đổi giữa bàn phím đa ngơn ngữ và từ điển.
o Quay số bằng giọng nói và chia sẻ liên hệ qua Bluetooth.
o Hỗ trợ tải tập tin trong ứng dụng trình duyệt.
o Hỗ trợ cài đặt các ứng dụng với bộ nhớ mở rộng.

o Hỗ trợ Adobe Flash 10.1
2.3.5 GingerBread – Android 2.3 tháng 12/2010
Vào thời điểm này, Google đã chọn đối tác là Samsung – nhà sản xuất điện thoại
di động rất thành cơng với dịng điện thoại Galaxy S – sản xuất ra chiếc Nexus S.
Gingerbread khơng có q nhiều thay đổi nhưng mỗi thay đổi đó lại có tác động lên
toàn nền tảng. Chức năng mới của phiên bản:
o Hỗ trợ phát lại video webM
o Cải thiện chức năng copy – paste.
2.3.6 Honeycomb – Android 3.0 / 3.1 / 3.2 tháng 7 – 2011
Là phiên bản Android hỗ trợ riêng cho các thiết bị màn hình lớn như máy tính
bảng. Một số nâng cấp đáng kể trên Honeycomb được nhắc đến bao gồm thiết kế lại và
cho phép thay đổi kích thước widget và một loạt chế độ mới giúp người dùng nhập ảnh
vào tablet trực tiếp từ máy ảnh kỹ thuật số. Android 3.1 còn bao gồm cả ứng dụng
phim Google Movies giúp cho người dùng thuê hàng ngàn bộ phim để theo dõi từ chợ
Android Market (sau này là Google Play), ứng dụng đọc sách Books và ứng dụng
chỉnh sửa video mới Movie Studio. Trình duyệt web lần này được cải thiện tốc độ
đáng kể, và bao gồm cả thanh menu điều khiển nhanh.
2.3.7 Ice Cream Sandwich(ICS) – Android 4.0 tháng 9 – 2011
Là một trong những phiên bản có sự thay đổi lớn nhất ảnh hưởng đến điện thoại
thơng minh, nhưng có khá nhiều thiết kế của ICS xuất phát từ phiên bản trước của nó –
Honeycomb,bao gồm các nút bấm ảo, sự thay đổi từ xanh lá sang xanh da trời, hỗ trợ

14



×