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

Nghiên cứu phát triển phần mềm nhúng cho các thiết bị cầm tay trên nền tảng 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.53 MB, 61 trang )

1

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ






NGUYỄN THỊ THU HIỀN






NGHIÊN CỨU PHÁT TRIỂN PHẦM MỀM NHÚNG
CHO CÁC THIẾT BỊ CẦM TAY TRÊN
NỀN TẢNG ANDROID






LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN










HÀ NỘI, 2013
2

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ






NGUYỄN THỊ THU HIỀN






NGHIÊN CỨU PHÁT TRIỂN PHẦM MỀM NHÚNG
CHO CÁC THIẾT BỊ CẦM TAY TRÊN
NỀN TẢNG ANDROID

Ngành: Công nghệ thông tin
Chuyên ngành: Công nghệ phần mềm
Mã số: 60.48.10




LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN



NGƯỜI HƯỚNG DẪN KHOA HỌC: TS. LÊ QUANG MINH




HÀ NỘI, 2013
3


MỤC LỤC

LỜI CAM ĐOAN Error! Bookmark not defined.
MỤC LỤC 3
DANH MỤC KÝ HIỆU VÀ CHỮ VIẾT TẮT 5
DANH MỤC HÌNH VẼ, ĐỒ THỊ 6
DANH MỤC BẢNG 7
MỞ ĐẦU 8
1.1.Nghiên cứu khảo sát bài toán 10
1.2. Phân tích bài toán 11
1.3. Hệ điều hành di động 11
1.3.1. Đặc điểm của hệ điều hành di động 11
1.3.2. So sánh hệ điều hành Android với các hệ điều hành iOS 12
1.3.3. Mã nguồn mở 13

2.1.Tổng quan về Android 14
2.1.1. Android là gì? 14
2.1.2. Lịch sử phát triển Android 14
2.1.3. Các phiên bản Android 15
2.2. Kiến trúc của hệ điều hành Android 20
2.2.1. Tầng Linux Kernel 21
2.2.2. Tầng Libraries + Android Runtime 21
2.2.3. Tầng Application Framework 23
2.2.4. Tầng Application 24
2.3. Hệ thống tập tin trên Android 25
2.4. Quá trình khởi tạo Android 26
2.5. Khả năng hỗ trợ phát triển ứng dụng 28
2.5.1. Yêu cầu về phần cứng 28
2.5.2. Android SDK 28
4

2.5.3. Java Development Kit (JDK) 30
2.5.4. Eclipse IDE 30
2.5.5. Android Emulator 30
CHƯƠNG 3: TÍCH HỢP ANDROID VỚI THIẾT BỊ
PHẦN CỨNG 32
3.1. Lựa chọn phần cứng 32
3.1.1. Chuẩn bị lựa chọn phần cứng 32
3.1.2. Lựa chọn thiết bị 36
3.2. Thiết lập môi trường phát triển 39
3.3. Quá trình tích hợp Android 40
CHƯƠNG 4: PHÁT TRIỂN PHẦN MỀM TRÊN
ANDROID 47
4.1. Cấu trúc của một ứng dụng 47
4.1.1. Activity 47

4.1.2. Service 49
4.1.3. Content Provider 50
4.1.4. Intent 51
4.1.5. Broadcast Receiver 51
4.1.6. Notification 51
4.2. Xây dựng ứng dụng 51
4.2.1. Mục tiêu của ứng dụng 51
4.2.2. Yêu cầu về chức năng 52
4.2.3. Mô hình Usecase 52
4.2.4. Biểu đồ tuần tự của hệ thống 53
4.2.5. Thiết kế các thành phần 54
4.2.4. Tính năng hỗ trợ tương tác 55
4.3. Kết quả phát triển và thử nghiệm 57
KẾT LUẬN 59
TÀI LIỆU THAM KHẢO 61
5


DANH MỤC KÝ HIỆU VÀ CHỮ VIẾT TẮT


Từ viết tắt
Diễn giải
API
Application Programming Interface
ARM
Acorn RISC Machine
CPU
Central Processing Unit
FLAC

Free Lossless Audio Codec
FOSS
Free and Open Source Software
GNU
Gnu not unix
GPS
Global Positioning System
GPU
graphics processing unit
HTML
HyperText Markup Language
IMAP
Internet Message Access Protocol
POP3
Post Office Protocol version 3
RISC
Reduced Instructions Set Computer
SDK
Software Development Kit
SGL
Scene Graph Library
SMTP
Simple Mail Transfer Protocol
SoC
System on Chip
SSL
Secure Sockets Layer
XHTML
Extensible HyperText Markup Language
6


DANH MỤC HÌNH VẼ, ĐỒ THỊ


Hình 2.1: Kiến trúc hệ điều hành Android
Hình 2.2: Kiến trúc tầng Linux Kernel
Hình 2.3: Kiến trúc tầng Libraries + Android Runtime
Hình 2.4: Kiến trúc tầng Application Framework
Hình 2.5: Kiến trúc tầng Applications
Hình 2.6: Quá trình khởi tạo Android từ nhân Linux
Hình 2.7: Cửa sổ thiết lập máy ảo
Hình 2.8: Giao diện Android Emulator
Hình 3.1: Cổng VGA
Hình 3.2: Cổng HDMI
Hình 3.3: Thủ tục hợp nhất nhân
Hình 4.1: Vòng đời của một ứng dụng
Hình 4.2: Hai cách gọi Service
Hình 4.3: Mô hình usecase
Hình 4.4: Biểu đồ tuần tự của hệ thống
Hình 4.5. Giao diện phần mềm NotesEX
Hình 4.6. Giao diện phần mềm NotesEX sau khi lưu ghi chú

7

DANH MỤC BẢNG


Bảng 1.1: So sánh hệ điều hành Android với hệ điều hành iOS
Bảng 2.1. Các phiên bản của Android
Bảng 2.2: Các kiểu file trên HĐH Android

Bảng 2.3: Quyền hạn trên file
Bảng 2.4: Android SDK
Bảng 2.5: Các gói thư viện SDK
Bảng 2.5: JDK yêu cầu không gian đĩa
Bảng 3.1: Mục tiêu sử dụng của từng đối tượng
Bảng 4.1: Kịch bản kiểm tra chức năng
8

MỞ ĐẦU

Trong những năm gần đây, với sự phát triển của nền kinh tế và tri thức, kèm
theo đó là sự phát triển về công nghệ đặc biệt là công nghệ số. Với hàng loạt các thiết
bị cảm ứng, máy tính bảng có thiết kế nhỏ gọn, nhiều chức năng. Cùng với nó là sự ra
đời của hệ điều hành mã nguồn mở, công nghệ, chuẩn kết nối, cho phép các nhà khoa
học có thể tùy ý lựa chọn và xây dựng các thiết bị cầm tay theo những chức năng khác
nhau như: điện thoại, máy tính bảng, máy chơi game, từ điển, thiết bị định vị,
Bên cạnh đó hệ thống nhúng cũng đang rất phát triển trong công nghệ thông tin
và truyền thông, ở đó các chức năng xử lý được ứng dụng cụ thể cho các thiết bị như
điện thoại di động, đồ điện tử cầm tay, các thiết bị máy tính,… Phần mềm cho hệ
thống nhúng hay gọi là phần mềm nhúng, là một lĩnh vực công nghệ chính của nhiều
quốc gia như Mỹ, Nhật Bản, Hàn Quốc, Ấn Độ, tại các quốc gia này đều có nhiều
chương trình hỗ trợ để phát triển công nghệ phần mềm nhúng. Và hiện tại Việt Nam
cũng là một trong những quốc gia cũng đang có các chương trình hỗ trợ. Ngày
22/9/2010, Thủ tướng chính phủ ký Quyết định số 1755/QĐ-TTg phê duyệt Đề án
“Đưa Việt Nam sớm trở thành nước mạnh về công nghệ thông tin và truyền thông”
(trong Đề án nước mạnh).
Trong các hệ nhúng thì hệ điều hành hay được sử dụng nhất hiện nay là
Embeded Linux, Win CE, DOS, Lynyos, Và mới đây, thì hệ thống nhúng và phần
mềm nhúng đang được kêu gọi phát triển trên hệ điều hành Android. Android là hệ
điều hành trên điện thoại di động (và hiện nay là cả trên một số đầu phát HD, TV, )

được phát triển bởi Google và dựa trên nền tảng Linux.
Đứng ở góc độ nghiên cứu và phát triển phần mềm nhúng cho các thiết bị cầm
tay. Android được lựa chọn bởi tính tương thích cao, hệ điều hành mở, miễn phí và có
khả năng cạnh tranh tốt với các hệ điều hành khác và không phụ thuộc vào duy nhất
một nhà sản xuất phần cứng nào. Hơn nữa, các nhà sản xuất thiết bị có thể mở rộng
hoặc thay đổi các tính năng của hệ điều hành để tạo ra sản phẩm riêng của mình.
Và trong những năm gần đây, các nhà công nghệ trong nước đã nhanh chóng
thành lập cộng đồng phát triển Android, nhằm giới thiệu về công nghệ và sản phẩm
liên quan đến Android. Với tiềm năng về thị trường tablet cùng với sự hỗ trợ của hệ
điều hành Android đã tạo ra cơ hội lớn cho các nhà sản xuất công nghệ. Và với lợi ích
và xu hướng công nghệ mới, thông qua đề tài “ Nghiên cứu phát triển phần mềm
nhúng cho các thiết bị cầm tay trên nền tảng Android”, tôi hướng tới việc đưa ra cách
tích hợp hệ điều hành Android cho phần cứng của nhiều nhà cung cấp thiết bị, cũng
như việc phát triển ứng dụng trên hệ điều hành này.
9

Như chúng ta đã biết, khi một nhà sản xuất khi tạo ra bất kỳ một sản phẩm đều
phải có một quy trình sản xuất ra thành phẩm. Trên thực tế đối với ngành công nghệ
thông tin nói riêng, ngoài sản phẩm về phầm mềm và phần cứng ra, còn có sản phẩm
nhúng. Sản phẩm nhúng dựa trên sự kết hợp của phần mềm và phần cứng, chúng được
ứng dụng, phát triển ngày một nhiều do nhu cầu và sự phát triển của thế giới này nay.
Và cũng giống như sản phẩm là phầm mềm và phần cứng, thì sản phẩm là hệ thống
nhúng cũng có một quy trình thành phẩm như sau [19] :
- Giai đoạn 1: Nghiên cứu – dựa vào các công cụ đánh giá có sẵn.
- Giai đoạn 2: Xác thực khái niệm – phân tích bài toán.
- Giai đoạn 3: Kiểm tra hệ thống phần mềm và phần cứng.
- Giai đoạn 4: Tích hợp hệ thống – emulator.
- Giai đoạn 5: Tạo mẫu.
- Giai đoạn 6: Thành phẩm .
Dựa trên quy trình đó, trong phạm vi của đề tài tôi xin trình bày những nội dung

chính như sau:
- Chương 1: Tổng quan về đề tài.
- Chương 2: Tìm hiểu hệ điều hành Android.
- Chương 3: Tích hợp Android với thiết bị phần cứng.
- Chương 4: Phát triển phần mềm trên Android.
Sau đây là nội dung trình bày chi tiết của Luận văn.
10

CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI

1.1.Nghiên cứu khảo sát bài toán
Với sự phát triển mạnh mẽ của thị trường thế giới số nhất là các thiết bị di động
máy tính thông minh, máy tính bảng trong thời gian gần đây, đã đem đến những trải
nghiệm mới mẻ cho người sử dụng.
Máy tính bảng với những ưu điểm về tính di động, có kết nối đa dạng, màn
hình cảm ứng, giải trí tiện lợi, phong phú về ứng dụng. Các nhà sản xuất có tên tuổi
cũng khuấy động phong trào bằng cách liên tục cho ra các sản phẩm để phục vụ người
tiêu dùng. Đặc biệt là các nhà sản xuất đã đưa ra sự lựa chọn mà được coi là chiếm ưu
thế nhất cho thị trường hiện nay là sử dụng hệ điều hành Android cho nó. Tuy nhiên
những máy tính bảng này vẫn đang có nhược điểm cơ bản là quá đa dụng và chưa
hướng tới đối tượng chuyên gia, học sinh, không phù hợp với đại đa số người học ở
Việt Nam là giá thành của chúng còn tương đối cao (khoảng 500USD), chính vì vậy
việc thiết kế, chọn lựa các chức năng cần thiết và cấu hình phù hợp, giá thành thấp để
phục vụ cho đối tượng người học là một đề tài cấp thiết và có ý nghĩa khoa học, thực
tiễn.
Hệ điều hành Android là một hệ điều hành mã nguồn mở, miễn phí và khả năng
tương thích cao. Là là một hệ điều hành mã nguồn mở di động kết hợp và xây dựng
dựa trên các phần của nhiều dự án mã nguồn mở khác nhau được phát triển bởi Google
và Open Hadset Alliance (Liên minh thiết bị cầm tay mã nguồn mở) [10]. Người sử
dụng có thể tùy chỉnh Android theo mình và có thể phát triển các phần mềm ứng dụng

dựa trên ngôn ngữ Java trên đó. Sự ra mắt của Android vào ngày 5 tháng 11 năm 2007
gắn với sự thành lập của 78 công ty liên minh phần cứng, phần mềm và viễn thông
nhằm mục đính tạo nên một chuẩn mở cho điện thoại di động trong tương lai. Trong
một số phiên bản của Android, máy tính bảng có thể sử dụng thay thế điện thoại di
động, và tiếp tục giảm chi phí cho người dùng. Android 3.x là hệ điều hành do công ty
Google phát triển cho các thiết bị cầm tay sẽ phù hợp với xu hướng phát triển các dịch
vụ cung cấp dữ liệu và phần mềm qua Internet.
Dựa vào lợi thế đó của hệ điều hành Android, mà thông qua đề tài “ Nghiên cứu
phát triển phần mềm nhúng cho các thiết bị cầm tay trên nền tảng Android”. Tôi
hướng tới việc người dùng cuối có thể làm chủ cả về công nghệ tích hợp hệ điều hành
Android cho phần cứng của nhiều nhà cung cấp thiết bị, cũng như việc phát triển các
phần mềm ứng dụng đáp ứng nhu cầu người sử dụng. Sở dĩ, phần mềm nhúng là phần
mềm do nhà sản xuất thiết bị cài sẵn vào sản phẩm và chúng được sử dụng ngay cùng
với đồ điện tử đó mà không cần có sự cài đặt của người thứ ba [19]. Tuy nhiên, phần
mềm ứng dụng chạy trên thiết bị cầm tay có hệ điều hành Android cũng được coi là
phần mềm nhúng. Vì trên thị trường hiện nay, cũng có khá nhiều bộ vi xử lý hỗ trợ
11

chạy trên hệ điều hành Android như bộ vi xử lý ARM, Qualcomm, telechip, nên phần
mềm ứng dụng có thể thông qua hệ điều hành để chạy trên thiết bị phần cứng.
1.2. Phân tích bài toán
Phần mềm ứng dụng nhúng hiện nay chủ yếu được thực hiện trên các dòng điện
thoại thông minh, các máy tính bảng, không chỉ là các hệ thống điều khiển thay thế
máy tính, mà nó còn là các ứng dụng mang tính chất hỗ trợ và giải trí cho người sử
dụng. Vì vậy trong đề tài chủ yếu là nghiên cứu cách tích hợp ứng dụng Android cho
thiết bị phần cứng và phát triển ứng dụng trên nền Android. Với tính năng nổi bật của
mình cộng với các phiên bản mới, từ phiên bản 3.0 trở đi đã được phát triển cho các
thiết bị cầm tay máy tính bảng sẽ phù hợp với xu hướng phát triển các phầm mềm qua
Internet và dịch vụ cung cấp dữ liệu.
Hiện nay sản phẩm nhúng rất đa dạng bởi nhiều công ty tham gia sản xuất và

chế tạo, nhưng hiện nay chip được cung cấp phần lớn dựa trên bộ vi xử lý ARM. Các
công ty sản xuất mua lõi vi xử lý của ARM sản xuất và phát triển để đưa vào tích hợp
chipset, nên có nhiều công ty khác nhau có thể dùng chung một loại vi xử lý. Đối với
ARM, do có đặc điểm tiết kiệm được năng lượng, tiêu tán công suất thấp nên nó được
coi là sản phẩm chiếm ưu thế trong các sản phẩm điện thoại di động. Vì vậy, trong
toàn bộ luận văn này, tôi sẽ trình bày nội dung nghiên cứu dựa trên vi xử lý ARM.
Do phần mềm nhúng chạy trên nền tảng Android, sẽ chạy trên phần cứng thông
qua hệ điều hành. Do vậy đề tài chủ yếu tập trung vào cơ chế tích hợp hệ điều hành
Android với phần cứng đề xuất và cách phát triển phần mềm nhúng trên hệ điều hành
Android.
- Với nội dung tích hợp hệ điều hành Android: được đưa ra thông qua việc
phân tích tìm hiểu và thiết lập cấu hình cho các bộ điều khiển phần cứng.
- Với nội dung phát triển phần mềm nhúng trên hệ điều hành Android: đưa ra
thông qua quy trình phát triển ứng dụng trên Android, phân tích thiết kế hệ
thống ứng dụng, xây dựng code, demo ứng dụng tạo ghi chú minh họa.
1.3. Hệ điều hành di động
1.3.1. Đặc điểm của hệ điều hành di động
Hệ điều hành là “một chương trình chạy trên máy tính, nó điều phối mọi hoạt
động về phần cứng và phần mềm trong máy tính”.
Hệ điều hành di động là “hệ điều hành chạy trên các thiết bị có tính di động
cao”. Với một số các đặc điểm đặc thù mà các hệ điều hành chạy trên máy tính thường
không có như:
- Tối ưu về bộ nhớ: Trong thiết bị di động thì hệ điều hành được cài đặt sẽ
ảnh hưởng nhiều đến dung lượng bộ nhớ, vì chúng thường có kích thước
nhỏ gọn để có thể sử dụng thuận lợi và chạy nhanh hơn.
12

- Tối ưu về điện năng: Với thiết bị di động thì việc tiêu thụ điện năng là điều
cũng đáng nói, với mức độ sử dụng có thể đạt mức tối đa của người sử dụng,
độ sáng tối của màn hình. Khi đó hệ điều hành cũng cần phải tối ưu hoạt

động của mình để tiết kiệm năng lượng một cách tối đa.
- Tính tương thích cao: Với khả năng thích nghi tích hợp với nhiều thiết bị
phần cứng của hệ điều hành không kén chọn, đó cũng là một trong những
tiêu chuẩn mà các nhà sản xuất quan tâm. Ngoài ra, nó còn phải hỗ trợ các
kết nối mạng tốt để đem lại năng suất cho người sử dụng.

1.3.2. So sánh hệ điều hành Android với các hệ điều hành iOS
Hệ điều hành Android và hệ điều hành iOS đều là hai hệ điều hành di động,
chiếm ưu thế sử dụng nhiều nhất trên thị trường điện thoại, smartphone, máy tính bảng
hiện nay. Hệ điều hành Android được phát triển chủ yếu được sử dụng trong hãng
Samsung, LG, còn hệ điều hành iOS được sử dụng chủ yếu trên các dòng điện thoại
của Apple, Nokia. Do đặc thù của từng loại hệ điều hành mà mỗi hãng có thể lựa chọn
để phù hợp với hãng sản suất của mình, dưới đây là bảng so sánh về một số đặc điểm
tính năng của hai hệ điều hành này.
Bảng 1.1: So sánh hệ điều hành Android với hệ điều hành iOS
Tính năng
Android
iOS
Nhân của HĐH
Linux 2.6
iOS
Kiến trúc phân tầng
Bao gồm 4 tầng
- Linux kernel
- Android Runtime and
Libraries
- Application Framework
- Applications
Bao gồm 4 tầng
- Core Services

- Graphics & Media
- Application Framework
- User Experience

Máy ảo

Không
Đa nhiệm
Có khả năng chạy đa nhiệm
nhiều ứng dụng một thời
điểm không phân biệt loại
ứng dụng
Phiên bản mới nhất hỗ trợ chạy
đa nhiệm nhưng hạn chế. Chỉ
cho phép chạy một số loại ứng
dụng
Xử lý đồ họa và âm
thanh
Sử dụng Media Framework
và OpenGL/ES nằm trong
tầng Libraries để xử lý
Sử dụng tầng Graphics & Media
để tập trung các tác vụ xử lý
13

1.3.3. Mã nguồn mở
Mã nguồn mở được biết tới dưới tên FOSS (Free and Open Source Software) là
“những phần mềm mà người dùng có thể sửa đổi, cải tiến, phát triển và nâng cấp theo
một số nguyên tắc chung đã được quy định từ trước” . Là thuật ngữ rất quen thuộc
với những người trong ngành Công nghệ thông tin, nhưng vẫn còn xa lạ với những ai

mới tìm hiểu về tin học. Với những người chú ý đến vần đề kinh phí thì phần mềm hay
hệ điều hành mã nguồn mở thì rất được họ quan tâm. Ngoài ưu điểm về giá thành sản
phẩm thì mã nguồn mở còn có rất nhiều điểm hấp dẫn khác nữa như:
-Chất lượng: Chất lượng luôn là điều mà chúng ta quan tâm. Khi một sản phẩm
phần mềm đưa ra nếu chỉ làm việc với một nhóm người sẽ không thể nào bằng một sản
phẩm được đưa ra với sự góp sức của rất nhiều người với những đóng góp hoàn thiện
về sản phẩm, sáng tạo về các tính năng nhiều hơn. Chính vì thế người phát triển phần
mềm cũng chính là người sử dụng nó, nên những sai phạm rất hiếm khi gặp phải.
- Bảo mật: Chính nhờ vào tính mở của nó mà với sản phẩm nguồn mở khi gặp
vấn đề về bảo mật sẽ được nhiều người chung tay vào làm sẽ sớm được phát hiện và
sửa chữa nhanh hơn.
- Tính tùy biến: tùy biến nguồn dữ liệu trong mã nguồn mở rất đa dạng. Người
sử dụng có thể tùy chỉnh lại các đoạn mã lại cho phù hợp với sản phẩm của riêng mình
dựa trên các đoạn mã công khai. Như với hệ điều hành Android đã và đang sử dụng rất
nhiều trên thiết bị cầm tay nhờ tính mở của hệ điều hành này mà người sử dụng, các
doanh nghiệp có thể tinh chỉnh và biến nó thành sản phẩm của mình.
- Chi phí: Ngoài chất lượng và bảo mật ra thì chi phí cũng được đặt lên hàng
đầu. Người sử dụng có thể trả rất nhiều tiền để có một phần mềm tiện ích, nhưng nếu
sử dụng một sản phẩm mã nguồn mở như vậy thì họ sẽ tiết kiệm được tiền nhiều hơn.
Trên đây là một số các điểm hấp dẫn của mã nguồn mở đem tới khiến người sử
dụng và các nhà sản xuất khó có thể từ chối các sản phẩm mã nguồn mở . Và tiếp theo
chương 2 của luận văn là phần trình bày tổng quan về hệ điều hành sử dụng mã nguồn
mở Android.
14

CHƯƠNG 2: TÌM HIỀU HỆ ĐIỀU HÀNH ANDROID

Trước khi đi tìm hiểu về nội dung chính của luận văn về cách tích hợp hệ điều
hành Android và triển khai một sản phẩm nhúng như thế nào, trong chương này đưa ra
một số mô tả tổng quan hệ điều hành Android, lịch sử phát triển, các phiên bản, kiến

trúc cũng như hệ thống file trên Android.
2.1.Tổng quan về Android
2.1.1. Android là gì?
Android là một hệ điều hành mã nguồn mở di động kết hợp và xây dựng dựa
trên các phần của nhiều dự án mã nguồn mở khác nhau được phát triển bởi Google và
Open Hadset Alliance (Liên minh thiết bị cầm tay mã nguồn mở) [10] .
Nền tảng chính của Android là Java, nó sử dụng thư viện Java và các ứng dụng
được viết mã theo ngôn ngữ lập trình C, C++, Java. Nó là ứng dụng duy nhất có hơn
700.000 ứng dụng và có nhiều các ứng dụng hơn nữa được đưa ra hàng ngày, được sử
dụng trong các thiết bị điện tử, điện thoại thông minh, máy tính bảng, ipad, đồng hồ,
tivi, đầu kỹ thuật số …
2.1.2. Lịch sử phát triển Android
Ban đầu, Android được phát triển bởi công ty liên hợp Android sau đó được
Google mua lại vào tháng 7 năm 2005. Những thành viên của Android chuyển sang
làm việc tại Google gồm có Andy Rubin, Rich Miner, Nick Sears và Chris White. Tại
Google họ đã bắt đầu phát triển nền tảng thiết bị di động dựa trên hạt nhân Linux với
hệ thống mềm dẻo, linh động và có khả năng nâng cấp mở rộng cao. Các nhà phát
triển viết ứng dụng Android dựa trên ngôn ngữ Java. Vào ngày 5 tháng 11 năm 2007
sự ra mắt của Android gắn với thành lập của Open Hadset Alliance bao gồm 78 công
ty phần cứng, phần mềm và viễn thông với mục đích phát triển các tiêu chuẩn mở cho
thiết bị di động [10, 27] .
Ngày 9 tháng 12 năm 2008, thêm 14 thành viên mới tham gia vào dự án
Android được công bố. Gồm có ARM Holdings, Atheros Communications, Asustek
Computer Inc, Garmin Ltd, Softbank, Sony Ericsson, Toshiba Corp, và Vodafone
Group Plc.
Đến tháng 10 năm 2008, Android đã bắt đầu lưu hành mã nguồn mở. Google đã
công bố hầu hết các mã nguồn của Android theo bản cấp giấy phép của Apache. Các
nhà cung cấp có thể mở rộng thương mại mà không cần chuyển thành mã nguồn mở.
Điểm đặc biệt của ứng dụng Android chính là các phiên bản của nó, các phiên
bản này được tạo ra theo thứ tự chữ cái và đều được đặt theo một món tráng miệng nào

15

đó. Mỗi phiên bản có phiên bản phụ và được phát hành định kỳ, các phiên bản phụ
được phát hành theo các tháng khác nhau trong cùng một năm. Phiên bản đầu tiên
được phát hành vào tháng 11 năm 2007 và sau đó có nhiều bản cập nhật đã được thực
hiện từ hệ điều hành gốc của nó, từng lỗi sửa cập nhật và bổ sung các tính năng mới
tới các phiên bản trước.
2.1.3. Các phiên bản Android
Qua lịch sử phát triển với nhiều nấc phát triển khác nhau của Android, hệ điều
hành này đã càng ngày càng đưa ra được các phiên bản mới phù hợp với thị trường
tiêu dùng nhờ vào các tính năng nổi bật của nó. Bảng 2.1dưới đây sẽ mô tả cho chúng
ta thấy được các cột mốc phát triển của hệ điều hành này, từ khi thành lập tới giờ [10].
Bảng 2.1. Các phiên bản của Android
Phiên bản
Ngày tháng phát hành và các tính năng
Beta
Ngày 12 tháng 11 năm 2007, phát hành gói phát triển phần
mềm Android SDK.
Android 1.0
Ngày 23 tháng 9 năm 2003 phát hành phiên bản 1.0 dựa trên
nhân Linux 2.6 với những tính năng:
 Trình duyệt web cho phép xem các trang viết bằng
ngôn ngữ HTML, XHTML, nhiều trang trình bày như
các cửa sổ, hỗ trợ POP3, IMAP và SMTP
 Cho phép tải về và cập nhật từ Android Market
 Hỗ trợ đa nhiệm, nhắn tin tức thời, GPS, kết nối Wi-Fi
và bluetooth.
 Hỗ trợ Camera nhưng thiếu thay đổi độ phân giải của
máy ảnh, chất lượng, cân bằng trắng
 Thông báo cảnh báo trong thanh trạng thái option với

nhạc chuông cảnh báo, hoặc bằng LED
 Đồng bộ hóa Google thành nhiều ứng dụng
 Hỗ trợ Google Maps với tính năng Latitude (Street
View cũng như trong các hình ảnh vệ tinh), hướng dẫn
lái xe sử dụng GPS
 Voice Dialer cho phép quay số và đặt các cuộc gọi điện
thoại mà không cần gõ tên hoặc số
 Một số các ứng dụng khác bao gồm: Đồng hồ báo
thức, Máy tính, màn hình chính, hình ảnh và các cài
đặt tùy chọn
Android 1.1
Phát hành ngày 9 tháng 2 năm 2009, bản cập nhật này đã
được phát đưa ra cho T-Mobile G1. Bản cập nhật giải quyết
lỗi, thay đổi các API và bổ sung thêm một số tính năng khác:
16

 Các chi tiết và đánh giá có sẵn khi người dùng tìm
kiếm các công ty trên bản đồ.
 Trong cuộc gọi màn hình chờ mặc định khi sử dụng loa
ngoài, cộng với khả năng để hiện / ẩn bàn phím.
 Hỗ trợ khả năng lưu các file đính kèm trong các tin
nhắn.
Android 1.5
(Cupcake)

Phát hành bản cập nhật 1.5 (Cupcake- Bánh bông lan) dựa
trên nhân Linux 2.6.27 vào ngày 30 tháng 4 năm 2009.
 Hỗ trợ hộp tìm kiếm.
 Có thể chuyển đổi giữa máy ảnh và chế độ video, ghi
âm video và phát lại ở định dạng MPEG4 và định dạng

3GP
 Máy ảnh khởi động và chụp ảnh, tích hợp thư viện ảnh
nhanh hơn.
 Thu nhận tín hiệu GPS nhanh
 Hỗ trợ tải video trực tiếp lên youtube và Picassa
Android 1.6 (Donut)

Android 1.6 (Donut- bánh rán vòng) phát hành ngày 15 tháng
9 năm 2009 dựa trên nhân Linux 2.6.29
 Hỗ trợ bàn phím ảo trên màn hình
 Hỗ trợ tìm kiếm nhanh và tìm kiếm bằng giọng nói.
 Hỗ trợ độ phân giải màn hình WVGA
 Sao chép / Dán và tìm kiếm trong trình duyệt
 Người sử dụng có thể chọn nhiều ảnh để xóa
 Pin sử dụng chỉ số
 Cập nhật công nghệ hỗ trợ cho CDMA / EVDO,
802.1x, VPN, và hỗ trợ chuyển văn bản thành lời thoại.
Android 2.0 (Eclair)





Ngày 26 tháng 10 năm 2009 phiên bản Android 2.0 (Eclair –
bánh kẹp kem) được phát hành với các cập nhật gồm
 Nhiều tài khoản email và đồng bộ danh bạ
 Camera được cải thiện bao gồm hỗ trợ đèn flash và
zoom kỹ thuật số, cân bằng trắng, hiệu ứng màu sắc
 Bàn phím cải tiến: thích ứng với từ điển
 Hỗ trợ Bluetooth 2.1

 Trình duyệt giao diện người dùng mới và hỗ trợ
HTML5
 Cải tiến bản đồ Google Maps 3.1.2.
 Thêm lớp MotionEvent để theo dõi các sự kiện cảm
ứng đa điểm
Android 2.0.1 được đưa ra vào ngày 3 tháng 12 năm 2009 với
17



 Thay đổi nhỏ về API
 Sửa lỗi và thay đổi hành vi nền tảng
Android 2.1 (Eclair) được phát hành vào 12 tháng 1 năm 2010
với việc tu chỉnh lại lỗi và API
Android 2.2 (Froyo)

Ngày 20 tháng 5 năm 2010, android 2.2 (Froyo – Yaourt
đông) được phát hành với các thay đổi gồm:
 Nhiều tài khoản người dùng
 Tối ưu hóa hệ điều hành về tốc độ, bộ nhớ, và hiệu
năng
 Android market tự động cập nhật và cài đặt các ứng
dụng vào thẻ SD
 Bổ sung mẹo sử dụng widget cho màn hình
 Hỗ trợ cho dịch vụ Android Cloud to Device
Messaging (C2DM)
 Hỗ trợ đăng tải tập tin trong trình duyệt
 Tăng cường hỗ trợ Microsoft Exchange
 Hỗ trợ đầu nối USB và hỗ trợ Hotspot, quay số bằng
giọng nói và chia sẻ liên lạc qua Bluetooth

 Hỗ trợ Adobe Flash 10.1
Android 2.3
(Gingerbread)

Ngày 6 tháng 12 năm 2010, phiên bản 2.3 (Gingerbread- bánh
gừng) được phát hành với các tính năng sửa đổi và cập nhật:
 Hỗ trợ cảm biến nhiểu hơn
 Giao diện người dùng được cải tiến cho đơn giản và
tốc độ truy cập nhanh hơn
 Bàn phím mới hỗ trợ nhập văn bản nhanh hơn
 Cải thiện tính năng sao chép / dán
 Near Field Communication (NFC), cải tiến quản lý
điện năng
 New Download Manager, Internet Calling
 Hiệu ứng âm thanh được cân bằng…
 Hỗ trợ cho phát lại video WebM/VP8, và mã hóa âm
thanh AAC

Tiếp đó là các phiên bản phụ được hỗ trợ cho Android 2.3 với
các cập nhật:
Android 2.3.3:
 Bao gồm một số cải tiến và sửa lỗi API
Android 2.3.4
 Hỗ trợ cho chat bằng giọng nói hoặc video bằng cách
18

sử dụng Google Talk
Android 2.3.5
 Cải thiện hiệu suất mạng cho Nexus S 4G
 Cố định lỗi Bluetooth trên Samsung Galaxy S

 Làm bóng hình ảnh động cho việc di chuyển danh sách
 Phần mềm Camera cải tiến
 Cải thiện pin hiệu quả
Android 2.3.6
 Cố định lỗi tìm kiếm bằng giọng nói
Android 2.3.7
 Giới thiệu Google Wallet hỗ trợ cho Nexus S 4G
Android 3.0
(Honeycomb)

Ngày 22 tháng 2 năm 2011 Android 3.0 (Honeycomb- tổ ong)
được phát hành dựa trên nhân Linux 2.6.36 dành cho
tablet.Với các tính năng mới:
 Cụ thể tối ưu hóa cho máy tính bảng và các thiết bị với
kích thước màn hình lớn hơn
 Phần cứng được tăng tốc
 Hỗ trợ bộ vi xử lý đa lõi, khả năng mã hóa được tất cả
dữ liệu người dùng
 Tinh chế đa nhiệm, thông báo phong phú, màn hình
chủ tùy biến và thiết kế lại bàn phím
 Hỗ trợ video chat
 Nhiều tab trình duyệt
 Hỗ trợ giao thức vận chuyển Media / Picture
 Khả năng xem album và các bộ sưu tập ở chế độ toàn
màn hình khác
Android 3.1

 Giao diện người dùng cải tiến
 Kết nối phụ kiện USB
 Mở rộng danh sách Recent Apps

 Thay đổi kích thước các widget màn hình
 Hỗ trợ bàn phím ngoài và các thiết bị bên ngoài,
gamepads, phát lại âm thanh FLAC
Android 3.2

Đây là bản cập nhật đầu tiên xuất hiện trên máy tính bảng
vàongày 18 tháng 7 năm 2011 MediaPad của Huawei. Bao
gồm các thay đổi:
 Cải thiện hỗ trợ phần cứng
 Tăng khả năng ứng dụng để truy cập các tập tin trên
thẻ SD
 Khả năng tương thích hiển thị chế độ cho các ứng dụng
19


Android 3.2.1
 Có một vài sửa lỗi và an ninh
 Tính ổn định và cải tiến Wi-Fi
 Cập nhật Android Market với bản cập nhật tự động và
sách Google
 Hỗ trợ Adobe Flash và dự đoán chữ viết tay của Trung
Quốc
Android 3.2.2
Bao gồm sửa lỗi và cải tiến nhỏ khác cho Motorola Xoom
4G
Android 4.0
(Ice-dream
Sandwich)

Android 4.0 được ra mắt vào ngày 19/10/2011 với chiếc

Galaxy Nexus, với một số cập nhật:
 Tăng tốc độ và hiệu suất
 Android Beam sử dụng công nghệ kết nối trường gần
NFC ( có thể chia sẻ thông tin khi 2 máy điện thoại áp
sát vào nhau)
 Hỗ trợ nút ảo (virtual) trong giao diện người dùng
 Dễ dàng tạo thư mục với bằng cách kéo thả
 Hỗ trợ chức năng Pinch-to-zoom trong lịch
 Hỗ trợ tìm kiếm Offline
 Khả năng xoay sang trái hoặc sang phải để chuyển
giữa các cuộc hội thoại Gmail, tự động đồng bộ hóa
trình duyệt với bookmark Chrome của người dùng
 Tích hợp được vừa chụp ảnh, vừa chụp màn hình
 Cải thiện sửa lỗi trên bàn phím
 Khả năng truy cập các ứng dụng trực tiếp từ màn hình
khóa
 Sử dụng nhập liệu bằng giọng nói
 Cải thiện chức năng sao chép và dán
 Hỗ trợ tính năng mới cho phép người dùng để mở khóa
điện thoại di động bằng cách sử dụng phần mềm nhận
dạng khuôn mặt FaceUnlock
 Trình duyệt web theo tab(thẻ) (cho phép lên đến 16
tab)
 Hỗ trợ font chữ Roboto
 Sử dụng các dữ liệu trong phần mềm cài đặt cho phép
thiết lập cảnh báo người dùng khi họ tiếp cận một giới
hạn sử dụng nhất định, và vô hiệu hóa dữ liệu sử dụng
khi vượt quá giới hạn
20


 Khả năng tắt các ứng dụng đang sử dụng bộ nhớ trong
 Cải thiện ứng dụng camera với phần cài đặt thời gian,
chế độ toàn cảnh, khả năng phóng to trong khi ghi âm,
ghi âm video 1080p các thiết bị Android cơ bản
 Bố trí thư viện mới, được tổ chức theo vị trí và con
người

Android 4.0.2
 Cố định lỗi nhỏ trên Verizon Galaxy Nexus

Android 4.0.3
 Sửa lỗi và tối ưu hóa
 Cải tiến đồ họa, cơ sở dữ liệu, kiểm tra chính tả, chức
năng Bluetooth
 Xem lịch được cải tiến, ứng dụng máy ảnh mới tăng
cường video ổn định và độ phân giải QVGA
 Khả năng tiếp cận cải tiến như truy cập nội dung cho
trình đọc màn hình được cải thiện
Android 4.1
(Jelly Bean)

Được phát hành vào ngày 9 tháng 7 năm 2012 với các tính
năng
 Tính năng tìm kiếm Google Now (một loại dịch vụ
thống nhất, chứa đựng tất cả những gì mà người dùng
muốn biết với cái mà người dùng sử dụng rồi tổng hợp
lại) mới
 Ứng dụng camera mới sử dụng chức năng bằng cách
lướt ngón tay
 Thanh thông báo có nhiều tính năng mới

Và trong thống kê của Google về số người sử dụng Android trong tháng 4/2013
vừa rồi thì thiết bị chạy Android Jelly Bean chiếm tới 26.1%, thiết bị chạy Android 4.0
Ice Cream Sandwich chiếm 27.5% và Android 2.3. Gingerbread là 38.4%.
2.2. Kiến trúc của hệ điều hành Android
Để có được những phát triển vượt bậc trong từng phiên bản của mình, chính là
nhờ Android có một nền tảng kiến trúc 4 tầng chính Linux Kernel, Libraries + Android
Runtime, Application Framework, Applications với cách phân cấp chức năng rõ ràng
rất giống với một kiến trúc máy tính nói chung. Tất cả các thành phần chính của nền
tảng kiến trúc máy tính đều tồn tại trong Android. Sau đây hình 2.1 sẽ mô tả về các
thành phần trong kiến trúc Android, mỗi phần được mô tả chi tiết hơn theo một
phương pháp tiếp cận từ dưới lên, có nghĩa là nó sẽ bắt đầu với lớp thấp nhất trong
ngăn xếp và làm việc lên đến những cấp độ cao hơn [3].
21


Hình 2.1. Kiến trúc hệ điều hành Android
2.2.1. Tầng Linux Kernel
Android sử dụng nhân Linux 2.6 đã được sửa đổi để xử lý tất cả các chức năng
như các nền tảng kết nối mạng, quản lý bộ nhớ và tiến trình, bảo mật,… cũng như các
thiết bị phần cứng [3].
Tầng Linux Kernel là nhân của hệ điều hành Android, các xử lý của hệ thống
đều phải thông qua nó. Tầng này cung cấp các thiết bị phần cứng như hình 2.2:
Display, Bluetooth, Cemera, USB, WiFi, Power Management, Audio, Keypad, …

Hình 2.2. Kiến trúc tầng Linux Kernel
2.2.2. Tầng Libraries + Android Runtime
2.2.2.1. Libraries
Hệ điều hành Android bao gồm một tập các thư viện C/C++ được sử dụng bởi
nhiều thành phần khác nhau của hệ thống Android, những tính năng này cung cấp cho
22


các nhà lập trình thông qua bộ framework của Android. Sau đây là một số thư viện cốt
lõi trong Android [3].

Hình 2.3. Kiến trúc tầng Libraries + Android Runtime
+ LibC: một thể hiện được xây dựng từ BSD (Berkeley Software Distribution)
của hệ thống thư viện C chuẩn, được điều chỉnh để tối ưu hóa cho các thiết bị chạy
trên nền Linux.
+ Media library: thư viện dựa trên mã nguồn mở PacketVideo, phổ biến hỗ trợ
phát lại và ghi âm trên audio và định dạng video, cũng như các file ảnh tĩnh như
MPEG4, H.264, MP3, AAC, AMR, JPG, PNG.
+ Surface Manager: quản lý hiển thị truy cập tới các hệ thống con và kết hợp đồ
họa 2D và 3D từ nhiều ứng dụng.
+ Webkit engine: Cung cấp thư viện của trình duyệt web.
+ SGL: thư viện đồ họa 2D cơ bản.
+ 3D Libraries: được thực hiện dựa trên OpenGL ES 1.0 APIs; thư viện sử
dụng các tăng tốc 3D bằng phần cứng và phần mềm để tối ưu hóa hiển thị 3D.
+ FreeType: cung cấp các font chữ vector, phông chữ bitmap cho các ký tự và
hỗ trợ các hoạt động liên quan đến dựng hình font chữ khác.
+ SQLite: Cơ sở dữ liệu nhỏ và mạnh có sẵn cho tất cả các ứng dụng.
2.2.2.2. Android Runtime
Android Runtime bao gồm Dalvik Virtual Machine (Dalvik VM) và thư viện
cốt lõi Java phát triển bởi Google, đây là những thành phần chính trong ngăn xếp phần
mềm của Android.
a. Dalvik VM
Dalvik là máy ảo giúp các ứng dụng java có thể chạy được trên các thiết bị di
động thuộc hệ điều hành Andoid, nó chạy các ứng dụng đã được chuyển đổi thành một
file thực thi Dalvik (dex).
Dalvik Virtual Machine được thiết kế để chạy trên phần cứng, tại đó nó cho
phép thể hiện về tuổi thọ pin, CPU, bộ nhớ và lưu trữ dữ liệu. Dalvik VM là một máy

23

ảo dựa trên thanh ghi (so với Java VM được dựa trên ngăn xếp) nên nó cần một số các
chỉ thị nhỏ để biểu diễn các mã cao cấp.
Dalvik VM chạy các file .dex được tạo ra từ các file .class hoặc .jar bằng cách
sử dụng một công cụ có tên dx . Khi chuyển đổi từ file .class (hoặc .jar) sang file .dex,
công cụ dx nhúng các file .class vào một file .dex duy nhất, bản sao các chuỗi và các
hằng số khác được gộp vào và được tham chiếu toàn cục để tiết kiệm không gian và
bytecode của Java được chuyển đổi thành một tập lệnh thay thế.
Hơn thế nữa, khi một ứng dụng được cài đặt trên thiết bị, việc tối ưu hóa được
thực hiện như thứ tự byte trao đổi liên kết tĩnh, inline các phương thức có nguồn gốc
đặc biệt, xóa bỏ các phương thức rỗng và rút ngắn gọn các đối tượng class. Ngoài ra,
Dalvik VM được thiết kế cho nhiều trường hợp đang chạy trên cùng một thiết bị tại
cùng một thời điểm một cách hiệu quả.
b. Core Libraries
Các thư viện Java cốt lõi cung cấp các cấu trúc dữ liệu phổ biến và các thuật
toán tìm thấy trong tiện ích thư viện. Chúng bao gồm các chức năng I/O, các tiện ích,
các container, …
2.2.3. Tầng Application Framework
Application Framework (hình 2.4) là một tập hợp các thư viện Java cung cấp
các khối lệnh cho các ứng dụng nhanh chóng và dễ dàng phát triển trên nền tảng
Android. Các nhà phát triển có thể tận dụng các thiết bị phần cứng, các dịch vụ, các
điểm truy cập, chỉ bằng cách gọi API có sẵn mà Google đã viết để sử dụng các tính
năng của phần cứng mà không cần hiểu cấu trúc bên dưới. Bất kỳ một ứng dụng nào
đó đều công khai các tính năng của nó và đặc biệt chúng có thể tái sử dụng các tính
năng của nhau[3].

Hình 2.4. Kiến trúc tầng Application Framework
Tầng Application Framework cung cấp một loạt các dịch vụ như:
a. Activity Manager: Quản lý vòng đời của ứng dụng cũng như cung cấp công cụ

điều khiển Activity. Bên trong hệ thống các Activity được quản lý như một
Activity stack. Khi một Activity được bắt đầu, nó được đặt ở đỉnh của stack và
trở thành Activity đang chạy, Activity trước sẽ ở bên dưới activity mới và sẽ
không thấy trong suốt quá trình activity mới tồn tại.
24

b. Package Manager: dùng để nạp các file ứng dụng đuôi .apk.
c. Window Manager: quản lý việc xây dựng và hiển thị các giao diện người dùng,
tổ chức quản lý giao diện giữa các ứng dụng.
d. Content Manager: Cho phép các ứng dụng có thể truy cập dữ liệu từ các ứng
dụng khác hoặc để chia sẻ dữ liệu của riêng ứng dụng.
e. Resource: dùng để xử lý tài nguyên media như các asset, graphic, image, music,
video…
f. View System: Cung cấp các đối tượng layout, view, widget cho ứng dụng.
g. Telephony Manager: Cung cấp công cụ để thực hiện liên lạc như gọi điện thoại.
h. Location Manager: Cho phép xác định vị trí dựa vào hệ thống định vị toàn cầu
GPS và Google Maps.
i. Sensor Manager: Quản lý đến cảm biến của thiết bị.
j. Notification Manager: Quản lý hiển thị các thông báo như tin nhắn, có email
mới, …
2.2.4. Tầng Application
Tầng Appplication (hình 2.5) trên cùng sẽ là môi trường tương tác giữa người
dùng và thiết bị. Android được tích hợp sẵn một số ứng dụng cần thiết cơ bản, tất cả
các ứng dụng này chạy trên hệ điều hành Android đều được viết bằng Java sau đó biên
dịch và chuyển thành .dex. Các ứng dụng mặc định thường gồm:
- Home: màn hình chính.
- Contacts: ứng dụng danh bạ điện thoại.
- Browser: trình duyệt web.
- Camera: ứng dụng chụp ảnh.
- Alarm: ứng dụng báo thức.

- Email: ứng dụng thư điện tử.
- Album photo: Ứng dụng bộ sưu tập hình ảnh.
- Ứng dụng SMS/MMS.
- Map: ứng dụng bản đồ.

Hình 2.5. Kiến trúc tầng Applications
25

2.3. Hệ thống tập tin trên Android
Hệ điều hành Android được phát triển từ nhân Linux nên hệ thống các file trong
Android giống hệ thống file trên Linux cả về cách tổ chức và quyền hạn của người sử
dụng lên file… Trong hệ điều hành Android, các file được tổ chức theo mô hình phân
cấp thành các thư mục. Câu lệnh thao tác file cho phép dịch chuyển và sao chép toàn
bộ thư mục cùng với các thư mục con chứa trong nó. Nên một file thường được viết
bằng tên và đường dẫn chứa nó [10].
Đối với hệ điều hành Android thì việc quản lý và chuyển đổi dữ liệu môt cách
dễ dàng nhờ vào việc tất cả các file trong nó đều có cấu trúc vật lý chung là byte
stream. Cho phép Android áp dụng khái niệm file cho mọi thành phần dữ liệu trong hệ
thống, thư mục cũng như các thiết bị đều được xem như file. Một thư mục chứa các
thông tin về thư mục được tổ chức theo một định dạng đặc biệt.
Chính từ việc Android coi thư mục cũng là file không giống như hệ điều hành
Window, nên nó được coi là một loại file đặc biệt. Ngoài ra còn có các thành phần
khác cũng được xem như file, chúng được phân biệt dựa trên kiểu file có thể liệt kê
theo bảng 2.2 sau:
Bảng 2.2: Các kiểu file trên HĐH Android
Chữ cái biểu diễn
Kiểu file
d
Directory (thư mục)
b

Block-type special file (File kiểu khối)
c
Character-type special file (File kiểu ký tự)
l
Symbolic link (liên kết tượng trưng)
p
Pipe (File đường ống)
s
Socket
-
Regular file (File bình thường )
Để tổ chức quyền hạn trên file trong Android cần quan tâm đến sự liên kết của
chúng với người sự dụng, đó là một tập hợp các quyền hạn như quyền cho phép đọc
(read – viết tắt r), quyền cho phép ghi (write – viết tắt w) và quyền cho phép thực thi
(execute – viết tắt x).
Một file sẽ có những quyền hạn tương ứng với 9 ký tự theo bảng 2.3 sau:
Bảng 2.3: Quyền hạn trên file
Quyền của chủ sở hữu file
(Owner)
Quyền của nhóm tài khoản
sở hữu file (Owner group)
Quyền của những người
không thuộc nhóm sở hữu
file (Other)
r/-
w/-
x/-
r/-
w/-
x/-

r/-
w/-
x/-

×