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

TÌM HIỂU VỀ HỆ ĐIỀU HÀNH ANDROID

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.23 MB, 100 trang )

BỘ CÔNG THƢƠNG
TRƢỜNG CAO ĐẲNG KỸ THUẬT CAO THẮNG
KHOA ĐIỆN TỬ - TIN HỌC

ĐỀ TÀI

TÌM HIỂU VỀ HỆ ĐIỀU HÀNH
ANDROID

Giảng viên hƣớng dẫn :
Nhóm thực hiện:

TRẦN THANH TUẤN .

B1.

Lớp:

CĐTH 10B.

Khoá:

2010 – 2013.

TP. Hồ Chí Minh
Tháng 3 năm 2013


LỜI MỞ ĐẦU
Đứng trƣớc xu thế toàn cầu hoá, ngành dịch vụ Viễn thông nói chung và dịch vụ điện thoại
di động nói riêng ở Việt Nam đã đạt đƣợc những thành tựu nhất định. Sơ khai là một ngành


với nhũng điều kiện cơ sở vật chất nghèo nàn, dịch vụ viễn thông còn rất lạc hậu. Cho đến
nay, ngành Viễn thông Việt nam đã hoà nhập với mạng thông tin toàn cầu, đóng góp vào
GDP 0,2% năm 1991 và đến nay đã lên tới con số 10,5%. Đặc biệt số lƣợng thuê bao dịch
vụ điện thoại di động đã thay đổi một cách nhanh chóng, từ 4.060 thuê bao năm 1993 lên tới
1.200.000 thuê bao tính đến hết tháng 3 năm 2005. Trƣớc xu thế hội nhập ngày càng mở
rộng, ngành dịch vụ Viễn thông nói chung và dịch vụ điện thoại di động nói chung đang
bƣớc vào giai đoạn cạnh tranh rất lớn. Nổi lên trong giai đoạn hiện nay là công nghệ hệ điều
hành di động và nổi bật nhƣ một ngôi sao mới là hệ điều hành Android của Google.
Đề tài này nhóm chúng em sẽ tập trung tìm hiểu về Android.


NHẬN XÉT CỦA GIÁO VIÊN
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................

..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
TPHCM, Ngày

tháng

năm


MỤC LỤC

PHẦN 1: THÔNG TIN NHÓM ................................................................................................ 1
1.1. Thông tin nhóm ......................................................................................................... 1
1.2. Bảng phân công ......................................................................................................... 2
PHẦN 2: NỘI DUNG ............................................................................................................... 4
2.1. Cơ sở lý thuyết ........................................................................................................... 4
2.1.1.

Lịch sử Android............................................................................................... 4

2.1.2.

Delving với máy ảo Dalvik .............................................................................. 6


2.1.3.

Kiến trúc của Android .................................................................................... 7

2.1.3.1. Tầng ứng dụng ............................................................................................. 7
2.1.3.2. Application framework ............................................................................... 7
2.1.3.3. Library.......................................................................................................... 8
2.1.3.4. Android Runtime ......................................................................................... 9
2.1.3.5. Linux kernel ................................................................................................. 9
2.1.4.

Android Emulator ........................................................................................... 9

2.1.5.

Các thành phần trong một Android Project .............................................. 15

2.1.5.1. AndroidManifest.xml ................................................................................ 15
2.1.5.2. File R.java .................................................................................................. 16
2.1.6.

Các chu kỳ ứng dụng Android ..................................................................... 18

2.1.6.1. Chu kỳ sống thành phần ........................................................................... 19
2.1.6.2. Activity Stack ............................................................................................. 19
2.1.6.3. Các dạng của chu kỳ sống ......................................................................... 20


2.1.6.4. Chu kỳ sống của ứng dụng: ...................................................................... 21

2.1.6.5. Các sự kiện trong chu kỳ sống của ứng dụng ......................................... 21
2.1.6.6. Thời gian sống của ứng dụng ................................................................... 21
2.1.6.7. Thời gian hiển thị của Activity ................................................................. 22
2.1.6.8. Các phƣơng thức của chu kỳ sống ........................................................... 22
2.1.7.

Các thành phần cơ bản trong giao diện Android ....................................... 23

2.1.7.1. View ............................................................................................................ 23
2.1.7.2. ViewGroup ................................................................................................. 24
2.1.7.3. Button ......................................................................................................... 27
2.1.7.4. ImageButton. .............................................................................................. 28
2.1.7.5. ImageView .................................................................................................. 28
2.1.7.6. Listview ....................................................................................................... 28
2.1.7.7. TextView ..................................................................................................... 29
2.1.7.8. EditText ...................................................................................................... 29
2.1.7.9. Checkbox .................................................................................................... 29
2.1.7.10. MenuOption ............................................................................................. 29
2.1.7.11. Quick Search Box .................................................................................... 31
2.1.7.12. Activity and Intent ................................................................................... 31
2.1.8.

Content Provider và Uri ............................................................................... 32

2.1.9.

SQLite............................................................................................................. 37

2.1.9.1. SQLite và Android .................................................................................... 37
2.1.9.2. Cấu trúc của SQLite .................................................................................. 38

2.1.9.3. Hƣớng dẫn – sử dụng SQLite ................................................................... 42
2.1.9.4. Content Provider và chia sẽ dữ liệu ......................................................... 51


2.1.9.5. Hƣớng dẫn – sử dụng Content Provider ................................................. 52
2.1.9.6. Loader ......................................................................................................... 56
2.1.9.7. Truy cập cơ sở dữ liệu SQLite trực tiếp .................................................. 57
2.1.10.

Android và WebService ................................................................................ 58

2.1.10.1. Web service .............................................................................................. 58
2.1.10.2. Thao tác web service trong Android...................................................... 64
2.1.11.

Background Service ...................................................................................... 66

2.1.11.1. Một Service cơ bản có thể có hai hình thức .......................................... 67
2.1.11.2. Các khái niệm cơ bản .............................................................................. 67
2.2. Ƣu điểm và khuyết điểm của Android .................................................................. 71
2.2.1.

Ƣu điểm. ......................................................................................................... 71

2.2.1.1. Là hệ điều hành mã nguồn mở ................................................................. 71
2.2.1.2. Kho ứng dụng phong phú ......................................................................... 72
2.2.1.3. Phần cứng đa dạng .................................................................................... 72
2.2.1.4. Phần mềm ................................................................................................... 72
2.2.1.5. Các phiên bản với nhiều ƣu điểm của Android. ..................................... 72
2.2.1.6. Một số phiên bản mạnh của Android. ..................................................... 74

2.2.2.

Khuyết điểm ................................................................................................... 81

2.2.2.1. Android phải tiếp tục cố gắng nếu muốn chinh phục nhiều khách hàng
hơn nữa. ..................................................................................................................... 81
2.2.2.2. Android đa năng nhƣng khó kích hoạt. .................................................. 81
2.2.2.3. Dễ nhiễm phần mềm độc hại và virus...................................................... 81
2.2.2.4. Nhiều ứng dụng vô dụng. .......................................................................... 81
2.2.2.5. Sự phân mảnh. ........................................................................................... 81


2.2.2.6. Cập nhật không tự động với tất cả thiết bị. ............................................ 82
2.3. Đánh giá ứng dụng của Android ............................................................................ 82
2.3.1.

Về đồng bộ trình duyệt. ................................................................................ 82

2.3.2.

Kho ứng dụng ................................................................................................ 83

2.3.3.

Video chat ...................................................................................................... 83

2.3.4.

Bản đồ ............................................................................................................. 84


2.3.5.

Ra lệnh bằng giọng nói. ................................................................................ 85

2.3.6.

Facebook . ...................................................................................................... 85

2.3.7.

Thanh toán qua di động................................................................................ 86

2.3.8.

Media Streaming ........................................................................................... 86

2.4. Hƣớng phát triển cho tƣơng lai.............................................................................. 87
2.4.1.

Các thiết bị Android tràn ngập phòng khách nhà bạn.............................. 87

2.4.2.

Hệ thống mạng mang tên Google................................................................. 88

2.4.3.

Android 5.0. ................................................................................................... 88

2.4.4.


Sạc pin không dây xuất hiện nhiều hơn. ..................................................... 88

2.4.5.

Nhiều sắc màu hơn. ....................................................................................... 89

2.4.6.

Doanh số bán ra của máy tính bảng Android vƣợt mặt iPad. .................. 89

2.4.7.

Pin lớn hơn. .................................................................................................... 90

2.4.8.

Đèn flash Xenon............................................................................................. 90

2.4.9.

Tỉ lệ kích hoạt giảm. ...................................................................................... 91

2.4.10.

Nokia sử dụng Android. ............................................................................... 91

2.5. Kết luận .................................................................................................................... 91



DANH MỤC HÌNH
Hình 2.1.1a: Android timeline. ............................................................................................. 5
Hình 2.1.3a : Kiến trúc Android. .......................................................................................... 7
Hình 2.1.4a : Lựa chọn các gói đi kèm khi cài đặt Android ảo hóa. .................................. 10
Hình 2.1.4b :Quá trình tải phần mềm về máy ẩn dƣới thanh tác vụ. .................................. 11
Hình 2.1.4c : Cửa sổ thiết lập Android SDK and AVD Manager. ..................................... 11
Hình 2.1.4d : Lựa chọn chất lƣợng màn hình hiển thị trên PC. .......................................... 12
Hình 2.1.4e : Giao diện giả lập của SDK Android Emulator. ............................................ 13
Hình 2.1.4f : Biểu tƣợng khóa máy trên Android ảo. ......................................................... 14
Hình 2.1.6.1a : Chu kỳ sống của một Ƣ́ng dụng Android . ................................................. 19
Hình 2.1.6.2a : Activity Stack. ........................................................................................... 19
Hình 2.1.6.3a: Chu kỳ sống của Activity. ........................................................................... 20
Hình 2.1.6.5a: Các sự kiện. ................................................................................................. 21
Hình 2.1.7.12a: Truyền dƣ̃ liệu giƣ̃a 2 Activity. ................................................................. 32
Hình 2.1.8a : Ví dụ mô hình dữ liệu thông tin số điện thoại trong máy. ............................ 33
Hình 2.1.8b : Các thành phần của 1 URI. ........................................................................... 34
Hình 2.1.8c : Khai báo tag trong file AndroidManifest.xml. .......................... 37
Hình 2.1.9.3a: SQLite Database. ........................................................................................ 43
Hình 2.1.10.1a: Kiến trúc web service................................................................................ 61
Hình 2.1.10.1b : các web service thông dụng. .................................................................... 62
Hình 2.3.1a: iOS6 và Android 4.1 đang tranh tài cao thấp. ................................................ 82
Hình 2.3.2a: iOS có lƣợng ứng dụng khổng lồ. .................................................................. 83
Hình 2.3.3a :Windows Phone sẽ có đƣợc "ƣu thế" hơn vì Skype là của Microsoft? ......... 84


Hình 2.3.4a :Tính năng trên Android có vẻ nhỉnh hơn 2 đối thủ còn lại. ........................... 84
Hình 2.3.5a :Ngƣời ta đùa rằng iris là viết ngƣợc từ Siri nên Siri vẫn "đỉnh" hơn. ........... 85
Hình 2.4.1a: Samsung mới đây còn cho ra mắt tủ lạnh Android, chắc chắn tƣơng lai của
những căn hộ Android thông minh sẽ không còn xa vời. ................................................... 87
Hình 2.4.5a: Các thiết bị Android thời gian tới có thể sẽ sở hữu rất nhiều màu sắc để bắt

kịp với xu hƣớng của dòng Lumia. ..................................................................................... 89
Hình 2.4.8a: Một số smartphone sở hữu flash Xenon đã ra đời, đèn flash này mạnh hơn và
giúp ích nhiều hơn trong việc chụp ảnh trên di động. ........................................................ 90


Tìm hiểu về hệ điều hành Android

1

PHẦN 1: THÔNG TIN NHÓM
1.1.

Thông tin nhóm
Nhóm: Power Rangers

STT

Họ Tên

MSSV

Nhóm trƣởng
x

1

Nguyễn Hữu Đức

306101141


2

Nguyễn Kim Hoàn

306101151

3

Huỳnh Ngọc Sang

306101188

4

Nguyễn Thị Phƣơng Thảo

306101202

5

Trần Vũ

306101229
Nhóm: ITGroup

STT

Họ Tên

MSSV


Nhóm trƣởng
x

1

Vũ Ngọc Tân

306101198

2

Trần Tấn Tài

306101195

3

Nguyễn Thành Đức

306101142

4

Huỳnh Quang Thanh

306101199

5


Nguyễn Thành Phú

306101178
Nhóm: Email

STT

Họ Tên

MSSV

Nhóm trƣởng
x

1

Trần Duy Phúc

306101182

2

Huỳnh Nhựt Toàn

306101214

3

Phạm Nhật Toàn


306101215

4

Lê Viết Tuấn

306101221

5

Võ Đình Thắng

306101204

GVHD : Thầy Trần Thanh Tuấn

Nhóm thực hiện : B1


Tìm hiểu về hệ điều hành Android

2

Nhóm: Damit
STT

Họ Tên

MSSV


Nhóm trƣởng

1

Nguyễn Văn Thanh

306101200

x

2

Trần Anh Việt

306101227

nghỉ học

3

Nguyễn Văn Duy

306101128

4

Nguyễn Văn Hiến

306101146


5

Nguyễn Văn Dũng

306101131

1.2.

Bảng phân công

STT

1

2

NHÓM

POWER
RANGERS

ITGROUP

NỘI DUNG

LỊCH SỬ, DELVING VỚI MÁY ẢO DALVIK, KIẾN TRÚC ,
ANDROID EMULATOR , CÁC THÀNH PHẦN TRONG MỘT
ANDROID PROJECT.

CHU KỲ ỨNG DỤNG ANDROID, CÁC THÀNH PHẦN GIAO DIỆN


GVHD : Thầy Trần Thanh Tuấn

TRONG ANDROID

Nhóm thực hiện : B1


Tìm hiểu về hệ điều hành Android

3

CONTENT PROVIDER VÀ URI,BACKGROUND SERVICE,
3

EMAIL

4

DAMIT

TELEPHONY, SQLITE, ANDROID & WEBSERVICE

ƢU , KHUYẾT , ĐÁNG GIÁ ỨNG DỤNG, HƢỚNG PHÁT TRIỂN

GVHD : Thầy Trần Thanh Tuấn

TRONG TƢƠNG LAI, KẾT LUẬN

Nhóm thực hiện : B1



Tìm hiểu về hệ điều hành Android

4

PHẦN 2: NỘI DUNG
2.1.

Cơ sở lý thuyết

2.1.1. Lịch sử Android
-

Tháng 7 năm 2005, Google mua lại Android, Inc., một công ty nhỏ mới thành lập có
trụ sở Palo Alto, California, Mỹ. Những nhà đồng sáng lập Android chuyển sang làm
việc tại Google gồm có Andy Rubin (đồng sáng lập công ty Danger), Rich Miner
(đồng sáng lập công ty Wildfire Communications), Nick Sears (từng là phó chủ tịch
của T-Mobile), và Chris White (trƣởng nhóm thiết kế và phát triển giao diện tại
WebTV). Khi đó có rất ít các thông tin về các công việc của Android, ngoại trừ họ
đang phát triển phần mềm cho điện thoại di động. Điều này tạo những tin đồn về việc
Google có ý định bƣớc vào thị trƣờng điện thoại di động.

-

Tại Google, nhóm do Rubin đứng đầu đã phát triển một nền tảng thiết bị di động dựa
trên hạt nhân Linux, đƣợc họ tiếp thị đến các nhà sản xuất thiết bị cầm tay và các nhà
mạng trên những tiền đề về việc cung cấp một hệ thống mềm dẻo, có khả năng nâng
cấp mở rộng cao. Một số nguồn tin cho biết trƣớc đó Google đã lên danh sách các
thành phần phần cứng và các đối tác phần mềm, đồng thời ra hiệu với các nhà mạng

rằng họ sẵn sang hợp tác ở nhiều cấp độ khác nhau. Ngày càng nhiều suy đoán rằng
Google sẽ tham gia thị trƣờng điện thoại di động xuất hiện trong tháng 12 năm 2006.
Tin tức của BBC và Nhật báo phố Wall chú thích rằng Google muốn đƣa công nghệ
tìm kiếm và các ứng dụng của họ vào điện thoại di động và họ đang nỗ lực làm việc
để thực hiện điều này.

-

Ngày 5 tháng 11 năm 2007, Liên mình thiết bị cầm tay mở rộng (Open Handset
Alliance), gồm các thành viên nổi bật trong ngành viễn thông và thiết bị cầm tay nhƣ:
Texas Instruments, Tập đoàn Broadcom, Google, HTC, Intel, LG, Tập đoàn Marvell
Technology, Motorola, Nvidia, Qualcomm, Samsung Electronics, Sprint Nextel, ARM
Holding, Atheros Communications, Asustek Computer Inc, Garmin Ltd, Softbank,
Sony Ericsson, Toshiba Corp, và Vodafone Group Plc và T-Mobile được thành lập
với mục đích phát triển các tiêu chuẩn mở cho thiết bị di động.

GVHD : Thầy Trần Thanh Tuấn

Nhóm thực hiện : B1


Tìm hiểu về hệ điều hành Android

5

Hình 2.1.1a: Android timeline.
-

Phiên bản đầu tiên đƣợc phát hành vào tháng 11 năm 2007, hãng T-Mobile cũg công
bố chiếc điện thoại Android đầu tiên đó là chiếc T-Mobile G1, chiếc smartphone đầu

tiên dựa trên nền tảng Android. Một vài ngày sau đó, Google lại tiếp tục công bố sự
ra mắt phiên bản Android SDK release Candidate 1.0. Trong tháng 10 năm 2008,
Google đƣợc cấp giấy phép mã nguồn mở cho Android Platform.

-

Vào cuối năm 2008, Google cho phát hành một chiếc điện thoại cầm tay đƣợc gọi là
Android Dev Phone 1 có thể chạy đƣợc các ứng dụng Android mà không bị rang
buộc vào các nhà cung cấp mạng điện thoại di động. Mục tiêu của thiết bị này là cho
phép các nhà phát triển thực hiện các cuộc thí nghiệm trên một thiết bị thực có thể
chạy hệ điều hành Android mà không phải ký một bản hợp đồng nào. Vào khoảng
cùng thời gian đó thì Google cũng cho phát hành một phiên bản vá lỗi 1.1 của hệ điều
hành này. Ở cả hai phiên bản 1.0 và 1.1 Android chƣa hỗ trợ soft-keybroard mà đòi
hỏi các thiết bị phải sử dụng bàn phím vật lý. Android cố định vấn đề này bằng cách
phát hành SDK 1.5 vào tháng 4 năm 2009, cùng với một số tính năng khác. Chẳng
hạn nhƣ nâng cao khả năng ghi âm truyền thông, vật dụng và các live folder.

GVHD : Thầy Trần Thanh Tuấn

Nhóm thực hiện : B1


Tìm hiểu về hệ điều hành Android
-

6

GIẤY PHÉP:
o Trừ những giai đoạn cập nhật ngắn, Android đã lƣu hành với mã nguồn kể từ
ngày 21 tháng 10 năm 2008. Google đã mở toàn bộ mã nguồn (bao gồm cả các

ngăn xếp mang và điện thoại) under an Apache License.
o Với giấy phép Apache, các nhà cung cấp có thể thêm những mở rộng thƣơng
mại mà không cần chuyển chúng thành mã nguồn mở.

2.1.2. Delving với máy ảo Dalvik
-

Dalving là máy ảo giúp các ứng dụng java chạy đƣợc trên các thiết bị di động
Android. Nó chạy các ứng dụng đã đƣợc chuyển đổi thành một file thực thi Dalvik
(dex). Định dạng phù hợp cho các hệ thống mà thƣờng bị hạn chế về bộ nhớ và tốc độ
xử lý. Dalvik đã đƣợc thiết kế và viết bởi Dan Bornstein, ngƣời đã đặt tên cho nó sau
khi đến thăm một ngôi làng đánh cá nhỏ có tên là Dalvik ở đảo Eyjafjorour, nơi mà
một số tổ tiên của ông sinh sống.

-

Từ góc nhìn của một nhà phát triển, Dalvik trông iống nhƣ một máy ảo Java (Java
Virtual Machine) nhƣng thực tế thì hoàn toàn khác. Khi nhà phát triển viết một số
ứng dụng dành cho Anroid, anh ta thự c hiện các đoạn ma4 trong môi trƣờng Java.
Sau đó, nó sẽ đƣợc biên dịch sang các bytecode của Java, tuy nhiên để thực thi đƣợc
ứng dụng ngày trên Android thì nhà phát triển phải thực thi một công cụ có tên là dx.
Đây là công cụ dùng để chuyển đổi bytecode sang một dạng gọi là dex bytecode.
“Dex” là từ viết tắt của “Dalvik executable” đóng vai trò nhƣ cơ chế ảo thực thi các
ứng dụng Android.

GVHD : Thầy Trần Thanh Tuấn

Nhóm thực hiện : B1



Tìm hiểu về hệ điều hành Android

7

2.1.3. Kiến trúc của Android

Hình 2.1.3a : Kiến trúc Android.
2.1.3.1.
-

Tầng ứng dụng

Android đƣợc tích hợp sẵn một số ứng dụng cần thiết cơ bản nhƣ: contacts,
browser, camera, Phone,… Tất cả các ứng dụng chạy trên hệ điều hành Android đều
đƣợc viết bằng Java.

2.1.3.2.
-

Application framework

Bằng cách cung cấp một nền tảng phát triển mở, Android cung cấp cho các nhà
phát triển khả năng xây dựng các ứng dụng cực kỳ phong phú và sáng tạo. Nhà phát
triển đƣợc tự do tận dụng các thiết bị phần cứng, thông tin địa điểm truy cập, các dịch
vụ chạy nền, thiết lập hệ thống báo động, thêm các thông báo để các thanh trạng thái,
và nhiều, nhiều hơn nữa.

-

Nhà phát triển có thể truy cập vào các API 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 ứng dụng đƣợc thiết kế để đơn giản hóa việc sử dụng lại
các thành phần; bất kỳ ứng dụng có thể xuất bản khả năng của mình và ứng dụng nào
khác sau đó có thể sử dụng những khả năng (có thể hạn chế bảo mật đƣợc thực thi bởi

GVHD : Thầy Trần Thanh Tuấn

Nhóm thực hiện : B1


Tìm hiểu về hệ điều hành Android

8

khuôn khổ). Cơ chế này cho phép các thành phần tƣơng tự sẽ đƣợc thay thế bởi ngƣời
sử dụng.
-

Cơ bản tất cả các ứng dụng là một bộ các dịch vụ và các hệ thống, bao gồm:
o

Một tập hợp rất nhiều các View có khả năng kế thừa lẫn nhau dùng để thiết kế
phần giao diện ứng dụng nhƣ: gridview, tableview, linearlayout,…

o Một “Content Provider” cho phép các ứng dụng có thể truy xuất dữ liệu từcác
ứng dụng khác (chẳng hạn nhƣ Contacts) hoặc là chia sẻ dữ liệu giữa các ứng
dụng đó.
o

Một “Resource Manager” cung cấp truy xuất tới các tài nguyên không phải là
mã nguồn, chẳng hạn nhƣ: localized strings, graphics, and layout files.


o

Một “Notifycation Manager” cho phép tất cả các ứng dụng hiển thị các
custom alerts trong status bar.

-

Activity Maanager đƣợc dùng để quản lý chu trình sống của ứng dụng và điều hƣớng
các activity.

2.1.3.3.
-

Library

Android bao gồm một tập hợp các thƣ viên C/C++ đƣợc sử dụng bởi nhiều thành
phần khác nhau trong hệ thống Android. Điều này đƣợc thể hiện thông qua nền tảng
ứng dụng Android. Một số các thƣ viện cơ bản đƣợc liệt kê dƣới đây:
o System C library: a BSD-derived implementation of the standard C
system library (libc), tuned for embedded Linux-based devices.
o Media Libraries - based on PacketVideo's OpenCORE; the libraries
support playback and recording of many popular audio and video formats,
as well as static image files, including MPEG4, H.264, MP3, AAC, AMR,
JPG, and PNG.
o Surface Manager – Quản lý việc truy xuất vào hệ thống hiển thị.
o LibWebCore - a modern web browser engine which powers both the Android
browser and an embeddable web view.
o SGL - the underlying 2D graphics engine.


GVHD : Thầy Trần Thanh Tuấn

Nhóm thực hiện : B1


Tìm hiểu về hệ điều hành Android

9

o 3D libraries - an implementation based on OpenGL ES 1.0 APIs; the
librariesuse either hardware 3D acceleration (where available) or the included,
highly optimized 3D software rasterizer.
o FreeType - bitmap and vector font rendering.
-

SQLite - a powerful and lightweight relational database engine available to all

applications.
2.1.3.4.
-

Android Runtime

Android bao gồm một tập hợp các thƣ viện cơ bản mà cung cấp hầu hết các chức
năng có sẵn trong các thƣ viện lõi của ngôn ngữ lập trình Java. Tất cả các ứng dụng
Android đều chạy trong tiến trình riêng. Máy ảo Dalvik đã đƣợc viết để cho một thiết
bị có thể chạy nhiều máy ảo hiệu quả. Các VM Dalvik thực thi các tập tin thực thi
Dalvik (dex). Định dạng đƣợ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.1.3.5.
-

Linux kernel

Android dựa trên Linux phiên bản 2.6 cho hệ thống dịch vụ cốt lõi nhƣ security,
memory management, process management, network stack, and driver model. Kernel
Linux hoạt động nhƣ một lớp trừu tƣợng hóa giữa phần cứng và phần còn lại của
phần mềm stack.

2.1.4. Android Emulator
-

Không một thiết bị nào có thể giúp các nhà phát triển ứng dụng tạo ra những sản
phẩm của mình ngoài máy tính. Tất các các ứng dụng trƣớc khi đƣợc nhúng vào các
thiết bị chạy Android đều phải đƣợc lập trình và xử lý trên máy tính. Vấn đề ở đây là
việc liên tục chuyển đổi qua lại giữa PC và thiết bị Android tạo nên sự bất tiện và
kém linh hoạt. Nhất là việc kiểm tra ứng dụng có chạy tốt trên các phiên bản Android
hay không cần rất nhiều thiết bị cài đặt các phiên bản Android khác nhau. Nắm bắt
đƣợc điều đó, nhà khổng lồ Google đã cho ra mắt SDK Android Emulator nhƣ là một

GVHD : Thầy Trần Thanh Tuấn

Nhóm thực hiện : B1


Tìm hiểu về hệ điều hành Android


10

thƣ viên Android cho các chƣơng trình lập trình đồng thời kèm theo một máy ảo
Android. Bộ SDK này chạy đƣợc trên 3 hệ điều hành lớn hiện nay là Window,
MACOS,Linux. Để sử dụng Android Emulator, hệ thống của bạn yêu cầu đƣợc cài
đặt môi trƣờng hỗ trợ Java.
-

Hƣớng dẫn cài đặt:
o Bạn cần tải Android SDK từ Google về và chắc chắn chọn đúng phiên bản cho
máy tính của bạn. Sau khi tải về, bạn giải nén các tập tin nhƣ bình thƣờng. Bạn
chạy tập tin cài đặt SDK Setup.exe để bắt đầu chạy Android trên máy tính.
o Nếu bạn thấy thông báo lỗi SSL, hãy nhấp vào tab Settings bên trái trong cửa
sổ Android SDK and AVD Manager, tại đây bạn hủy dấu chọn trƣớc nội
dung Force https, click OK và mở lại các thiết lập.
o Một cửa sổ cài đặt xuất hiện. Nếu bạn là một nhà phát triển ứng dụng, bạn nên
cài trọn bộ. Nếu bạn chỉ mới bắt đầu tìm hiểu về Android bạn nên cài dặt
những gói cần thiết. bạn dựa vào thông số SDK Platform Android
your.version để xác định phiên bản Android tích hợp trong gói cài đặt.

Hình 2.1.4a : Lựa chọn các gói đi kèm khi cài đặt Android ảo hóa.
o Nếu bạn chỉ muốn làm việc với Android, bạn có thể chọn phiên bản mà mình
muốn, Một khi bạn đã sẵn sàng cho việc cài đặt, bạn sẽ thấy một cửa sổ hiển
thị các thông tin tải xuống và tiến độ cài đặt. Nó có thể mất vài phút, tùy thuộc
GVHD : Thầy Trần Thanh Tuấn

Nhóm thực hiện : B1


Tìm hiểu về hệ điều hành Android


11

vào tốc độ Internet của bạn. Ngoài ra, bạn sẽ thấy biểu tƣợng hiển thị một phần
việc tải Android về máy tính trên thanh tác vụ nhƣng không hiển thị tiến trình
tải.

Hình 2.1.4b :Quá trình tải phần mềm về máy ẩn
dƣới thanh tác vụ.
-

Thiết lập cho Android Emulator
o Sau khi tải về, bạn có thể thiết lập một môi trƣờng giả lập để kiểm tra ổ đĩa
Android trên máy tính. ChọnVirtual Devicestừ menu bên trái và sai đó nhấp
vào nút New ở bên phải.

Hình 2.1.4c : Cửa sổ thiết lập Android SDK and AVD Manager.
o Ở hộp thoại hiện ra, bạn có thể đặt tên cho ứng dụng ảo hóa Android này, chọn
phiên bản Android muốn thử nghiệm từ trình đơn thả xuống. Điều này sẽ chỉ
GVHD : Thầy Trần Thanh Tuấn

Nhóm thực hiện : B1


Tìm hiểu về hệ điều hành Android

12

hiển thị phiên bản cài đặt trƣớc đó, vì vậy bạn chỉ có thể nhìn thấy một phiên
bản đƣợc liệt kê phụ thuộc vào lựa chọn của mình.

o Mục SD Card, bạn hãy nhập kích thƣớc cho thẻ nhớ ảo đƣợc sử dụng nhƣ là
một tập tin ảnh đĩa IMG, Andorid sẽ sử dụng nó để lƣu trữ các thiết lập cũng
nhƣ tập tin mà bạn làm việc. Sau đó, chọn một kích thƣớc màn hình từ tùy
chọn Skin. Ngoài mặc định là tiêu chuẩn, thiết bị còn có những kích cỡ màn
hình hỗ trợ khác nhau, nhƣ kích cỡ của Nexus One hay mang cả phong cách
của BlackBerry.

Hình 2.1.4d : Lựa chọn chất lƣợng màn hình hiển thị trên
PC.
o Hoàn tất, bạn nhấn vào nút Create AVD để tiếp tục.
o Chƣơng trình có thể đóng băng trong khi nó đang tạo ra các AVD, do đó, chỉ
cần chờ cho đến khi bạn thấy cửa sổ xác nhận hiển thị thì nhấn OK để xác
nhận.
o Khi bạn đã sẵn sàng để chạy Android trên máy tính, hãy chọn tên tập tin
Android ảo dƣới cột AVD Namevà click chuột vào nút Start bên phải để kích
hoạt. Hơn nữa, bạn có thể chọn kích thƣớc màn hình hiển thị ở cửa sổ hiện ra
sao phù hợp màn hình sử dụng rồi nhấp vào nút Launch.

GVHD : Thầy Trần Thanh Tuấn

Nhóm thực hiện : B1


Tìm hiểu về hệ điều hành Android

13

o Quá trình tải, bạn sẽ thấy cửa sổ dòng lệnh xuất hiện cho đến khi xong bạn sẽ
thấy giao diện giả lập Android hiện ra. Lƣu ý rằng theo mặc định, màn hình
kích thƣớc lớn sẽ hiển thị một nút bấm và bàn phím ảo bên phải của thiết bị

mô phỏng. Quá trình này có thể mất một vài phút, đặc biệt là lần tải đầu tiên.
Sau một thời gian, màn hình khởi động sẽ chuyển sang một hình ảnh động xuất
hiện với logo Android.

Hình 2.1.4e : Giao diện giả lập của SDK Android Emulator.
o Cuối cùng, bạn sẽ nhận đƣợc hình ảnh màn hình chủ Android ngay trên SDK
Android Emulator, bạn sử dụng chuột nhƣ bình thƣờng nhƣng không thể nhấp
đôi chuột để mở các ứng dụng đƣợc.
o Bạn có thể mở các ứng dụng cài đặt sẵn từ trình đơn của SDK Android
Emulator nhƣng bạn không thể giả lập việc sử dụng một số tính năng, bao gồm
cả Android Marketplace.
o Bạn cũng có thể xem các trang web ƣa thích trong trình duyệt với cách thức
làm việc giống nhƣ nó làm việc trên một thiết bị Android. Lƣu ý rằng bạn có

GVHD : Thầy Trần Thanh Tuấn

Nhóm thực hiện : B1


Tìm hiểu về hệ điều hành Android

14

thể nhập văn bản bằng cách sử dụng trên bàn phím ảo ở màn hình hiển thị
trong giao diện giả lập hoặc với bàn phím mà bạn sử dụng. Do đây là một
chƣơng trình giả lập nên bạn có thể gặp một số sự cố trong quá trình nhập văn
bản. Bên cạnh đó, việc cài đặt các ứng dụng sẽ đƣợc trực tiếp cài đặt thông qua
các ứng dụng trực tuyến có sẵn.
o Giao diện trang chủ của Virtual cũng có thể đƣợc thay đổi hình nền cũng nhƣ
các ứng dụng hiển thị bằng cách click và giữ chúng trên màn hình. Bạn cũng

sẽ thấy biểu tƣợng khóa Lock Android trên máy ảo trong một vài phút.

Hình 2.1.4f : Biểu tƣợng khóa máy trên Android ảo.
o Nhìn chung trong quá trình sử dụng, bạn thấy gặp một vài sự cố xảy ra trong
quá trình thử nghiệm cũng nhƣ việc giả lập thấy xử lý chậm chạp.

GVHD : Thầy Trần Thanh Tuấn

Nhóm thực hiện : B1


Tìm hiểu về hệ điều hành Android

15

2.1.5. Các thành phần trong một Android Project
2.1.5.1.
-

AndroidManifest.xml

Trong bất kì một project Android nào khi tạo ra đều có một file
AndroidManifest.xml, file này đƣợc dùng để định nghĩa các screen sử dụng, các
permission cũng nhƣ các theme cho ứng dụng. Đồng thời nó cũng chứa thông tin
về phiên bản SDK cũng nhƣ main activity sẽ chạy đầu tiên. File này đƣợc tự động
sinh ra khi tạo một Android project. Trong file manifest bao giờ cũng có 3 thành phần
chính đó là: application, permission và version.

-


Dƣới đây là nội dung của một file AndroidManifest.xml

<?xml version "1.0" encoding "utf-8"?>
<manifest xmlns:android " />package "dtu.k12tpm.pbs.activity"
android:versionCode "1"
android:versionName "1.0">
<application android:icon "@drawable/icon" android:label "@string/app_name">
<activity android:name ".LoginActivity" android:label "@string/app_name">
<intent-filter>
<action android:name "android.intent.action.MAIN" />
<category android:name "android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name ".MainContactListActivity" />
<activity android:name ".RestoreContactActivity" />
</application>
<uses-sdk android:minSdkVersion "7" />
<uses-sdk android:minSdkVersion "7" />
<uses-permission android:name"android.permission.INTERNET"/>
<uses-permission android:name "android.permission.CALL_PHONE"/>
</manifest>

GVHD : Thầy Trần Thanh Tuấn

Nhóm thực hiện : B1


Tìm hiểu về hệ điều hành Android

16


APPLICATION
-

Thẻ <application>, bên trong thẻ này chứa các thuộc tính đƣợc định nghĩa cho ứng
dụng Android nhƣ:
o android:icon “drawable resource” Ở đây đặt đƣờng dẫn đến file icon của ứng
dụng khi cài đặt. VD: android:icon “@drawable/icon”.
o android:name = “string”  thuộc tính này để đặt tên cho ứng dụng
Android. Tên này sẽ đƣợc hiển thị lên màn hình sau khi cài đặt ứng dụng.
o android:theme “drawable theme” thuộc tính này để đặt theme cho ứng
dụng. Các theme là các cách để hiển thị giao diện ứng dụng.

-

Ngoài ra còn nhiều thuộc tính khác…
PERMISSION

-

Bao gồm các thuộc tính chỉ định quyền truy xuất và sử dụng tài nguyên của
ứng dụng. Khi cần sử dụng một loại tài nguyên nào đó thì trong file manifest của
ứng dụng cần phải khai báo các quyền truy xuất nhƣ sau:
<uses-permission android:name "android.permission.READ_PHONE_STATE"/>
<uses-permission android:name "android.permission.ACCOUNT_MANAGER"/>
<uses-permission android:name "android.permission.VIBRATE" />
<uses-permission android:name "android.permission.CALL_PHONE"/>

SDK VERSION
-


Thẻ xác định phiên bản SDK đƣợc khai báo nhƣ sau:
<uses-sdk android:minSdkVersion"7" />

-

Ở đây chỉ ra phiên bản SDK nhỏ nhất mà ứng dụng hiện đang sử dụng.

2.1.5.2.
-

File R.java

File R.java là một file tự động sinh ra ngay khi tạo ứng dụng, file này đƣợc sử dụng
để quản lý các thuộc tính đƣợc khai báo trong file XML của ứng dụng và các tài
nguyên hình ảnh.

-

Mã nguồn của file R.java đƣợc tự động tạo khi có bất kì một sự kiện nào xảy ra làm
thay đổi các thuộc tính trong ứng dụng. Chẳng hạn nhƣ, bạn kéo và thả một file hình
ảnh từ bên ngoài vào project thì ngay lập tức thuộc tính đƣờng dẫn đến file đó cũng sẽ

GVHD : Thầy Trần Thanh Tuấn

Nhóm thực hiện : B1


×