際際滷

際際滷Share a Scribd company logo
1.1 Gi畛i thi畛u h畛 i畛u hnh Android
Android: l h畛 i畛u hnh tr棚n thi畉t b畛 di 畛ng (mobile, tablet v hi畛n nay l c畉 tr棚n c叩c thi畉t b畛 ph叩t
HD, PC) ph叩t tri畛n b畛i Google v d畛a tr棚n n畛n t畉ng Linux. Tr動畛c 但y, Android 動畛c ph叩t tri畛n b畛i c担ng
ty li棚n h畛p Android (sau 坦 動畛c Google mua l畉i vo nm 2005). Thi畉t b畛 di 畛ng s畛 d畛ng Android b叩n
動畛c t畉i M畛 trong qu箪 II nm 2010 x畉p v畛 tr鱈 畉u ti棚n v畛i 33%, th畛 2 l BB OS v畛i 28 % v v畛i IOS 畛 v畛
tr鱈 th畛 3 v畛i 22 %. Android c坦 m畛t c畛ng 畛ng nh畛ng nh ph叩t tri畛n r畉t l畛n vi畉t c叩c 畛ng d畛ng cho h畛 i畛u
hnh c畛a m狸nh. Hi畛n t畉i c坦 kho畉ng 70.000 畛ng d畛ng Android v vo kho畉ng 100.000 畛ng d畛ng 達 動畛c
畛 tr狸nh, i畛u ny khi畉n Android tr畛 thnh h畛 i畛u hnh di 畛ng c坦 m担i tr動畛ng ph叩t tri畛n l畛n th畛 2. C叩c
nh ph叩t tri畛n vi畉t 畛ng d畛ng cho Android d畛a tr棚n ng担n ng畛 Java. S畛 ra m畉t c畛a Android vo ngy 5
th叩ng 11 nm 2007 g畉n v畛i s畛 thnh l畉p c畛a li棚n minh thi畉t b畛 c畉m tay m達 ngu畛n m畛, bao g畛m 78 c担ng
ty ph畉n c畛ng, ph畉n m畛m v vi畛n th担ng nh畉m m畛c 鱈ch t畉o n棚n m畛t chu畉n m畛 cho i畛n tho畉i di 畛ng
trong t動董ng lai. Google c担ng b畛 h畉u h畉t c叩c m達 ngu畛n c畛a Android theo b畉n c畉p ph辿p Apache. H畛 i畛u
hnh Android bao g畛m 12 tri畛u d嘆ng m達; 3 tri畛u d嘆ng XML, 2.8 tri畛u d嘆ng m達 C, 2.1 tri畛u m達 Java v
1.75 tri畛u d嘆ng m達 C ++.
.
1.2 Ki畉n tr炭c h畛 i畛u hnh Android
H畛 i畛u hnh Android c坦 4 t畉ng t畛 d動畛i l棚n tr棚n l t畉ng h畉t nh但n Linux (phi棚n b畉n 2.6), t畉ng Libraries
& Android runtime, t畉ng Application Framework v tr棚n c湛ng l t畉ng Application.
1.2.1 T畉ng h畉t nh但n Linux
H畛 i畛u hnh Android 動畛c ph叩t tri畛n d畛a tr棚n h畉t nh但n Linux, c畛 th畛 l h畉t nh但n Linux phi棚n b畉n
2.6, i畛u 坦 動畛c th畛 hi畛n 畛 l畛p d動畛i c湛ng ny. T畉t c畉 m畛i ho畉t 畛ng c畛a i畛n tho畉i mu畛n thi hnh 動畛c
th狸 畛u th畛c hi畛n 畛 m畛c c畉p th畉p. 畛 l畛p ny bao g畛m qu畉n l箪 b畛 nh畛 (memory management), giao ti畉p v畛i
ph畉n c畛ng (driver model), th畛c hi畛n b畉o m畉t (security), qu畉n l箪 ti畉n tr狸nh (process).
Tuy 動畛c ph叩t tri畛n d畛a vo nh但n Linux nh動ng th畛c ra nh但n Linux 達 動畛c n但ng c畉p v ch畛nh s畛a r畉t
nhi畛u 畛 ph湛 h畛p v畛i t鱈nh ch畉t c畛a nh畛ng thi畉t b畛 c畉m tay, nh動 h畉n ch畉 v畛 b畛 vi x畛 l箪, dung l動畛ng b畛 nh畛,
k鱈ch th動畛c mn h狸nh, nhu c畉u k畉t n畛i m畉ng kh担ng d但y.
T畉ng ny c坦 c叩c thnh ph畉n ch畛 y畉u:
- Display Driver: i畛u khi畛n vi畛c hi畛n th畛 l棚n mn h狸nh c滴ng nh動 thu nh畉n nh畛ng i畛u khi畛n c畛a
ng動畛i d湛ng tr棚n mn h狸nh (di chuy畛n, c畉m 畛ng).
- Camera Driver: i畛u khi畛n ho畉t 畛ng c畛a camera, nh畉n lu畛ng d畛 li畛u t畛 camera tr畉 v畛.
- Bluetooth Driver: i畛u khi畛n thi畉t b畛 thu v ph叩t s坦ng Bluetooth.
- USB driver: Qu畉n l箪 ho畉t 畛ng c畛a c叩c c畛ng giao ti畉p USB.
- Keypad driver: i畛u khi畛n bn ph鱈m.
- Wifi driver: Ch畛u tr叩ch nhi畛m v畛 vi畛c thu ph叩t s坦ng wifi.
- Audio Driver: i畛u khi畛n c叩c b畛 thu ph叩t 但m thanh, gi畉i m達 c叩c t鱈n hi畛u d畉ng audio thnh t鱈n hi畛u
s畛 v ng動畛c l畉i.
- Binder IPC Driver: Ch畛u tr叩ch nhi畛m v畛 vi畛c k畉t n畛i v li棚n l畉c v畛i m畉ng v担 tuy畉n nh動 CDMA,
GSM, 3G, 4G, E 畛 畉m b畉o nh畛ng ch畛c nng truy畛n th担ng 動畛c th畛c hi畛n.
- M-System Driver: Qu畉n l箪 vi畛c 畛c ghil棚n c叩c thi畉t b畛 nh動 th畉 nh畛 SD, flash
- Power Management: Gi叩m s叩t vi畛c ti棚u th畛 i畛n nng.
1.2.2 T畉ng Library
Ph畉n ny c坦 nhi畛u th動 vi畛n 動畛c vi畉t b畉ng C/C++ 畛 c叩c ph畉n m畛m c坦 th畛 s畛 d畛ng, c叩c th動 vi畛n 坦
動畛c t畉p h畛p thnh m畛t s畛 nh坦m nh動:
- Th動 vi畛n h畛 th畛ng (System C library): th動 vi畛n d畛a tr棚n chu畉n C, 動畛c s畛 d畛ng ch畛 b畛i h畛 i畛u
hnh.
- Th動 vi畛n Media (Media Libraries): C坦 nhi畛u codec 畛 h畛 tr畛 vi畛c ph叩t v ghi c叩c lo畉i 畛nh d畉ng
但m thanh, h狸nh 畉nh, video th担ng d畛ng.
- Th動 vi畛n web (LibWebCore): 但y l thnh ph畉n 畛 xem n畛i dung tr棚n web, 動畛c s畛 d畛ng 畛 x但y
d畛ng ph畉n m畛m duy畛t web (Android Browse) c滴ng nh動 畛 c叩c 畛ng d畛ng kh叩c c坦 th畛 nh炭ng vo. N坦 c畛c
k畛 m畉nh, h畛 tr畛 動畛c nhi畛u c担ng ngh畛 m畉nh m畉 nh動 HTML5, JavaScript, CSS, DOM, AJAX
- Th動 vi畛n SQLite: H畛 c董 s畛 d畛 li畛u 畛 c叩c 畛ng d畛ng c坦 th畛 s畛 d畛ng
- 
1.2.3 Ph畉n Android runtime
Ph畉n ny ch畛a c叩c th動 vi畛n m m畛t ch動董ng tr狸nh vi畉t b畉ng ng担n ng畛 Java c坦 th畛 ho畉t 畛ng. Runtime
c坦 2 b畛 ph畉n t動董ng t畛 nh動 m担 h狸nh ch畉y Java tr棚n m叩y t鱈nh th動畛ng. Th畛 nh畉t l c叩c th動 vi畛n l探i (Core
Library), ch畛a c叩c l畛p nh動 Java IO, Collection, File Access. Th畛 hai l m畛t m叩y 畉o Java (Dalvik Virtual
Machine). M畉c d湛 c滴ng 動畛c vi畉t t畛 ng担n ng畛 Java nh動ng m畛t 畛ng d畛ng Java c畛a Android kh担ng 動畛c
ch畉y tr棚n JRE c畛a Sun m l ch畉y b畉ng m叩y 畉o Dalvik do Google ph叩t tri畛n.
1.2.4 T畉ng Application Framework
T畉ng ny x但y d畛ng b畛 c担ng c畛  c叩c ph畉n t畛 畛 m畛c cao 畛 c叩c l畉p tr狸nh vi棚n c坦 th畛 nhanh ch坦ng x但y
d畛ng 畛ng d畛ng. N坦 動畛c vi畉t b畉ng Java, c坦 kh畉 nng s畛 d畛ng chung 畛 ti畉t ki畛m ti nguy棚n.
但y l m畛t n畛n t畉ng m畛, i畛u 坦 c坦 2 i畛u l畛i:
- V畛i c叩c h達ng i畛n tho畉i: C坦 th畛 t湛y bi畉n 畛 ph湛 h畛p v畛i c畉u h狸nh i畛n tho畉i m h畛 s畉n xu畉t c滴ng
nh動 畛 c坦 th畛 c坦 nhi畛u m畉u m達, style h畛p th畛 hi畉u ng動畛i d湛ng. V狸 th畉 n棚n tuy c湛ng chung n畛n t畉ng
Android m i畛n tho畉i c畛a Google c坦 th畛 kh叩c v畛i Motorola, HTC, T-Mobile, Samsung
- V畛i l畉p tr狸nh vi棚n: Cho ph辿p l畉p tr狸nh vi棚n c坦 th畛 s畛 d畛ng c叩c API 畛 t畉ng tr棚n m kh担ng c畉n ph畉i
hi畛u r探 c畉u tr炭c b棚n d動畛i, t畉o i畛u ki畛n cho l畉p tr狸nh vi棚n t畛 do s叩ng t畉o b畛i v狸 ch畛 c畉n quan t但m 畉n n畛i
dung m 畛ng d畛ng h畛 lm vi畛c. M畛t t畉p h畛p API r畉t h畛u 鱈ch 動畛c x但y d畛ng s畉n nh動 h畛 th畛ng 畛nh v畛, c叩c
d畛ch v畛 ch畉y n畛n, li棚n l畉c gi畛a c叩c 畛ng d畛ng, c叩c thnh ph畉n giao di畛n c畉p cao
1.2.5 T畉ng Application
但y l t畉ng 畛ng d畛ng giao ti畉p v畛i ng動畛i s畛 d畛ng, bao g畛m c叩c 畛ng d畛ng nh動:
- C叩c 畛ng d畛ng c董 b畉n, 動畛c ci 畉t i li畛n v畛i h畛 i畛u hnh: g畛i i畛n, qu畉n l箪 danh b畉, duy畛t web,
nh畉n tin, l畛ch lm vi畛c, 畛c email, b畉n 畛, quay phim ch畛p 畉nh
- C叩c 畛ng d畛ng 動畛c ci th棚m nh動 c叩c ph畉n m畛m h畛c ti畉ng Anh, c叩c tr嘆 ch董i, t畛 i畛n
C叩c ch動董ng tr狸nh c坦 畉c i畛m l:
- Vi畉t b畉ng Java c坦 ph畉n m畛 r畛ng l apk.
- Khi m畛i 畛ng d畛ng 動畛c ch畉y, n坦 c坦 m畛t phi棚n b畉n Virtual Machine 動畛c d畛ng l棚n 畛 ph畛c v畛 cho
n坦.
- Android l h畛 i畛u hnh a nhi畛m, i畛u 坦 c坦 ngh挑a l trong c湛ng m畛t th畛i i畛m, c坦 th畛 c坦 nhi畛u
ch動董ng tr狸nh c湛ng ch畉y m畛t l炭c, tuy nhi棚n v畛i m畛i 畛ng d畛ng th狸 c坦 duy nh畉t m畛t th畛c th畛 (instance) 動畛c
ph辿p ch畉y m th担i. i畛u 坦 c坦 t叩c d畛ng h畉n ch畉 s畛 l畉m d畛ng ti nguy棚n, gi炭p h畛 th畛ng ho畉t 畛ng t畛t h董n.
- C叩c 畛ng d畛ng 動畛c g叩n s畛 ID c畛a ng動畛i s畛 d畛ng nh畉m ph但n 畛nh quy畛n h畉n khi s畛 d畛ng ti
nguy棚n, c畉u h狸nh ph畉n c畛ng v h畛 th畛ng.
- Android l m畛t h畛 i畛u hnh c坦 t鱈nh m畛, kh叩c v畛i nhi畛u h畛 i畛u hnh di 畛ng kh叩c, Android cho
ph辿p m畛t 畛ng d畛ng c畛a b棚n th畛 3 ch畉y n畛n. C叩c 畛ng d畛ng 坦 ch畛 c坦 m畛t h畉n ch畉 l kh担ng 動畛c ph辿p s畛
d畛ng qu叩 5% c担ng su畉t CPU. i畛u 坦 nh畉m 畛 tr叩nh 畛c quy畛n trong s畛 d畛ng CPU.
- 畛ng d畛ng kh担ng c坦 i畛m vo c畛 畛nh, kh担ng c坦 ph動董ng th畛c main 畛 b畉t 畉u.
1.3 H畛 th畛ng t畉p tin tr棚n h畛 i畛u hnh Android
1.3.1 T畛ng quan v畛 h畛 th畛ng file tr棚n Android
Trong Android c叩c file 動畛c t畛 ch畛c l動u tr畛 thnh c叩c th動 m畛c theo m担 h狸nh ph但n c畉p. Tham chi畉u
畉n 1 file b畉ng t棚n ho畉c 動畛ng d畉n. C叩c c但u l畛nh thao t叩c file cho ph辿p th畛c hi畛n c叩c ch畛c nng nh動 d畛ch
chuy畛n, sao ch辿p ton b畛 th動 m畛c c湛ng v畛i c叩c th動 m畛c con ch畛a trong n坦
C坦 th畛 s畛 d畛ng c叩c k箪 t畛, d畉u g畉ch d動畛i, ch畛 s畛, d畉u ch畉m v d畉u ph畉y 畛 畉t t棚n file. Kh担ng 動畛c
b畉t 畉u m畛t t棚n file b畉ng d畉u ch畉m hay ch畛 s畛. Nh畛ng k箪 t畛 kh叩c nh動 /, ?, *, l k箪 t畛 畉c bi畛t 動畛c
dnh ri棚ng cho h畛 th畛ng. Chi畛u di c畛a t棚n file c坦 th畛 t畛i 256 k箪 t畛. Trong h畛 i畛u hnh Android c坦 s畛
ph但n bi畛t t棚n file ch畛 hoa v ch畛 th動畛ng, i畛u 坦 c坦 ngh挑a l trong c湛ng m畛t th動 m畛c c坦 th畛 t畛n t畉i nh畛ng
file c坦 t棚n l: File, FILE, filev ch炭ng l nh畛ng file kh叩c nhau.
T畉t c畉 c叩c file trong Android c坦 chung c畉u tr炭c v畉t l箪 l chu畛i c叩c byte. C畉u tr炭c th畛ng nh畉t ny cho
ph辿p Android 叩p d畛ng kh叩i ni畛m file cho m畛i thnh ph畉n d畛 li畛u trong h畛 th畛ng. Th動 m畛c c滴ng nh動 c叩c
thi畉t b畛 動畛c xem nh動 file. Ch鱈nh vi畛c xem m畛i th畛 nh動 c叩c file cho ph辿p Android qu畉n l箪 v chuy畛n 畛i
d畛 li畛u m畛t c叩ch d畛 dng. 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. C叩c thnh ph畉n 動畛c xem nh動 file, ch炭ng 動畛c ph但n bi畛t d畛a tr棚n ki畛u file: ordinary file,
directory file, character device file v block device file.
1.3.2 C叩c ki畛u file tr棚n Android
Trong h畛 i畛u hnh nh動 Windows, ng動畛i ta ph但n bi畛t r探 file (t畉p tin) v folder (hay directory: th動
m畛c) l 2 thnh ph畉n kh叩c h畉n nhau. Tuy nhi棚n tr棚n h畛 i畛u hnh Android (c滴ng nh動 Linux) th狸 coi
directory c滴ng l file v n坦 l m畛t lo畉i file 畉c bi畛t. Th畛c t畉 c嘆n m畛t s畛 lo畉i file kh叩c 動畛c li畛t k棚 theo
b畉ng sau:
B畉ng 1.1. Li畛t k棚 1 s畛 ki畛u file trong Android
Ch畛 c叩i
bi畛u di畛n Ki畛u file
d Th動 m畛c (Directory)
b
File ki畛u kh畛i (block-type-special
file)
c
File ki畛u k箪 t畛 (character type
special file)
l Li棚n k畉t t動畛ng tr動ng (symbolic link)
p File 動畛ng 畛ng (pipe)
s Socket
- File b狸nh th動畛ng (regular file)
1.3.3 T畛 ch畛c quy畛n s畛 h畛u v quy畛n h畉n tr棚n file
T動董ng t畛 tr棚n Linux, v畛i h畛 i畛u hnh Android m畛t file c坦 th畛 li棚n k畉t v畛i m畛t ng動畛i s畛 d畛ng v m畛t
nh坦m ng動畛i s畛 d畛ng. S畛 li棚n k畉t 坦 l m畛t t畉p h畛p c叩c quy畛n h畉n truy c畉p bao g畛m quy畛n 動畛c ph辿p 畛c
(read), 動畛c ph辿p ghi (write) v 動畛c ph辿p th畛c thi (execute).
C畛 th畛 nh動 sau: m畛t file s畉 c坦 nh畛ng quy畛n h畉n t動董ng 畛ng v畛i 9 k箪 t畛 theo m畉u sau: V畛i k箪 t畛 r w
x ngh挑a l c坦 quy畛n t動董ng 畛ng v畛i k箪 hi畛u vi畉t t畉t 坦, - ngh挑a l kh担ng c坦 quy畛n h畉n 坦.
B畉ng 1.2. T畛 ch畛c quy畛n s畛 h畛u v quy畛n h畉n tr棚n file
Owner Owner group Other
r
/-
w
/-
x
/-
r
/-
w
/-
x
/-
r
/-
w
/-
x
/-
3 k箪 t畛 畉u ti棚n l quy畛n h畉n c畛a ch畛 nh但n t畛p tin.
3 k箪 t畛 gi畛a l quy畛n h畉n c畛a nh坦m ti kho畉n s畛 h畛u t畛p tin.
3 k箪 t畛 cu畛i l quy畛n h畉n c畛a nh坦m ng動畛i kh担ng c坦 quy畛n s畛 h畛u t畛p tin.
V鱈 d畛: M畛t file c坦 d達y k箪 t畛 bi畛u di畛n quy畛n h畉n l rwx r-x r th狸 i畛u 坦 c坦 ngh挑a:
3 k箪 t畛 畉u l rwx: ch畛 nh但n t畛p tin c坦 quy畛n 畛c, ghi v th畛c thi file.
3 k箪 t畛 ti畉p theo l r-x th狸 nh坦m ti kho畉n s畛 h畛u t畛p tin c坦 quy畛n 畛c v th畛c thi file ch畛 kh担ng c坦
quy畛n ghi file.
3 k箪 t畛 cu畛i l r ngh挑a l nh畛ng ng動畛i kh担ng s畛 h畛u file ch畛 動畛c ph辿p 畛c m kh担ng 動畛c ch畛nh
s畛a v ch畉y file.
1.3.4 C但y th動 m畛c tr棚n h畛 i畛u hnh Android
Th動 m畛c (hay c坦 th畛 g畛i l file) root l th動 m畛c g畛c c畛a t畉t c畉 c叩c file c滴ng nh動 c叩c th動 m畛c c嘆n l畉i.
D動畛i n坦 c坦 ch畛a m畛t s畛 file h畛 th畛ng. M畛i th動 m畛c (tr畛 root) 畛u c坦 1 th動 m畛c cha ch畛a n坦, b畉n th但n n坦
c滴ng c坦 th畛 c坦 nhi畛u file, th動 m畛c con. C畉u tr炭c 坦 c坦 th畛 m担 t畉 b畉ng m畛t c但y th動 m畛c c坦 d畉ng nh動 sau:
Gi畛i thi畛u m畛t vi th動 m畛c ti棚u bi畛u:
- /(root): L th動 m畛c g畛c, th動 m畛c duy nh畉t kh担ng c坦 th動 m畛c cha.
- /mnt: th動 m畛c ch畛a thi畉t b畛 l動u 畛ng (removeable).
- /system : ch畛a nh畛ng thnh ph畉n c董 b畉n nh畉t c畛a h畛 th畛ng.
- /ect : ch畛a nh畛ng file c畉u h狸nh c畛a h畛 th畛ng, n坦 c畛c k畛 quan tr畛ng v狸 s畛 ho畉t 畛ng c畛a h畛 th畛ng 畛u
b畛 chi ph畛i 畛 nh畛ng file c畉u h狸nh ny.
- /system/lost+found : ch畛a nh畛ng t畉p tin b畛 m畉t l炭c kh畛i 畛ng m叩y.
- /system/font : ch畛a nh畛ng font ch畛 hi畛n th畛 動畛c.
- /system/lib: ch畛a c叩c th動 vi畛n 畛 c叩c ph畉n m畛m ho畉t 畛ng (c叩c ph畉n m畛m vi畉t b畉ng ng担n ng畛
java).
- /system/app : ch畛a c叩c file apk c畛a ph畉n m畛m. (C叩c file ci 畉t 畛ng d畛ng, ki畛u nh動 MSI trong
window hay dev trong Linux).
- /system/bin : Ch畛a c叩c ch動董ng tr狸nh n畛i tr炭 c畛a h畛 th畛ng.
- 
1.4 C叩c thnh ph畉n c畛a m畛t 畛ng d畛ng tr棚n Android
C叩c thnh ph畉n: vi畛c hi畛u 動畛c c叩c thnh ph畉n (component) t畉o n棚n m畛t 畛ng d畛ng Android l r畉t c畉n
thi畉t cho vi畛c l畉p tr狸nh. C叩c thnh ph畉n ny 動畛c chia lm 6 lo畉i bao g畛m:
- Activity: hi畛u m畛t c叩ch 董n gi畉n Activity l n畛n c畛a 畛ng d畛ng. Khi kh畛i 畛ng m畛t 畛ng d畛ng
Android no 坦 th狸 bao gi畛 c滴ng c坦 main Activity 動畛c g畛i, hi畛n th畛 mn h狸nh c畛a 畛ng d畛ng cho ph辿p
ng動畛i d湛ng t動董ng t叩c.
- Service: thnh ph畉n ch畉y 畉n trong Android. Service s畛 d畛ng 畛 update d畛 li畛u, 動a ra c叩c c畉nh b叩o
(Notification) v kh担ng bao gi畛 hi畛n th畛 cho ng動畛i d湛ng th畉y.
- Content Provider: kho d畛 li畛u chia s畉. Content Provider 動畛c s畛 d畛ng 畛 qu畉n l箪 v chia s畉 d畛 li畛u
gi畛a c叩c 畛ng d畛ng.
- Intent: n畛n t畉ng 畛 truy畛n t畉i c叩c th担ng b叩o. Intent 動畛c s畛 d畛ng 畛 g畛i c叩c th担ng b叩o i nh畉m kh畛i
t畉o m畛t Activity hay Service 畛 th畛c hi畛n c担ng vi畛c b畉n mong mu畛n. V鱈 d畛: khi m畛 m畛t trang web, b畉n
g畛i i m畛t intent i 畛 t畉o 1 activity m畛i hi畛n th畛 trang web 坦.
- Broadcast Receiver: thnh ph畉n thu nh畉n c叩c Intent b棚n ngoi g畛i t畛i. V鱈 d畛: b畉n vi畉t m畛t ch動董ng
tr狸nh thay th畉 cho ph畉n g畛i i畛n m畉c 畛nh c畛a Android, khi 坦 b畉n c畉n 1 broadcast receiver 畛 nh畉n bi畉t
c叩c Intent l c叩c cu畛c g畛i t畛i.
- Notification: 動a ra c叩c c畉nh b叩o m kh担ng lm c叩c Activity ph畉i ng畛ng ho畉t 畛ng.
Activity, Service, Broadcast Receiver v Content Provider m畛i l nh畛ng thnh ph畉n ch鱈nh c畉u thnh
n棚n 畛ng d畛ng Android v b畉t bu畛c ph畉i khai b叩o trong AndroidManifest.
C董 ch畉 qu畉n l箪 ti畉n tr狸nh: android c坦 c董 ch畉 qu畉n l箪 c叩c Process theo ch畉 畛 動u ti棚n. C叩c process c坦
priority th畉p s畉 b畛 Android gi畉i ph坦ng m kh担ng c畉n c畉nh b叩o 畛 畉m b畉o ti nguy棚n.
- Foreground process: l process c畛a 畛ng d畛ng hi畛n th畛i ang 動畛c ng動畛i d湛ng t動董ng t叩c.
- Visible process: l process c畛a 畛ng d畛ng m activity ang hi畛n th畛 畛i v畛i ng動畛i d湛ng (onPaused()
c畛a activity 動畛c g畛i).
- Service process: l Service ang running.
- Background process: l process c畛a 畛ng d畛ng m c叩c activity c畛a n坦 kh担ng hi畛n th畛 v畛i ng動畛i d湛ng
(onStoped() c畛a activity 動畛c g畛i).
- Empty process: process kh担ng c坦 b畉t c畛 1 thnh ph畉n no activity. Theo ch畉 畛 動u ti棚n th狸 khi c畉n
ti nguy棚n, Android s畉 t畛 畛ng kill process, tr動畛c ti棚n l c叩c empty process.
C董 ch畉 ho畉t 畛ng v c叩c thnh ph畉n trong Android Activity: Nh動 達 gi畛i thi畛u 畛 tr棚n, Activity l
thnh ph畉n quan tr畛ng nh畉t v 坦ng vai tr嘆 ch鱈nh trong vi畛c x但y d畛ng 畛ng d畛ng Android. H畛 i畛u hnh
qu畉n l箪 Activity theo d畉ng stack: Khi m畛t Activity m畛i 動畛c kh畛i t畉o n坦 s畉 動畛c x畉p l棚n 畉u c畛a stack v
tr畛 thnhrunning activity, c叩c Activity tr動畛c 坦 s畉 b畛 t畉m d畛ng v ch畛 ho畉t 畛ng tr畛 l畉i khi Activity m畛i
動畛c gi畉i ph坦ng.
Activity bao g畛m 4 state:
- Active (running): Activity ang hi畛n th畛 tr棚n mn h狸nh (foreground).
- Paused: Activity v畉n hi畛n th畛 (visible) nh動ng kh担ng th畛 t動董ng t叩c (lost focus). V鱈 d畛: m畛t Activity
m畛i xu畉t hi畛n, hi畛n th畛 giao di畛n 畛 l棚n tr棚n Activity c滴, nh動ng giao di畛n ny nh畛 h董n giao di畛n c畛a
Activity c滴, do 坦 ta v畉n th畉y m畛t ph畉n giao di畛n c畛a Activity c滴 nh動ng l畉i kh担ng th畛 t動董ng t叩c v畛i n坦.
- Stop: Activity b畛 thay th畉 hon ton b畛i Activity m畛i s畉 ti畉n 畉n tr畉ng th叩i stop.
- Killed: Khi h畛 th畛ng b畛 thi畉u b畛 nh畛, n坦 s畉 gi畉i ph坦ng c叩c ti畉n tr狸nh theo nguy棚n t畉c 動u ti棚n. C叩c
Activity 畛 tr畉ng th叩i stop ho畉c paused c滴ng c坦 th畛 b畛 gi畉i ph坦ng v khi n坦 hi畛n th畛 l畉i th狸 c叩c Activity ny
ph畉i kh畛i 畛ng l畉i hon ton v ph畛c h畛i l畉i tr畉ng th叩i tr動畛c 坦.
Bi畛u 畛 mi棚u t畉 Activity state:
Khi x但y d畛ng Activity cho 畛ng d畛ng c畉n ph畉i vi畉t l畉i ph動董ng th畛c onCreate() 畛 th畛c hi畛n qu叩 tr狸nh
kh畛i t畉o. C叩c ph動董ng th畛c kh叩c c坦 c畉n vi畉t l畉i hay kh担ng t湛y vo y棚u c畉u l畉p tr狸nh.
XML trong Android: Kh担ng gi畛ng nh動 l畉p tr狸nh Java th担ng th動畛ng, l畉p tr狸nh Android ngoi c叩c l畛p
動畛c vi畉t trong *.java c嘆n s畛 d畛ng XML 畛 thi畉t k畉 giao di畛n cho 畛ng d畛ng. T畉t nhi棚n b畉n hon ton c坦
th畛 thi畉t k畉 giao di畛n nh動 箪 mu畛n m kh担ng c畉n b畉t k畛 m畛t d嘆ng XML no. Nh動ng vi畛c s畛 d畛ng XML s畉
董n gi畉n h董n r畉t nhi畛u, v d畛 ch畛nh s畛a v畛 sau.
Trong xml layout 動畛c d湛ng 畛 qu畉n l箪 c叩c thnh ph畉n giao di畛n kh叩c theo m畛t tr畉t t畛 nh畉t 畛nh.
- FrameLayout: layout 董n gi畉n nh畉t, th棚m c叩c thnh ph畉n con vo g坦c tr棚n b棚n tr叩i c畛a mn h狸nh.
- Linearlayout: th棚m c叩c thnh ph畉n con theo 1 chi畛u nh畉t 畛nh (ngang ho畉c d畛c). 但y l layout 動畛c
s畛 d畛ng nhi畛u nh畉t.
- RelativeLayout: th棚m c叩c thnh ph畉n con d畛a tr棚n m畛i quan h畛 v畛i c叩c thnh ph畉n kh叩c ho畉c bi棚n
c畛a layout.
- TableLayout: th棚m c叩c thnh ph畉n con d畛a tr棚n 1 l動畛i c叩c 担 ngang d畛c.
- AbsoluteLayout: th棚m c叩c thnh ph畉n con d畛a theo t畛a 畛 x, y.
Layout 動畛c s畛 d畛ng nh畉m m畛c 鱈ch thi畉t k畉 giao di畛n cho nhi畛u 畛 ph但n gi畉i. Th動畛ng khi l畉p tr狸nh
th動畛ng k畉t h畛p nhi畛u layout v畛i nhau 畛 t畉o ra giao di畛n nh動 mong mu畛n.
1.5 Qu叩 tr狸nh ph叩t tri畛n Android
Android 1.5, Cupcake
Ra m畉t: ngy 30-4-2009.
Cupcake, t棚n m達 畉u ti棚n 叩p d畛ng cho phi棚n b畉n Android. Cupcake mang nhi畛u t鱈nh nng m畛i nh動 bn
ph鱈m 畉o c坦 kh畉 nng d畛 o叩n t畛 ang g探, t畛 i畛n t畛 ng畛 do ng動畛i d湛ng 畉t ra, h畛 tr畛 widget tr棚n giao di畛n
ch畛, quay phim v ph叩t l畉i video clip, l動畛c s畛 th畛i gian cu畛c g畛i, ch畉 畛 t畛 畛ng xoay mn h狸nh theo
h動畛ng s畛 d畛ng (screen rotation). Tr狸nh duy畛t web trong Cupcake c坦 th棚m kh畉 nng sao ch辿p/ d叩n
(copy/paste).
Ngoi ra, phi棚n b畉n ny cho ph辿p ng動畛i d湛ng hi畛n th畛 h狸nh 畉nh trong danh b畉, m畛t i畛m th炭 v畛 m
h畉u h畉t ng動畛i d湛ng i畛n tho畉i di 畛ng mu畛n c坦. Mn h狸nh chuy畛n 畛i v h狸nh 畉nh khi kh畛i 畛ng m叩y 動畛c
lm m畛i.
Android 1.6: Donut
Ra m畉t: ngy 30-9-2009.
Donut kh畉c ph畛c c叩c ch畛c nng l畛ng l畉o trong Cupcake, m畛 r畛ng ch畛c nng t狸m ki畉m b畉ng gi畛ng
n坦i v k箪 t畛 畉n bookmark v danh b畉. Android Market tr畛 thnh ch畛 畉u m畛i 畛 ng動畛i d湛ng t狸m ki畉m
v xem c叩c 畛ng d畛ng Android. 畛ng d畛ng ch畛p 畉nh v quay phim trong Donut nhanh h董n. H畛 i畛u hnh h畛
tr畛 mn h狸nh c坦 畛 ph但n gi畉i l畛n h董n, h動畛ng 畉n c叩c th畉 h畛 smartphone mn h狸nh l畛n.
Android 2.0, Eclair
Ra m畉t: ngy 26-10-2009.
Ch畛 sau g畉n m畛t th叩ng ra m畉t Donut (Android 1.6), Google tung ra Eclair, phi棚n b畉n 動畛c nh畉n 畛nh
l b動畛c i l畛n c畛a h畛 i畛u hnh ny.
Eclair c畉i ti畉n r畉t nhi畛u, t畛 giao di畛n 畉n 畛ng d畛ng b棚n trong h畛 th畛ng. 畛ng d畛ng ch畛p 畉nh tng c動畛ng
th棚m ch畛c nng zoom s畛 (ph坦ng to), c但n b畉ng tr畉ng, h畛 tr畛 竪n flash v c叩c hi畛u 畛ng mu s畉c.
H畛 th畛ng ho畉t 畛ng 畛n 畛nh h董n, c畉i thi畛n kh畉 nng x畛 l箪, h畛 tr畛 k畉t n畛i Bluetooth t畛t h董n, 畉c bi畛t t湛y
ch畛n 畛ng b畛 nhi畛u ti kho畉n. M畛t i畛m thu畉n ti畛n 動畛c 叩nh gi叩 cao l炭c b畉y gi畛 l giao di畛n danh b畉 cho
ph辿p nh畉n ch畛n vo m畛t 畉nh danh b畉 畛 g畛i, nh畉n tin hay email 畉n h畛. Giao di畛n 畛ng d畛ng l畛ch bi畛u
(Calendar) c滴ng thay 畛i.
Eclair l phi棚n b畉n Android 畉u ti棚n h畛 tr畛 畉nh n畛n 畛ng (live wallpaper) d湛 t湛y ch畛n ny ti棚u t畛n kh叩
nhi畛u pin.
Android 2.2, Froyo
Ra m畉t: ngy 20-5-2010.
T畛 phi棚n b畉n 2.0 tr畛 i, Android d畉n hon thi畛n h董n. Phi棚n b畉n 2.2 (Froyo) mang Adobe Flash 畉n
Android, k辿o theo hng lo畉t 畛ng d畛ng v game tr棚n n畛n Flash. Ng動畛i d湛ng c滴ng c坦 th畛 xem video clip n畛n
Flash nh動 YouTube v ra l畛nh th畛c hi畛n cu畛c g畛i qua Bluetooth.
M畛t ch畛c nng m畛i trong Froyo 動畛c nh坦m ng動畛i d湛ng l動u 畛ng y棚u th鱈ch l USB Tethering v Wi-Fi
Hotspot, bi畉n chi畉c smartphone Android thnh thi畉t b畛 ph叩t s坦ng Wi-Fi t畛 k畉t n畛i 3G. T鱈nh nng ny 動畛c
s畛 d畛ng r畉t ph畛 bi畉n 畉n ngy nay.
L畉n 畉u ti棚n Android cho ph辿p ci 畉t 畛ng d畛ng (app) l棚n th畉 nh畛 SD thay v狸 m畉c 畛nh ci ngay vo b畛
nh畛 trong c畛a thi畉t b畛. i畛m 畉u ti棚n n畛a trong Froyo bao g畛m m畉t kh畉u 達 h畛 tr畛 s畛 v ch畛 s畛. Thi畉t b畛
畉u ti棚n mang nh達n Froyo ra m畉t th畛 tr動畛ng l HTC Nexus One.
Android 2.3, Gingerbread
Ra m畉t ngy: 6-12-2010.
畉n cu畛i nm 2012, Gingerbread v畉n ang ph畛 s坦ng tr棚n r畉t nhi畛u thi畉t b畛 d湛ng Android, chi畉m
畉n h董n ph但n n畛a (54%). Google h畛p t叩c Samsung tr狸nh lng d嘆ng smartphone 畉u ti棚n s畛 d畛ng
Gingerbread mang t棚n Nexus S, h畛 tr畛 c担ng ngh畛 giao ti畉p t畉m g畉n NFC.
Gingerbread 動a vo h畛 th畛ng m畛t c担ng c畛 qu畉n l箪 t畉i t畉p tin, cho ph辿p theo d探i v truy xu畉t 畉n c叩c t畉p
tin 達 t畉i v畛 m叩y. H畛 th畛ng ny h畛 tr畛 nhi畛u camera cho c叩c thi畉t b畛 c坦 camera m畉t sau v tr動畛c, qu畉n l箪
ngu畛n pin hi畛u qu畉 h董n, ti畉t ki畛m th畛i l動畛ng pin. Phi棚n b畉n ny kh畉c ph畛c kh叩 nhi畛u l畛i t畛 Froyo, k竪m
theo m畛t s畛 i畛u ch畛nh trong giao di畛n ng動畛i d湛ng (UI)
Android 3.0, Honeycomb
Ra m畉t: ngy 22-2-2011.
但y kh担ng ch畛 l m畛t phi棚n b畉n, m c坦 th畛 xem l m畛t th畉 h畛 Android 畉u ti棚n dnh ri棚ng cho m叩y
t鱈nh b畉ng (tablet), ra m畉t c湛ng tablet Motorola XOOM.
Mang nh畛ng t鱈nh nng t畛 th畉 h畛 Android 2.x, Android 3.0 c畉i ti畉n giao di畛n ph湛 h畛p v畛i c叩ch s畛 d畛ng m叩y
t鱈nh b畉ng, bn ph鱈m 畉o th但n thi畛n h董n, h畛 tr畛 x畛 l箪 a t叩c v畛 (multi-tasking), cho ph辿p chuy畛n 畛i qua l畉i
c叩c 畛ng d畛ng ang c湛ng ch畉y. Kh担ng ch畛 c坦 b畛 m畉t 動畛c trau chu畛t, ph畉n l探i h畛 th畛ng c坦 c叩c c畉i ti畉n
t動董ng th鱈ch v畛i ph畉n c畛ng nh動 h畛 tr畛 chip x畛 l箪 (CPU) a l探i, tng t畛c ph畉n c畛ng
Android 3.0 畉t n畛n m坦ng quan tr畛ng cho th畉 h畛 Android 4.x h畛p nh畉t, kh畉c ph畛c s畛 ph但n m畉ng c畛a
Android (c坦 c叩c phi棚n b畉n ri棚ng dnh cho smartphone v tablet).
Android 4.0, Ice Cream Sandwich
Ra m畉t: ngy 19-10-2011.
B叩nh kem sandwich (ICS) l th畉 h畛 Android 動畛c mong 畛i nh畉t 畉n nay, ra 畛i c湛ng d嘆ng
smartphone bom t畉n Samsung Galaxy Nexus, th畉 h畛 smartphone 畉u ti棚n trang b畛 ICS.
Android 4.0 動a ch畛c nng truy xu畉t nhanh c叩c 畛ng d畛ng th動畛ng d湛ng vo ph畉n b棚n d動畛i giao di畛n ch畛,
t湛y bi畉n widget, d畛 s畉p x畉p v duy畛t danh s叩ch 畛ng d畛ng h董n. C叩c 畛ng d畛ng 達 c坦 th畛 truy xu畉t nhanh t畛
mn h狸nh kh坦a thi畉t b畛 (Lock screen), hi畛n c叩c h達ng s畉n xu畉t thi畉t b畛 ch畛 m畛i cho ph辿p Camera c坦 th畛 ch畛n
nhanh t畛 Lock screen.
Ice Cream Sandwich ho畉t 畛ng m動畛t m, nhanh v 畉p h董n
Android 4.1, Jelly Bean
Ra m畉t: 9-7-2012.
M叩y t鱈nh b畉ng Nexus 7, s畉n ph畉m h畛p t叩c gi畛a Google v Asus, l thi畉t b畛 d湛ng Jelly Bean 畉u ti棚n ra m畉t.
Android 4.1 n但ng t畉m ho畉t 畛ng cho h畛 i畛u hnh c畛a Google, tr畛 thnh h畛 i畛u hnh cho thi畉t b畛 di 畛ng
hng 畉u hi畛n nay, e d畛a c畉 担ng l畛n Windows.
Kh畉 nng s畉p x畉p giao di畛n ch畛 v widget trong Jelly Bean r畉t t湛y bi畉n v linh ho畉t. H畛 th畛ng h畛 tr畛
d畛ch v畛 v鱈 i畛n t畛 Google Wallet, 畉c bi畛t tr狸nh duy畛t web m畉c 畛nh trong Android 動畛c thay th畉 b畛i 畉i
di畛n t棚n tu畛i: Chrome, v畛i kh畉 nng 畛ng b畛 d畛 li畛u theo ti kho畉n v畛i b畉n Chrome tr棚n m叩y t鱈nh.
Jelly Bean gi畛i thi畛u Google Now, d畛ch v畛 tr畛c tuy畉n m畛i hi畛n ch畛 dnh cho Android, m畛t ph畛 t叩 畉o
畉c l畛c cho c担ng vi畛c s畉p x畉p l畛ch tr狸nh, t狸m ki畉m th担ng tin, x叩c 畛nh v畛 tr鱈 R畉t a nng v 動畛c xem
nh動 l畛i 叩p tr畉 c畛a Google v畛i ph畛 t叩 畉o Apple Siri trong iOS.
C湛ng v畛i t棚n m達 Jellybean ch炭ng ta c嘆n bi畉t t畛i c叩c phi棚n b畉n 4.1.1, 4.2, 4.2.2, v 4.3 sau ny. Vi畛c
ra m畉t Jellybean c坦 th畛 v鱈 nh動 cu畛c c叩ch m畉ng v畛 c叩c t鱈nh nng, khi m Google gi畛i thi畛u hng lo畉t c叩c
t鱈nh nng m畛i tr棚n c叩c b畉n n但ng c畉p android sau ny. G畉n 但y nh畉t c坦 th畛 n坦i 畉n 4.3 v畛i hng lo畉t c畉i ti畉n
nh動 h畛 tr畛 Bluetooth Smart technology, H畛 tr畛 giao th畛c OpenGL ES 3.0..

More Related Content

What's hot (13)

Bai 03 quan ly tai khoan nguoi dung
Bai 03   quan ly tai khoan nguoi dungBai 03   quan ly tai khoan nguoi dung
Bai 03 quan ly tai khoan nguoi dung
Van Pham
Bi 1: Gi畛i thi畛u Android
Bi 1: Gi畛i thi畛u AndroidBi 1: Gi畛i thi畛u Android
Bi 1: Gi畛i thi畛u Android
hoccungdoanhnghiep
T狸m hi畛u v畛 h畛 i畛u hnh android
T狸m hi畛u v畛 h畛 i畛u hnh androidT狸m hi畛u v畛 h畛 i畛u hnh android
T狸m hi畛u v畛 h畛 i畛u hnh android
Phuong Ngo
B叩o c叩o th畛c t畉p c董 s畛
B叩o c叩o th畛c t畉p c董 s畛B叩o c叩o th畛c t畉p c董 s畛
B叩o c叩o th畛c t畉p c董 s畛
Nguy畛n Ph炭
際際滷 thuyet trinh android
際際滷 thuyet trinh android際際滷 thuyet trinh android
際際滷 thuyet trinh android
kuto92love
Nghi棚n c動炭 v ph叩t tri畛n Android OS
Nghi棚n c動炭 v ph叩t tri畛n Android OSNghi棚n c動炭 v ph叩t tri畛n Android OS
Nghi棚n c動炭 v ph叩t tri畛n Android OS
Nguy畛n Anh
Baigiang10
Baigiang10Baigiang10
Baigiang10
hauho1993
Bi 4: H畛 th畛ng qu畉n l箪 l畛ch bi畛u v ti li畛u
Bi 4: H畛 th畛ng qu畉n l箪 l畛ch bi畛u v ti li畛uBi 4: H畛 th畛ng qu畉n l箪 l畛ch bi畛u v ti li畛u
Bi 4: H畛 th畛ng qu畉n l箪 l畛ch bi畛u v ti li畛u
MasterCode.vn
Bi 3 CC PH畉N M畛M 畛NG D畛NG C B畉N
Bi 3 CC PH畉N M畛M 畛NG D畛NG C B畉NBi 3 CC PH畉N M畛M 畛NG D畛NG C B畉N
Bi 3 CC PH畉N M畛M 畛NG D畛NG C B畉N
MasterCode.vn
04 de cuong
04 de cuong04 de cuong
04 de cuong
inh Lu畉n
Bi 1: T狸m hi畛u v畛 ph畉n m畛m mi畛n ph鱈 v ph畉n m畛m t畛 do, ngu畛n m畛
Bi 1: T狸m hi畛u v畛 ph畉n m畛m mi畛n ph鱈 v ph畉n m畛m t畛 do, ngu畛n m畛Bi 1: T狸m hi畛u v畛 ph畉n m畛m mi畛n ph鱈 v ph畉n m畛m t畛 do, ngu畛n m畛
Bi 1: T狸m hi畛u v畛 ph畉n m畛m mi畛n ph鱈 v ph畉n m畛m t畛 do, ngu畛n m畛
MasterCode.vn
Ch動董ng II: H畛 i畛u hnh
Ch動董ng II: H畛 i畛u hnhCh動董ng II: H畛 i畛u hnh
Ch動董ng II: H畛 i畛u hnh
Sunkute
Bai 10 khai niem ve he dieu hanh1
Bai 10 khai niem ve he dieu hanh1Bai 10 khai niem ve he dieu hanh1
Bai 10 khai niem ve he dieu hanh1
THPT Le Hong Phong
Bai 03 quan ly tai khoan nguoi dung
Bai 03   quan ly tai khoan nguoi dungBai 03   quan ly tai khoan nguoi dung
Bai 03 quan ly tai khoan nguoi dung
Van Pham
Bi 1: Gi畛i thi畛u Android
Bi 1: Gi畛i thi畛u AndroidBi 1: Gi畛i thi畛u Android
Bi 1: Gi畛i thi畛u Android
hoccungdoanhnghiep
T狸m hi畛u v畛 h畛 i畛u hnh android
T狸m hi畛u v畛 h畛 i畛u hnh androidT狸m hi畛u v畛 h畛 i畛u hnh android
T狸m hi畛u v畛 h畛 i畛u hnh android
Phuong Ngo
B叩o c叩o th畛c t畉p c董 s畛
B叩o c叩o th畛c t畉p c董 s畛B叩o c叩o th畛c t畉p c董 s畛
B叩o c叩o th畛c t畉p c董 s畛
Nguy畛n Ph炭
際際滷 thuyet trinh android
際際滷 thuyet trinh android際際滷 thuyet trinh android
際際滷 thuyet trinh android
kuto92love
Nghi棚n c動炭 v ph叩t tri畛n Android OS
Nghi棚n c動炭 v ph叩t tri畛n Android OSNghi棚n c動炭 v ph叩t tri畛n Android OS
Nghi棚n c動炭 v ph叩t tri畛n Android OS
Nguy畛n Anh
Baigiang10
Baigiang10Baigiang10
Baigiang10
hauho1993
Bi 4: H畛 th畛ng qu畉n l箪 l畛ch bi畛u v ti li畛u
Bi 4: H畛 th畛ng qu畉n l箪 l畛ch bi畛u v ti li畛uBi 4: H畛 th畛ng qu畉n l箪 l畛ch bi畛u v ti li畛u
Bi 4: H畛 th畛ng qu畉n l箪 l畛ch bi畛u v ti li畛u
MasterCode.vn
Bi 3 CC PH畉N M畛M 畛NG D畛NG C B畉N
Bi 3 CC PH畉N M畛M 畛NG D畛NG C B畉NBi 3 CC PH畉N M畛M 畛NG D畛NG C B畉N
Bi 3 CC PH畉N M畛M 畛NG D畛NG C B畉N
MasterCode.vn
04 de cuong
04 de cuong04 de cuong
04 de cuong
inh Lu畉n
Bi 1: T狸m hi畛u v畛 ph畉n m畛m mi畛n ph鱈 v ph畉n m畛m t畛 do, ngu畛n m畛
Bi 1: T狸m hi畛u v畛 ph畉n m畛m mi畛n ph鱈 v ph畉n m畛m t畛 do, ngu畛n m畛Bi 1: T狸m hi畛u v畛 ph畉n m畛m mi畛n ph鱈 v ph畉n m畛m t畛 do, ngu畛n m畛
Bi 1: T狸m hi畛u v畛 ph畉n m畛m mi畛n ph鱈 v ph畉n m畛m t畛 do, ngu畛n m畛
MasterCode.vn
Ch動董ng II: H畛 i畛u hnh
Ch動董ng II: H畛 i畛u hnhCh動董ng II: H畛 i畛u hnh
Ch動董ng II: H畛 i畛u hnh
Sunkute
Bai 10 khai niem ve he dieu hanh1
Bai 10 khai niem ve he dieu hanh1Bai 10 khai niem ve he dieu hanh1
Bai 10 khai niem ve he dieu hanh1
THPT Le Hong Phong

Similar to bao cao athena tuan 1 (20)

C畉u tr炭c android
C畉u tr炭c androidC畉u tr炭c android
C畉u tr炭c android
dhinh_190192
Su dung linux shell
Su dung linux shellSu dung linux shell
Su dung linux shell
Nguyen Van Hung
bi t畉p l畛n m担n ki畉n tr炭c m叩y t鱈nh v h畛 i畛u hnh
bi t畉p l畛n m担n ki畉n tr炭c m叩y t鱈nh v h畛 i畛u hnhbi t畉p l畛n m担n ki畉n tr炭c m叩y t鱈nh v h畛 i畛u hnh
bi t畉p l畛n m担n ki畉n tr炭c m叩y t鱈nh v h畛 i畛u hnh
dangdinhkien2k4
Thi畉t k畉 v thi c担ng thi畉t b畛 o nh畛p tim, n畛ng 畛 oxy trong m叩u nhi畛t 畛.pdf
Thi畉t k畉 v thi c担ng thi畉t b畛 o nh畛p tim, n畛ng 畛 oxy trong m叩u nhi畛t 畛.pdfThi畉t k畉 v thi c担ng thi畉t b畛 o nh畛p tim, n畛ng 畛 oxy trong m叩u nhi畛t 畛.pdf
Thi畉t k畉 v thi c担ng thi畉t b畛 o nh畛p tim, n畛ng 畛 oxy trong m叩u nhi畛t 畛.pdf
HngBiThi2
Giaotrinh hedieuhanh
Giaotrinh hedieuhanhGiaotrinh hedieuhanh
Giaotrinh hedieuhanh
Hai Nguyen
J2 me 07_1
J2 me 07_1J2 me 07_1
J2 me 07_1
vanliemtb
Ki畉n tr炭c m叩y t鱈nh v h畛 i畛u hnh - Nh坦m 14
Ki畉n tr炭c m叩y t鱈nh v h畛 i畛u hnh -  Nh坦m 14Ki畉n tr炭c m叩y t鱈nh v h畛 i畛u hnh -  Nh坦m 14
Ki畉n tr炭c m叩y t鱈nh v h畛 i畛u hnh - Nh坦m 14
ssuseraf6e97
Owncloud - cloud solution for SME
Owncloud - cloud solution for SMEOwncloud - cloud solution for SME
Owncloud - cloud solution for SME
Michael Phan
Lap trinh android_co_ban_eclip
Lap trinh android_co_ban_eclipLap trinh android_co_ban_eclip
Lap trinh android_co_ban_eclip
ktvinh
Lap trinhthietbididongvoij2me
Lap trinhthietbididongvoij2meLap trinhthietbididongvoij2me
Lap trinhthietbididongvoij2me
haiokman
Lap trinh thiet bi di dong voi j2me
Lap trinh thiet bi di dong voi j2meLap trinh thiet bi di dong voi j2me
Lap trinh thiet bi di dong voi j2me
c畉u bu畛n V狸 Ai
1 laptrinhthietbididongvoij2me
1 laptrinhthietbididongvoij2me1 laptrinhthietbididongvoij2me
1 laptrinhthietbididongvoij2me
Giang Nguy畛n
M畛t s畛 ng担n ng畛 l畉p tr狸nh ph畛 bi畉n hi畛n nay - Popular programming languages n...
M畛t s畛 ng担n ng畛 l畉p tr狸nh ph畛 bi畉n hi畛n nay - Popular programming languages n...M畛t s畛 ng担n ng畛 l畉p tr狸nh ph畛 bi畉n hi畛n nay - Popular programming languages n...
M畛t s畛 ng担n ng畛 l畉p tr狸nh ph畛 bi畉n hi畛n nay - Popular programming languages n...
Son Le
A4 xay dung va quan tri moi truong mang doanh nghiep 5 8 (25-10-07)[bookboomi...
A4 xay dung va quan tri moi truong mang doanh nghiep 5 8 (25-10-07)[bookboomi...A4 xay dung va quan tri moi truong mang doanh nghiep 5 8 (25-10-07)[bookboomi...
A4 xay dung va quan tri moi truong mang doanh nghiep 5 8 (25-10-07)[bookboomi...
bookbooming1
畛 叩N c董 s畛
畛 叩N c董 s畛畛 叩N c董 s畛
畛 叩N c董 s畛
Phuong Do Anh
畛 叩N c董 s畛
畛 叩N c董 s畛畛 叩N c董 s畛
畛 叩N c董 s畛
Phuong Do Anh
Google chrome os (perfect version)
Google chrome os (perfect version)Google chrome os (perfect version)
Google chrome os (perfect version)
En Tj Pj
Lu畉n vn x但y d畛ng c畛ng th担ng tin i畛n t畛 ubnd t畛nh qu畉ng b狸nh b畉ng wordpress
Lu畉n vn x但y d畛ng c畛ng th担ng tin i畛n t畛 ubnd t畛nh qu畉ng b狸nh b畉ng wordpressLu畉n vn x但y d畛ng c畛ng th担ng tin i畛n t畛 ubnd t畛nh qu畉ng b狸nh b畉ng wordpress
Lu畉n vn x但y d畛ng c畛ng th担ng tin i畛n t畛 ubnd t畛nh qu畉ng b狸nh b畉ng wordpress
nataliej4
Tran Minh Thai Bai Giang Vc
Tran Minh Thai   Bai Giang VcTran Minh Thai   Bai Giang Vc
Tran Minh Thai Bai Giang Vc
Nhat Thien
C畉u tr炭c android
C畉u tr炭c androidC畉u tr炭c android
C畉u tr炭c android
dhinh_190192
bi t畉p l畛n m担n ki畉n tr炭c m叩y t鱈nh v h畛 i畛u hnh
bi t畉p l畛n m担n ki畉n tr炭c m叩y t鱈nh v h畛 i畛u hnhbi t畉p l畛n m担n ki畉n tr炭c m叩y t鱈nh v h畛 i畛u hnh
bi t畉p l畛n m担n ki畉n tr炭c m叩y t鱈nh v h畛 i畛u hnh
dangdinhkien2k4
Thi畉t k畉 v thi c担ng thi畉t b畛 o nh畛p tim, n畛ng 畛 oxy trong m叩u nhi畛t 畛.pdf
Thi畉t k畉 v thi c担ng thi畉t b畛 o nh畛p tim, n畛ng 畛 oxy trong m叩u nhi畛t 畛.pdfThi畉t k畉 v thi c担ng thi畉t b畛 o nh畛p tim, n畛ng 畛 oxy trong m叩u nhi畛t 畛.pdf
Thi畉t k畉 v thi c担ng thi畉t b畛 o nh畛p tim, n畛ng 畛 oxy trong m叩u nhi畛t 畛.pdf
HngBiThi2
Giaotrinh hedieuhanh
Giaotrinh hedieuhanhGiaotrinh hedieuhanh
Giaotrinh hedieuhanh
Hai Nguyen
J2 me 07_1
J2 me 07_1J2 me 07_1
J2 me 07_1
vanliemtb
Ki畉n tr炭c m叩y t鱈nh v h畛 i畛u hnh - Nh坦m 14
Ki畉n tr炭c m叩y t鱈nh v h畛 i畛u hnh -  Nh坦m 14Ki畉n tr炭c m叩y t鱈nh v h畛 i畛u hnh -  Nh坦m 14
Ki畉n tr炭c m叩y t鱈nh v h畛 i畛u hnh - Nh坦m 14
ssuseraf6e97
Owncloud - cloud solution for SME
Owncloud - cloud solution for SMEOwncloud - cloud solution for SME
Owncloud - cloud solution for SME
Michael Phan
Lap trinh android_co_ban_eclip
Lap trinh android_co_ban_eclipLap trinh android_co_ban_eclip
Lap trinh android_co_ban_eclip
ktvinh
Lap trinhthietbididongvoij2me
Lap trinhthietbididongvoij2meLap trinhthietbididongvoij2me
Lap trinhthietbididongvoij2me
haiokman
Lap trinh thiet bi di dong voi j2me
Lap trinh thiet bi di dong voi j2meLap trinh thiet bi di dong voi j2me
Lap trinh thiet bi di dong voi j2me
c畉u bu畛n V狸 Ai
1 laptrinhthietbididongvoij2me
1 laptrinhthietbididongvoij2me1 laptrinhthietbididongvoij2me
1 laptrinhthietbididongvoij2me
Giang Nguy畛n
M畛t s畛 ng担n ng畛 l畉p tr狸nh ph畛 bi畉n hi畛n nay - Popular programming languages n...
M畛t s畛 ng担n ng畛 l畉p tr狸nh ph畛 bi畉n hi畛n nay - Popular programming languages n...M畛t s畛 ng担n ng畛 l畉p tr狸nh ph畛 bi畉n hi畛n nay - Popular programming languages n...
M畛t s畛 ng担n ng畛 l畉p tr狸nh ph畛 bi畉n hi畛n nay - Popular programming languages n...
Son Le
A4 xay dung va quan tri moi truong mang doanh nghiep 5 8 (25-10-07)[bookboomi...
A4 xay dung va quan tri moi truong mang doanh nghiep 5 8 (25-10-07)[bookboomi...A4 xay dung va quan tri moi truong mang doanh nghiep 5 8 (25-10-07)[bookboomi...
A4 xay dung va quan tri moi truong mang doanh nghiep 5 8 (25-10-07)[bookboomi...
bookbooming1
畛 叩N c董 s畛
畛 叩N c董 s畛畛 叩N c董 s畛
畛 叩N c董 s畛
Phuong Do Anh
畛 叩N c董 s畛
畛 叩N c董 s畛畛 叩N c董 s畛
畛 叩N c董 s畛
Phuong Do Anh
Google chrome os (perfect version)
Google chrome os (perfect version)Google chrome os (perfect version)
Google chrome os (perfect version)
En Tj Pj
Lu畉n vn x但y d畛ng c畛ng th担ng tin i畛n t畛 ubnd t畛nh qu畉ng b狸nh b畉ng wordpress
Lu畉n vn x但y d畛ng c畛ng th担ng tin i畛n t畛 ubnd t畛nh qu畉ng b狸nh b畉ng wordpressLu畉n vn x但y d畛ng c畛ng th担ng tin i畛n t畛 ubnd t畛nh qu畉ng b狸nh b畉ng wordpress
Lu畉n vn x但y d畛ng c畛ng th担ng tin i畛n t畛 ubnd t畛nh qu畉ng b狸nh b畉ng wordpress
nataliej4
Tran Minh Thai Bai Giang Vc
Tran Minh Thai   Bai Giang VcTran Minh Thai   Bai Giang Vc
Tran Minh Thai Bai Giang Vc
Nhat Thien

bao cao athena tuan 1

  • 1. 1.1 Gi畛i thi畛u h畛 i畛u hnh Android Android: l h畛 i畛u hnh tr棚n thi畉t b畛 di 畛ng (mobile, tablet v hi畛n nay l c畉 tr棚n c叩c thi畉t b畛 ph叩t HD, PC) ph叩t tri畛n b畛i Google v d畛a tr棚n n畛n t畉ng Linux. Tr動畛c 但y, Android 動畛c ph叩t tri畛n b畛i c担ng ty li棚n h畛p Android (sau 坦 動畛c Google mua l畉i vo nm 2005). Thi畉t b畛 di 畛ng s畛 d畛ng Android b叩n 動畛c t畉i M畛 trong qu箪 II nm 2010 x畉p v畛 tr鱈 畉u ti棚n v畛i 33%, th畛 2 l BB OS v畛i 28 % v v畛i IOS 畛 v畛 tr鱈 th畛 3 v畛i 22 %. Android c坦 m畛t c畛ng 畛ng nh畛ng nh ph叩t tri畛n r畉t l畛n vi畉t c叩c 畛ng d畛ng cho h畛 i畛u hnh c畛a m狸nh. Hi畛n t畉i c坦 kho畉ng 70.000 畛ng d畛ng Android v vo kho畉ng 100.000 畛ng d畛ng 達 動畛c 畛 tr狸nh, i畛u ny khi畉n Android tr畛 thnh h畛 i畛u hnh di 畛ng c坦 m担i tr動畛ng ph叩t tri畛n l畛n th畛 2. C叩c nh ph叩t tri畛n vi畉t 畛ng d畛ng cho Android d畛a tr棚n ng担n ng畛 Java. S畛 ra m畉t c畛a Android vo ngy 5 th叩ng 11 nm 2007 g畉n v畛i s畛 thnh l畉p c畛a li棚n minh thi畉t b畛 c畉m tay m達 ngu畛n m畛, bao g畛m 78 c担ng ty ph畉n c畛ng, ph畉n m畛m v vi畛n th担ng nh畉m m畛c 鱈ch t畉o n棚n m畛t chu畉n m畛 cho i畛n tho畉i di 畛ng trong t動董ng lai. Google c担ng b畛 h畉u h畉t c叩c m達 ngu畛n c畛a Android theo b畉n c畉p ph辿p Apache. H畛 i畛u hnh Android bao g畛m 12 tri畛u d嘆ng m達; 3 tri畛u d嘆ng XML, 2.8 tri畛u d嘆ng m達 C, 2.1 tri畛u m達 Java v 1.75 tri畛u d嘆ng m達 C ++. . 1.2 Ki畉n tr炭c h畛 i畛u hnh Android H畛 i畛u hnh Android c坦 4 t畉ng t畛 d動畛i l棚n tr棚n l t畉ng h畉t nh但n Linux (phi棚n b畉n 2.6), t畉ng Libraries & Android runtime, t畉ng Application Framework v tr棚n c湛ng l t畉ng Application. 1.2.1 T畉ng h畉t nh但n Linux H畛 i畛u hnh Android 動畛c ph叩t tri畛n d畛a tr棚n h畉t nh但n Linux, c畛 th畛 l h畉t nh但n Linux phi棚n b畉n 2.6, i畛u 坦 動畛c th畛 hi畛n 畛 l畛p d動畛i c湛ng ny. T畉t c畉 m畛i ho畉t 畛ng c畛a i畛n tho畉i mu畛n thi hnh 動畛c th狸 畛u th畛c hi畛n 畛 m畛c c畉p th畉p. 畛 l畛p ny bao g畛m qu畉n l箪 b畛 nh畛 (memory management), giao ti畉p v畛i ph畉n c畛ng (driver model), th畛c hi畛n b畉o m畉t (security), qu畉n l箪 ti畉n tr狸nh (process). Tuy 動畛c ph叩t tri畛n d畛a vo nh但n Linux nh動ng th畛c ra nh但n Linux 達 動畛c n但ng c畉p v ch畛nh s畛a r畉t nhi畛u 畛 ph湛 h畛p v畛i t鱈nh ch畉t c畛a nh畛ng thi畉t b畛 c畉m tay, nh動 h畉n ch畉 v畛 b畛 vi x畛 l箪, dung l動畛ng b畛 nh畛, k鱈ch th動畛c mn h狸nh, nhu c畉u k畉t n畛i m畉ng kh担ng d但y. T畉ng ny c坦 c叩c thnh ph畉n ch畛 y畉u: - Display Driver: i畛u khi畛n vi畛c hi畛n th畛 l棚n mn h狸nh c滴ng nh動 thu nh畉n nh畛ng i畛u khi畛n c畛a ng動畛i d湛ng tr棚n mn h狸nh (di chuy畛n, c畉m 畛ng). - Camera Driver: i畛u khi畛n ho畉t 畛ng c畛a camera, nh畉n lu畛ng d畛 li畛u t畛 camera tr畉 v畛. - Bluetooth Driver: i畛u khi畛n thi畉t b畛 thu v ph叩t s坦ng Bluetooth. - USB driver: Qu畉n l箪 ho畉t 畛ng c畛a c叩c c畛ng giao ti畉p USB. - Keypad driver: i畛u khi畛n bn ph鱈m. - Wifi driver: Ch畛u tr叩ch nhi畛m v畛 vi畛c thu ph叩t s坦ng wifi.
  • 2. - Audio Driver: i畛u khi畛n c叩c b畛 thu ph叩t 但m thanh, gi畉i m達 c叩c t鱈n hi畛u d畉ng audio thnh t鱈n hi畛u s畛 v ng動畛c l畉i. - Binder IPC Driver: Ch畛u tr叩ch nhi畛m v畛 vi畛c k畉t n畛i v li棚n l畉c v畛i m畉ng v担 tuy畉n nh動 CDMA, GSM, 3G, 4G, E 畛 畉m b畉o nh畛ng ch畛c nng truy畛n th担ng 動畛c th畛c hi畛n. - M-System Driver: Qu畉n l箪 vi畛c 畛c ghil棚n c叩c thi畉t b畛 nh動 th畉 nh畛 SD, flash - Power Management: Gi叩m s叩t vi畛c ti棚u th畛 i畛n nng. 1.2.2 T畉ng Library Ph畉n ny c坦 nhi畛u th動 vi畛n 動畛c vi畉t b畉ng C/C++ 畛 c叩c ph畉n m畛m c坦 th畛 s畛 d畛ng, c叩c th動 vi畛n 坦 動畛c t畉p h畛p thnh m畛t s畛 nh坦m nh動: - Th動 vi畛n h畛 th畛ng (System C library): th動 vi畛n d畛a tr棚n chu畉n C, 動畛c s畛 d畛ng ch畛 b畛i h畛 i畛u hnh. - Th動 vi畛n Media (Media Libraries): C坦 nhi畛u codec 畛 h畛 tr畛 vi畛c ph叩t v ghi c叩c lo畉i 畛nh d畉ng 但m thanh, h狸nh 畉nh, video th担ng d畛ng. - Th動 vi畛n web (LibWebCore): 但y l thnh ph畉n 畛 xem n畛i dung tr棚n web, 動畛c s畛 d畛ng 畛 x但y d畛ng ph畉n m畛m duy畛t web (Android Browse) c滴ng nh動 畛 c叩c 畛ng d畛ng kh叩c c坦 th畛 nh炭ng vo. N坦 c畛c k畛 m畉nh, h畛 tr畛 動畛c nhi畛u c担ng ngh畛 m畉nh m畉 nh動 HTML5, JavaScript, CSS, DOM, AJAX - Th動 vi畛n SQLite: H畛 c董 s畛 d畛 li畛u 畛 c叩c 畛ng d畛ng c坦 th畛 s畛 d畛ng - 1.2.3 Ph畉n Android runtime Ph畉n ny ch畛a c叩c th動 vi畛n m m畛t ch動董ng tr狸nh vi畉t b畉ng ng担n ng畛 Java c坦 th畛 ho畉t 畛ng. Runtime c坦 2 b畛 ph畉n t動董ng t畛 nh動 m担 h狸nh ch畉y Java tr棚n m叩y t鱈nh th動畛ng. Th畛 nh畉t l c叩c th動 vi畛n l探i (Core Library), ch畛a c叩c l畛p nh動 Java IO, Collection, File Access. Th畛 hai l m畛t m叩y 畉o Java (Dalvik Virtual Machine). M畉c d湛 c滴ng 動畛c vi畉t t畛 ng担n ng畛 Java nh動ng m畛t 畛ng d畛ng Java c畛a Android kh担ng 動畛c ch畉y tr棚n JRE c畛a Sun m l ch畉y b畉ng m叩y 畉o Dalvik do Google ph叩t tri畛n. 1.2.4 T畉ng Application Framework T畉ng ny x但y d畛ng b畛 c担ng c畛 c叩c ph畉n t畛 畛 m畛c cao 畛 c叩c l畉p tr狸nh vi棚n c坦 th畛 nhanh ch坦ng x但y d畛ng 畛ng d畛ng. N坦 動畛c vi畉t b畉ng Java, c坦 kh畉 nng s畛 d畛ng chung 畛 ti畉t ki畛m ti nguy棚n. 但y l m畛t n畛n t畉ng m畛, i畛u 坦 c坦 2 i畛u l畛i: - V畛i c叩c h達ng i畛n tho畉i: C坦 th畛 t湛y bi畉n 畛 ph湛 h畛p v畛i c畉u h狸nh i畛n tho畉i m h畛 s畉n xu畉t c滴ng nh動 畛 c坦 th畛 c坦 nhi畛u m畉u m達, style h畛p th畛 hi畉u ng動畛i d湛ng. V狸 th畉 n棚n tuy c湛ng chung n畛n t畉ng Android m i畛n tho畉i c畛a Google c坦 th畛 kh叩c v畛i Motorola, HTC, T-Mobile, Samsung - V畛i l畉p tr狸nh vi棚n: Cho ph辿p l畉p tr狸nh vi棚n c坦 th畛 s畛 d畛ng c叩c API 畛 t畉ng tr棚n m kh担ng c畉n ph畉i hi畛u r探 c畉u tr炭c b棚n d動畛i, t畉o i畛u ki畛n cho l畉p tr狸nh vi棚n t畛 do s叩ng t畉o b畛i v狸 ch畛 c畉n quan t但m 畉n n畛i dung m 畛ng d畛ng h畛 lm vi畛c. M畛t t畉p h畛p API r畉t h畛u 鱈ch 動畛c x但y d畛ng s畉n nh動 h畛 th畛ng 畛nh v畛, c叩c d畛ch v畛 ch畉y n畛n, li棚n l畉c gi畛a c叩c 畛ng d畛ng, c叩c thnh ph畉n giao di畛n c畉p cao 1.2.5 T畉ng Application 但y l t畉ng 畛ng d畛ng giao ti畉p v畛i ng動畛i s畛 d畛ng, bao g畛m c叩c 畛ng d畛ng nh動: - C叩c 畛ng d畛ng c董 b畉n, 動畛c ci 畉t i li畛n v畛i h畛 i畛u hnh: g畛i i畛n, qu畉n l箪 danh b畉, duy畛t web, nh畉n tin, l畛ch lm vi畛c, 畛c email, b畉n 畛, quay phim ch畛p 畉nh - C叩c 畛ng d畛ng 動畛c ci th棚m nh動 c叩c ph畉n m畛m h畛c ti畉ng Anh, c叩c tr嘆 ch董i, t畛 i畛n C叩c ch動董ng tr狸nh c坦 畉c i畛m l: - Vi畉t b畉ng Java c坦 ph畉n m畛 r畛ng l apk. - Khi m畛i 畛ng d畛ng 動畛c ch畉y, n坦 c坦 m畛t phi棚n b畉n Virtual Machine 動畛c d畛ng l棚n 畛 ph畛c v畛 cho n坦. - Android l h畛 i畛u hnh a nhi畛m, i畛u 坦 c坦 ngh挑a l trong c湛ng m畛t th畛i i畛m, c坦 th畛 c坦 nhi畛u ch動董ng tr狸nh c湛ng ch畉y m畛t l炭c, tuy nhi棚n v畛i m畛i 畛ng d畛ng th狸 c坦 duy nh畉t m畛t th畛c th畛 (instance) 動畛c ph辿p ch畉y m th担i. i畛u 坦 c坦 t叩c d畛ng h畉n ch畉 s畛 l畉m d畛ng ti nguy棚n, gi炭p h畛 th畛ng ho畉t 畛ng t畛t h董n. - C叩c 畛ng d畛ng 動畛c g叩n s畛 ID c畛a ng動畛i s畛 d畛ng nh畉m ph但n 畛nh quy畛n h畉n khi s畛 d畛ng ti nguy棚n, c畉u h狸nh ph畉n c畛ng v h畛 th畛ng. - Android l m畛t h畛 i畛u hnh c坦 t鱈nh m畛, kh叩c v畛i nhi畛u h畛 i畛u hnh di 畛ng kh叩c, Android cho ph辿p m畛t 畛ng d畛ng c畛a b棚n th畛 3 ch畉y n畛n. C叩c 畛ng d畛ng 坦 ch畛 c坦 m畛t h畉n ch畉 l kh担ng 動畛c ph辿p s畛 d畛ng qu叩 5% c担ng su畉t CPU. i畛u 坦 nh畉m 畛 tr叩nh 畛c quy畛n trong s畛 d畛ng CPU. - 畛ng d畛ng kh担ng c坦 i畛m vo c畛 畛nh, kh担ng c坦 ph動董ng th畛c main 畛 b畉t 畉u. 1.3 H畛 th畛ng t畉p tin tr棚n h畛 i畛u hnh Android 1.3.1 T畛ng quan v畛 h畛 th畛ng file tr棚n Android Trong Android c叩c file 動畛c t畛 ch畛c l動u tr畛 thnh c叩c th動 m畛c theo m担 h狸nh ph但n c畉p. Tham chi畉u 畉n 1 file b畉ng t棚n ho畉c 動畛ng d畉n. C叩c c但u l畛nh thao t叩c file cho ph辿p th畛c hi畛n c叩c ch畛c nng nh動 d畛ch chuy畛n, sao ch辿p ton b畛 th動 m畛c c湛ng v畛i c叩c th動 m畛c con ch畛a trong n坦
  • 3. C坦 th畛 s畛 d畛ng c叩c k箪 t畛, d畉u g畉ch d動畛i, ch畛 s畛, d畉u ch畉m v d畉u ph畉y 畛 畉t t棚n file. Kh担ng 動畛c b畉t 畉u m畛t t棚n file b畉ng d畉u ch畉m hay ch畛 s畛. Nh畛ng k箪 t畛 kh叩c nh動 /, ?, *, l k箪 t畛 畉c bi畛t 動畛c dnh ri棚ng cho h畛 th畛ng. Chi畛u di c畛a t棚n file c坦 th畛 t畛i 256 k箪 t畛. Trong h畛 i畛u hnh Android c坦 s畛 ph但n bi畛t t棚n file ch畛 hoa v ch畛 th動畛ng, i畛u 坦 c坦 ngh挑a l trong c湛ng m畛t th動 m畛c c坦 th畛 t畛n t畉i nh畛ng file c坦 t棚n l: File, FILE, filev ch炭ng l nh畛ng file kh叩c nhau. T畉t c畉 c叩c file trong Android c坦 chung c畉u tr炭c v畉t l箪 l chu畛i c叩c byte. C畉u tr炭c th畛ng nh畉t ny cho ph辿p Android 叩p d畛ng kh叩i ni畛m file cho m畛i thnh ph畉n d畛 li畛u trong h畛 th畛ng. Th動 m畛c c滴ng nh動 c叩c thi畉t b畛 動畛c xem nh動 file. Ch鱈nh vi畛c xem m畛i th畛 nh動 c叩c file cho ph辿p Android qu畉n l箪 v chuy畛n 畛i d畛 li畛u m畛t c叩ch d畛 dng. 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. C叩c thnh ph畉n 動畛c xem nh動 file, ch炭ng 動畛c ph但n bi畛t d畛a tr棚n ki畛u file: ordinary file, directory file, character device file v block device file. 1.3.2 C叩c ki畛u file tr棚n Android Trong h畛 i畛u hnh nh動 Windows, ng動畛i ta ph但n bi畛t r探 file (t畉p tin) v folder (hay directory: th動 m畛c) l 2 thnh ph畉n kh叩c h畉n nhau. Tuy nhi棚n tr棚n h畛 i畛u hnh Android (c滴ng nh動 Linux) th狸 coi directory c滴ng l file v n坦 l m畛t lo畉i file 畉c bi畛t. Th畛c t畉 c嘆n m畛t s畛 lo畉i file kh叩c 動畛c li畛t k棚 theo b畉ng sau: B畉ng 1.1. Li畛t k棚 1 s畛 ki畛u file trong Android Ch畛 c叩i bi畛u di畛n Ki畛u file d Th動 m畛c (Directory) b File ki畛u kh畛i (block-type-special file) c File ki畛u k箪 t畛 (character type special file) l Li棚n k畉t t動畛ng tr動ng (symbolic link) p File 動畛ng 畛ng (pipe) s Socket - File b狸nh th動畛ng (regular file) 1.3.3 T畛 ch畛c quy畛n s畛 h畛u v quy畛n h畉n tr棚n file T動董ng t畛 tr棚n Linux, v畛i h畛 i畛u hnh Android m畛t file c坦 th畛 li棚n k畉t v畛i m畛t ng動畛i s畛 d畛ng v m畛t nh坦m ng動畛i s畛 d畛ng. S畛 li棚n k畉t 坦 l m畛t t畉p h畛p c叩c quy畛n h畉n truy c畉p bao g畛m quy畛n 動畛c ph辿p 畛c (read), 動畛c ph辿p ghi (write) v 動畛c ph辿p th畛c thi (execute). C畛 th畛 nh動 sau: m畛t file s畉 c坦 nh畛ng quy畛n h畉n t動董ng 畛ng v畛i 9 k箪 t畛 theo m畉u sau: V畛i k箪 t畛 r w x ngh挑a l c坦 quy畛n t動董ng 畛ng v畛i k箪 hi畛u vi畉t t畉t 坦, - ngh挑a l kh担ng c坦 quy畛n h畉n 坦. B畉ng 1.2. T畛 ch畛c quy畛n s畛 h畛u v quy畛n h畉n tr棚n file Owner Owner group Other r /- w /- x /- r /- w /- x /- r /- w /- x /- 3 k箪 t畛 畉u ti棚n l quy畛n h畉n c畛a ch畛 nh但n t畛p tin. 3 k箪 t畛 gi畛a l quy畛n h畉n c畛a nh坦m ti kho畉n s畛 h畛u t畛p tin. 3 k箪 t畛 cu畛i l quy畛n h畉n c畛a nh坦m ng動畛i kh担ng c坦 quy畛n s畛 h畛u t畛p tin. V鱈 d畛: M畛t file c坦 d達y k箪 t畛 bi畛u di畛n quy畛n h畉n l rwx r-x r th狸 i畛u 坦 c坦 ngh挑a: 3 k箪 t畛 畉u l rwx: ch畛 nh但n t畛p tin c坦 quy畛n 畛c, ghi v th畛c thi file. 3 k箪 t畛 ti畉p theo l r-x th狸 nh坦m ti kho畉n s畛 h畛u t畛p tin c坦 quy畛n 畛c v th畛c thi file ch畛 kh担ng c坦 quy畛n ghi file.
  • 4. 3 k箪 t畛 cu畛i l r ngh挑a l nh畛ng ng動畛i kh担ng s畛 h畛u file ch畛 動畛c ph辿p 畛c m kh担ng 動畛c ch畛nh s畛a v ch畉y file. 1.3.4 C但y th動 m畛c tr棚n h畛 i畛u hnh Android Th動 m畛c (hay c坦 th畛 g畛i l file) root l th動 m畛c g畛c c畛a t畉t c畉 c叩c file c滴ng nh動 c叩c th動 m畛c c嘆n l畉i. D動畛i n坦 c坦 ch畛a m畛t s畛 file h畛 th畛ng. M畛i th動 m畛c (tr畛 root) 畛u c坦 1 th動 m畛c cha ch畛a n坦, b畉n th但n n坦 c滴ng c坦 th畛 c坦 nhi畛u file, th動 m畛c con. C畉u tr炭c 坦 c坦 th畛 m担 t畉 b畉ng m畛t c但y th動 m畛c c坦 d畉ng nh動 sau: Gi畛i thi畛u m畛t vi th動 m畛c ti棚u bi畛u: - /(root): L th動 m畛c g畛c, th動 m畛c duy nh畉t kh担ng c坦 th動 m畛c cha. - /mnt: th動 m畛c ch畛a thi畉t b畛 l動u 畛ng (removeable). - /system : ch畛a nh畛ng thnh ph畉n c董 b畉n nh畉t c畛a h畛 th畛ng. - /ect : ch畛a nh畛ng file c畉u h狸nh c畛a h畛 th畛ng, n坦 c畛c k畛 quan tr畛ng v狸 s畛 ho畉t 畛ng c畛a h畛 th畛ng 畛u b畛 chi ph畛i 畛 nh畛ng file c畉u h狸nh ny. - /system/lost+found : ch畛a nh畛ng t畉p tin b畛 m畉t l炭c kh畛i 畛ng m叩y. - /system/font : ch畛a nh畛ng font ch畛 hi畛n th畛 動畛c. - /system/lib: ch畛a c叩c th動 vi畛n 畛 c叩c ph畉n m畛m ho畉t 畛ng (c叩c ph畉n m畛m vi畉t b畉ng ng担n ng畛 java). - /system/app : ch畛a c叩c file apk c畛a ph畉n m畛m. (C叩c file ci 畉t 畛ng d畛ng, ki畛u nh動 MSI trong window hay dev trong Linux). - /system/bin : Ch畛a c叩c ch動董ng tr狸nh n畛i tr炭 c畛a h畛 th畛ng. - 1.4 C叩c thnh ph畉n c畛a m畛t 畛ng d畛ng tr棚n Android C叩c thnh ph畉n: vi畛c hi畛u 動畛c c叩c thnh ph畉n (component) t畉o n棚n m畛t 畛ng d畛ng Android l r畉t c畉n thi畉t cho vi畛c l畉p tr狸nh. C叩c thnh ph畉n ny 動畛c chia lm 6 lo畉i bao g畛m: - Activity: hi畛u m畛t c叩ch 董n gi畉n Activity l n畛n c畛a 畛ng d畛ng. Khi kh畛i 畛ng m畛t 畛ng d畛ng Android no 坦 th狸 bao gi畛 c滴ng c坦 main Activity 動畛c g畛i, hi畛n th畛 mn h狸nh c畛a 畛ng d畛ng cho ph辿p ng動畛i d湛ng t動董ng t叩c. - Service: thnh ph畉n ch畉y 畉n trong Android. Service s畛 d畛ng 畛 update d畛 li畛u, 動a ra c叩c c畉nh b叩o (Notification) v kh担ng bao gi畛 hi畛n th畛 cho ng動畛i d湛ng th畉y. - Content Provider: kho d畛 li畛u chia s畉. Content Provider 動畛c s畛 d畛ng 畛 qu畉n l箪 v chia s畉 d畛 li畛u gi畛a c叩c 畛ng d畛ng. - Intent: n畛n t畉ng 畛 truy畛n t畉i c叩c th担ng b叩o. Intent 動畛c s畛 d畛ng 畛 g畛i c叩c th担ng b叩o i nh畉m kh畛i t畉o m畛t Activity hay Service 畛 th畛c hi畛n c担ng vi畛c b畉n mong mu畛n. V鱈 d畛: khi m畛 m畛t trang web, b畉n g畛i i m畛t intent i 畛 t畉o 1 activity m畛i hi畛n th畛 trang web 坦. - Broadcast Receiver: thnh ph畉n thu nh畉n c叩c Intent b棚n ngoi g畛i t畛i. V鱈 d畛: b畉n vi畉t m畛t ch動董ng tr狸nh thay th畉 cho ph畉n g畛i i畛n m畉c 畛nh c畛a Android, khi 坦 b畉n c畉n 1 broadcast receiver 畛 nh畉n bi畉t c叩c Intent l c叩c cu畛c g畛i t畛i. - Notification: 動a ra c叩c c畉nh b叩o m kh担ng lm c叩c Activity ph畉i ng畛ng ho畉t 畛ng. Activity, Service, Broadcast Receiver v Content Provider m畛i l nh畛ng thnh ph畉n ch鱈nh c畉u thnh n棚n 畛ng d畛ng Android v b畉t bu畛c ph畉i khai b叩o trong AndroidManifest. C董 ch畉 qu畉n l箪 ti畉n tr狸nh: android c坦 c董 ch畉 qu畉n l箪 c叩c Process theo ch畉 畛 動u ti棚n. C叩c process c坦 priority th畉p s畉 b畛 Android gi畉i ph坦ng m kh担ng c畉n c畉nh b叩o 畛 畉m b畉o ti nguy棚n. - Foreground process: l process c畛a 畛ng d畛ng hi畛n th畛i ang 動畛c ng動畛i d湛ng t動董ng t叩c. - Visible process: l process c畛a 畛ng d畛ng m activity ang hi畛n th畛 畛i v畛i ng動畛i d湛ng (onPaused() c畛a activity 動畛c g畛i). - Service process: l Service ang running. - Background process: l process c畛a 畛ng d畛ng m c叩c activity c畛a n坦 kh担ng hi畛n th畛 v畛i ng動畛i d湛ng (onStoped() c畛a activity 動畛c g畛i). - Empty process: process kh担ng c坦 b畉t c畛 1 thnh ph畉n no activity. Theo ch畉 畛 動u ti棚n th狸 khi c畉n ti nguy棚n, Android s畉 t畛 畛ng kill process, tr動畛c ti棚n l c叩c empty process. C董 ch畉 ho畉t 畛ng v c叩c thnh ph畉n trong Android Activity: Nh動 達 gi畛i thi畛u 畛 tr棚n, Activity l thnh ph畉n quan tr畛ng nh畉t v 坦ng vai tr嘆 ch鱈nh trong vi畛c x但y d畛ng 畛ng d畛ng Android. H畛 i畛u hnh qu畉n l箪 Activity theo d畉ng stack: Khi m畛t Activity m畛i 動畛c kh畛i t畉o n坦 s畉 動畛c x畉p l棚n 畉u c畛a stack v tr畛 thnhrunning activity, c叩c Activity tr動畛c 坦 s畉 b畛 t畉m d畛ng v ch畛 ho畉t 畛ng tr畛 l畉i khi Activity m畛i 動畛c gi畉i ph坦ng. Activity bao g畛m 4 state: - Active (running): Activity ang hi畛n th畛 tr棚n mn h狸nh (foreground). - Paused: Activity v畉n hi畛n th畛 (visible) nh動ng kh担ng th畛 t動董ng t叩c (lost focus). V鱈 d畛: m畛t Activity m畛i xu畉t hi畛n, hi畛n th畛 giao di畛n 畛 l棚n tr棚n Activity c滴, nh動ng giao di畛n ny nh畛 h董n giao di畛n c畛a Activity c滴, do 坦 ta v畉n th畉y m畛t ph畉n giao di畛n c畛a Activity c滴 nh動ng l畉i kh担ng th畛 t動董ng t叩c v畛i n坦. - Stop: Activity b畛 thay th畉 hon ton b畛i Activity m畛i s畉 ti畉n 畉n tr畉ng th叩i stop.
  • 5. - Killed: Khi h畛 th畛ng b畛 thi畉u b畛 nh畛, n坦 s畉 gi畉i ph坦ng c叩c ti畉n tr狸nh theo nguy棚n t畉c 動u ti棚n. C叩c Activity 畛 tr畉ng th叩i stop ho畉c paused c滴ng c坦 th畛 b畛 gi畉i ph坦ng v khi n坦 hi畛n th畛 l畉i th狸 c叩c Activity ny ph畉i kh畛i 畛ng l畉i hon ton v ph畛c h畛i l畉i tr畉ng th叩i tr動畛c 坦. Bi畛u 畛 mi棚u t畉 Activity state: Khi x但y d畛ng Activity cho 畛ng d畛ng c畉n ph畉i vi畉t l畉i ph動董ng th畛c onCreate() 畛 th畛c hi畛n qu叩 tr狸nh kh畛i t畉o. C叩c ph動董ng th畛c kh叩c c坦 c畉n vi畉t l畉i hay kh担ng t湛y vo y棚u c畉u l畉p tr狸nh. XML trong Android: Kh担ng gi畛ng nh動 l畉p tr狸nh Java th担ng th動畛ng, l畉p tr狸nh Android ngoi c叩c l畛p 動畛c vi畉t trong *.java c嘆n s畛 d畛ng XML 畛 thi畉t k畉 giao di畛n cho 畛ng d畛ng. T畉t nhi棚n b畉n hon ton c坦 th畛 thi畉t k畉 giao di畛n nh動 箪 mu畛n m kh担ng c畉n b畉t k畛 m畛t d嘆ng XML no. Nh動ng vi畛c s畛 d畛ng XML s畉 董n gi畉n h董n r畉t nhi畛u, v d畛 ch畛nh s畛a v畛 sau. Trong xml layout 動畛c d湛ng 畛 qu畉n l箪 c叩c thnh ph畉n giao di畛n kh叩c theo m畛t tr畉t t畛 nh畉t 畛nh. - FrameLayout: layout 董n gi畉n nh畉t, th棚m c叩c thnh ph畉n con vo g坦c tr棚n b棚n tr叩i c畛a mn h狸nh. - Linearlayout: th棚m c叩c thnh ph畉n con theo 1 chi畛u nh畉t 畛nh (ngang ho畉c d畛c). 但y l layout 動畛c s畛 d畛ng nhi畛u nh畉t. - RelativeLayout: th棚m c叩c thnh ph畉n con d畛a tr棚n m畛i quan h畛 v畛i c叩c thnh ph畉n kh叩c ho畉c bi棚n c畛a layout. - TableLayout: th棚m c叩c thnh ph畉n con d畛a tr棚n 1 l動畛i c叩c 担 ngang d畛c. - AbsoluteLayout: th棚m c叩c thnh ph畉n con d畛a theo t畛a 畛 x, y. Layout 動畛c s畛 d畛ng nh畉m m畛c 鱈ch thi畉t k畉 giao di畛n cho nhi畛u 畛 ph但n gi畉i. Th動畛ng khi l畉p tr狸nh th動畛ng k畉t h畛p nhi畛u layout v畛i nhau 畛 t畉o ra giao di畛n nh動 mong mu畛n. 1.5 Qu叩 tr狸nh ph叩t tri畛n Android Android 1.5, Cupcake Ra m畉t: ngy 30-4-2009. Cupcake, t棚n m達 畉u ti棚n 叩p d畛ng cho phi棚n b畉n Android. Cupcake mang nhi畛u t鱈nh nng m畛i nh動 bn ph鱈m 畉o c坦 kh畉 nng d畛 o叩n t畛 ang g探, t畛 i畛n t畛 ng畛 do ng動畛i d湛ng 畉t ra, h畛 tr畛 widget tr棚n giao di畛n ch畛, quay phim v ph叩t l畉i video clip, l動畛c s畛 th畛i gian cu畛c g畛i, ch畉 畛 t畛 畛ng xoay mn h狸nh theo h動畛ng s畛 d畛ng (screen rotation). Tr狸nh duy畛t web trong Cupcake c坦 th棚m kh畉 nng sao ch辿p/ d叩n (copy/paste). Ngoi ra, phi棚n b畉n ny cho ph辿p ng動畛i d湛ng hi畛n th畛 h狸nh 畉nh trong danh b畉, m畛t i畛m th炭 v畛 m h畉u h畉t ng動畛i d湛ng i畛n tho畉i di 畛ng mu畛n c坦. Mn h狸nh chuy畛n 畛i v h狸nh 畉nh khi kh畛i 畛ng m叩y 動畛c lm m畛i. Android 1.6: Donut Ra m畉t: ngy 30-9-2009. Donut kh畉c ph畛c c叩c ch畛c nng l畛ng l畉o trong Cupcake, m畛 r畛ng ch畛c nng t狸m ki畉m b畉ng gi畛ng n坦i v k箪 t畛 畉n bookmark v danh b畉. Android Market tr畛 thnh ch畛 畉u m畛i 畛 ng動畛i d湛ng t狸m ki畉m v xem c叩c 畛ng d畛ng Android. 畛ng d畛ng ch畛p 畉nh v quay phim trong Donut nhanh h董n. H畛 i畛u hnh h畛 tr畛 mn h狸nh c坦 畛 ph但n gi畉i l畛n h董n, h動畛ng 畉n c叩c th畉 h畛 smartphone mn h狸nh l畛n. Android 2.0, Eclair Ra m畉t: ngy 26-10-2009. Ch畛 sau g畉n m畛t th叩ng ra m畉t Donut (Android 1.6), Google tung ra Eclair, phi棚n b畉n 動畛c nh畉n 畛nh l b動畛c i l畛n c畛a h畛 i畛u hnh ny. Eclair c畉i ti畉n r畉t nhi畛u, t畛 giao di畛n 畉n 畛ng d畛ng b棚n trong h畛 th畛ng. 畛ng d畛ng ch畛p 畉nh tng c動畛ng th棚m ch畛c nng zoom s畛 (ph坦ng to), c但n b畉ng tr畉ng, h畛 tr畛 竪n flash v c叩c hi畛u 畛ng mu s畉c. H畛 th畛ng ho畉t 畛ng 畛n 畛nh h董n, c畉i thi畛n kh畉 nng x畛 l箪, h畛 tr畛 k畉t n畛i Bluetooth t畛t h董n, 畉c bi畛t t湛y ch畛n 畛ng b畛 nhi畛u ti kho畉n. M畛t i畛m thu畉n ti畛n 動畛c 叩nh gi叩 cao l炭c b畉y gi畛 l giao di畛n danh b畉 cho ph辿p nh畉n ch畛n vo m畛t 畉nh danh b畉 畛 g畛i, nh畉n tin hay email 畉n h畛. Giao di畛n 畛ng d畛ng l畛ch bi畛u (Calendar) c滴ng thay 畛i. Eclair l phi棚n b畉n Android 畉u ti棚n h畛 tr畛 畉nh n畛n 畛ng (live wallpaper) d湛 t湛y ch畛n ny ti棚u t畛n kh叩 nhi畛u pin. Android 2.2, Froyo Ra m畉t: ngy 20-5-2010. T畛 phi棚n b畉n 2.0 tr畛 i, Android d畉n hon thi畛n h董n. Phi棚n b畉n 2.2 (Froyo) mang Adobe Flash 畉n Android, k辿o theo hng lo畉t 畛ng d畛ng v game tr棚n n畛n Flash. Ng動畛i d湛ng c滴ng c坦 th畛 xem video clip n畛n Flash nh動 YouTube v ra l畛nh th畛c hi畛n cu畛c g畛i qua Bluetooth.
  • 6. M畛t ch畛c nng m畛i trong Froyo 動畛c nh坦m ng動畛i d湛ng l動u 畛ng y棚u th鱈ch l USB Tethering v Wi-Fi Hotspot, bi畉n chi畉c smartphone Android thnh thi畉t b畛 ph叩t s坦ng Wi-Fi t畛 k畉t n畛i 3G. T鱈nh nng ny 動畛c s畛 d畛ng r畉t ph畛 bi畉n 畉n ngy nay. L畉n 畉u ti棚n Android cho ph辿p ci 畉t 畛ng d畛ng (app) l棚n th畉 nh畛 SD thay v狸 m畉c 畛nh ci ngay vo b畛 nh畛 trong c畛a thi畉t b畛. i畛m 畉u ti棚n n畛a trong Froyo bao g畛m m畉t kh畉u 達 h畛 tr畛 s畛 v ch畛 s畛. Thi畉t b畛 畉u ti棚n mang nh達n Froyo ra m畉t th畛 tr動畛ng l HTC Nexus One. Android 2.3, Gingerbread Ra m畉t ngy: 6-12-2010. 畉n cu畛i nm 2012, Gingerbread v畉n ang ph畛 s坦ng tr棚n r畉t nhi畛u thi畉t b畛 d湛ng Android, chi畉m 畉n h董n ph但n n畛a (54%). Google h畛p t叩c Samsung tr狸nh lng d嘆ng smartphone 畉u ti棚n s畛 d畛ng Gingerbread mang t棚n Nexus S, h畛 tr畛 c担ng ngh畛 giao ti畉p t畉m g畉n NFC. Gingerbread 動a vo h畛 th畛ng m畛t c担ng c畛 qu畉n l箪 t畉i t畉p tin, cho ph辿p theo d探i v truy xu畉t 畉n c叩c t畉p tin 達 t畉i v畛 m叩y. H畛 th畛ng ny h畛 tr畛 nhi畛u camera cho c叩c thi畉t b畛 c坦 camera m畉t sau v tr動畛c, qu畉n l箪 ngu畛n pin hi畛u qu畉 h董n, ti畉t ki畛m th畛i l動畛ng pin. Phi棚n b畉n ny kh畉c ph畛c kh叩 nhi畛u l畛i t畛 Froyo, k竪m theo m畛t s畛 i畛u ch畛nh trong giao di畛n ng動畛i d湛ng (UI) Android 3.0, Honeycomb Ra m畉t: ngy 22-2-2011. 但y kh担ng ch畛 l m畛t phi棚n b畉n, m c坦 th畛 xem l m畛t th畉 h畛 Android 畉u ti棚n dnh ri棚ng cho m叩y t鱈nh b畉ng (tablet), ra m畉t c湛ng tablet Motorola XOOM. Mang nh畛ng t鱈nh nng t畛 th畉 h畛 Android 2.x, Android 3.0 c畉i ti畉n giao di畛n ph湛 h畛p v畛i c叩ch s畛 d畛ng m叩y t鱈nh b畉ng, bn ph鱈m 畉o th但n thi畛n h董n, h畛 tr畛 x畛 l箪 a t叩c v畛 (multi-tasking), cho ph辿p chuy畛n 畛i qua l畉i c叩c 畛ng d畛ng ang c湛ng ch畉y. Kh担ng ch畛 c坦 b畛 m畉t 動畛c trau chu畛t, ph畉n l探i h畛 th畛ng c坦 c叩c c畉i ti畉n t動董ng th鱈ch v畛i ph畉n c畛ng nh動 h畛 tr畛 chip x畛 l箪 (CPU) a l探i, tng t畛c ph畉n c畛ng Android 3.0 畉t n畛n m坦ng quan tr畛ng cho th畉 h畛 Android 4.x h畛p nh畉t, kh畉c ph畛c s畛 ph但n m畉ng c畛a Android (c坦 c叩c phi棚n b畉n ri棚ng dnh cho smartphone v tablet). Android 4.0, Ice Cream Sandwich Ra m畉t: ngy 19-10-2011. B叩nh kem sandwich (ICS) l th畉 h畛 Android 動畛c mong 畛i nh畉t 畉n nay, ra 畛i c湛ng d嘆ng smartphone bom t畉n Samsung Galaxy Nexus, th畉 h畛 smartphone 畉u ti棚n trang b畛 ICS. Android 4.0 動a ch畛c nng truy xu畉t nhanh c叩c 畛ng d畛ng th動畛ng d湛ng vo ph畉n b棚n d動畛i giao di畛n ch畛, t湛y bi畉n widget, d畛 s畉p x畉p v duy畛t danh s叩ch 畛ng d畛ng h董n. C叩c 畛ng d畛ng 達 c坦 th畛 truy xu畉t nhanh t畛 mn h狸nh kh坦a thi畉t b畛 (Lock screen), hi畛n c叩c h達ng s畉n xu畉t thi畉t b畛 ch畛 m畛i cho ph辿p Camera c坦 th畛 ch畛n nhanh t畛 Lock screen. Ice Cream Sandwich ho畉t 畛ng m動畛t m, nhanh v 畉p h董n Android 4.1, Jelly Bean Ra m畉t: 9-7-2012. M叩y t鱈nh b畉ng Nexus 7, s畉n ph畉m h畛p t叩c gi畛a Google v Asus, l thi畉t b畛 d湛ng Jelly Bean 畉u ti棚n ra m畉t. Android 4.1 n但ng t畉m ho畉t 畛ng cho h畛 i畛u hnh c畛a Google, tr畛 thnh h畛 i畛u hnh cho thi畉t b畛 di 畛ng hng 畉u hi畛n nay, e d畛a c畉 担ng l畛n Windows. Kh畉 nng s畉p x畉p giao di畛n ch畛 v widget trong Jelly Bean r畉t t湛y bi畉n v linh ho畉t. H畛 th畛ng h畛 tr畛 d畛ch v畛 v鱈 i畛n t畛 Google Wallet, 畉c bi畛t tr狸nh duy畛t web m畉c 畛nh trong Android 動畛c thay th畉 b畛i 畉i di畛n t棚n tu畛i: Chrome, v畛i kh畉 nng 畛ng b畛 d畛 li畛u theo ti kho畉n v畛i b畉n Chrome tr棚n m叩y t鱈nh. Jelly Bean gi畛i thi畛u Google Now, d畛ch v畛 tr畛c tuy畉n m畛i hi畛n ch畛 dnh cho Android, m畛t ph畛 t叩 畉o 畉c l畛c cho c担ng vi畛c s畉p x畉p l畛ch tr狸nh, t狸m ki畉m th担ng tin, x叩c 畛nh v畛 tr鱈 R畉t a nng v 動畛c xem nh動 l畛i 叩p tr畉 c畛a Google v畛i ph畛 t叩 畉o Apple Siri trong iOS. C湛ng v畛i t棚n m達 Jellybean ch炭ng ta c嘆n bi畉t t畛i c叩c phi棚n b畉n 4.1.1, 4.2, 4.2.2, v 4.3 sau ny. Vi畛c ra m畉t Jellybean c坦 th畛 v鱈 nh動 cu畛c c叩ch m畉ng v畛 c叩c t鱈nh nng, khi m Google gi畛i thi畛u hng lo畉t c叩c t鱈nh nng m畛i tr棚n c叩c b畉n n但ng c畉p android sau ny. G畉n 但y nh畉t c坦 th畛 n坦i 畉n 4.3 v畛i hng lo畉t c畉i ti畉n nh動 h畛 tr畛 Bluetooth Smart technology, H畛 tr畛 giao th畛c OpenGL ES 3.0..