DANH MỤC TÀI LIỆU
Android Architechture Components và những điều mà các lập trình viên cần biết
Nh ng đi u c n bi t v Android ế ề Architechture Components
1. M đ uở ầ
Nh b n đã bi t Google I/O 2018 đã đ a ra Android Jetpack, là m t t p ư ạ ế ư
h p các libraries, tools và architechtural guidance đ giúp b n t o ra các ạ ạ
ng d ng Android tuy t v i m t cách nhanh chóng và d dàng. Nó cung ệ ờ
c p mã code c b n, là n n t ng cho b n thi t k ng d ng tr nên đ c ơ ế ế ứ
đáo.
Trong Android Jetpack có Android Architechture Components, là m t b s u ộ ư
t p các th vi n giúp các l p trình viên thi t k các ng d ng Android m t ư ệ ế ế
cách m nh m , có th d dàng test và maintain. Ban đ u là xây d ng m t ể ễ
s l p dùng đ qu n lý vòng đ i thành ph n UI và x lý data m t cách b nố ớ
v ng, hi u qu . ệ ả
bài vi t này mình xin trình bày các components c a Android Ở ế
Architechture Components là Navigation, Paging, WorkManager và Data
Binding. V i 3 thành ph n đ u Navigation, Paging và WorkManager r t ầ ầ
m i m c Google I/O tháng 5 2018 gi i thi u cùng Android Jetpack) ẻ ượ
còn Data Binding thì đã có t khá lâu.
T t c chúng sinh ra là gi i pháp cho thi t k ng d ng Android trong ế ế ứ
t ng lai. Chúng ta hãy ti p t c đ c qua và xem có đ ng l i gì không nhé.ươ ế ụ
Paging
Nhi u ng d ng ho t đ ng v i m t t p h p d li u l n nh ng ch c n ư ỉ ầ
load và display m t ph n nh t i m t th i đi m nh t đ nh. N u b n không ạ ộ ờ ể ế
c n th n, b n ph i request data b n không c n thi t lãng phí pin c a ng iẩ ậ ạ ế ườ
dùng và băng thông. N u d li u đang hi n th c a b n liên t c c p nh t, ế ị ủ
có th khó gi cho giao di n c a ng d ng đ ng b và v n ch g i m t ứ ụ ồ ộ
l ng nh thông tin qua internet. Thì Paging ra đ i đ gi i quy t nh ng ượ ờ ể ả ế
v n đ này:ấ ề
Cho phép b n t i gi li u t ng chút m t và m t mà (gradually and ữ ệ ượ
gracefully).
Th vi n này h tr c nh ng danh sách d li u l n bounded và ư ợ ả
unbounded. Ch ng h n nh liên t c c p nh t ngu n d li u.ẳ ạ ư ậ ậ
Tích h p v i RecyclerView, th ng đ c s d ng đ hi n th m t ườ ượ ử ụ
l ng d li u l n.ượ ữ ệ
K t h p đ c đáo v i LiveData ho c RxJava đ quan sát d li u m i ế ữ ệ
trong giao di n ng i dùng.ệ ườ
Paging Library đ c xây d ng trên ý t ng t g i danh sách d li u b ng ượ ưở ừ ử
LiveData t i RecyclerView, m c đích là đê t i d li u d n d n. ữ ệ
Các thành ph n chính c a Paging là PagedList và DataSource.ầ ủ
PagedList là m t Collection, t i d li u theo t ng m nh nh m t cách b t ữ ệ
đ ng b t DataSource. ộ ừ
Data Source là m t l p c s cho vi c load b n sao data vào trong ơ ở
PagedList. Có th đ c h tr b i Network, Database, File, Any other ể ượ ỡ ở
source.
3. Navigation
Navigation Architechture Component đ n gi n hóa vi c tri n khai c a s ơ ủ ự
đi u h ng trong ng d ng Android.ề ướ
Các nguyên t c c a Navigation.ắ ủ
1. ng d ng ph i có m t đi m b t đ u c đ nh: Là màn hình mà ng i ố ị ườ
dùng nhìn th y khi h kh i ch y ng d ng c a b n t trình kh i ạ ứ
ch y. Đi m đ n này cũng là màn hình cu i cùng ng i dùng nhìn ể ế ườ
th y khi h quay l i trình kh i ch y b ng n nút back. ạ ằ
2. M t ngăn x p đ c s d ng đ đ i di n cho “navigation state” c a ế ượ ử ụ ể ạ
m t ng d ng. Navigation state ph i đ c th hi n b ng c u trúc ộ ứ ượ
last in, first out. Đi m b t đ u c a ng d ng cu i ngăn x p và ủ ứ ế
đi m hi n t i đ u ngăn x p. ạ ở ế
3. Up Botton không bao gi thoát kh i ng d ng. N u ng i dùng ỏ ứ ế ườ
đi m xu t phát, Up Botton không đ c hi n th . Khi ng d ng đ c ượ ứ ụ ượ
kh i ch y b ng liên k t sâu trên tác v c a m t ng d ng khác, Up ế ộ ứ
Botton s đ a ng i dùng đ n đích cha m phân c p và không quay ẽ ư ườ ế
tr l i ng d ng khác.ở ạ ứ
4. Up và Back t ng đ ng v i nhi m v c a ng d ng. Khi nút Back ươ ươ ụ ủ ứ
không thoát kh i ng d ng c a b n, ch ng h n nh khi b n đang ứ ụ ẳ ạ ư
th c hi n nhi m v c a riêng mình ch không ph i t i đi m xu t ụ ủ
phát, nút Up s ho t đ ng gi ng v i nút Back. ạ ộ
5. Liên k t sâu ho c đi u h ng đ n cùng m t đi m đ n s d n đ n ế ướ ế ế ẽ ẫ ế
cùng m t ngăn x p.ộ ế
4. WorkManager
Trong Android, b n có bi t đ x lý công vi c d i background có th ế ể ử ướ
th c hi n bao nhiêu cách không?ự ệ
R t nhi u cách đúng không nào! Tùy vào t ng bài toán mà b n ph i có l a ạ ả
ch n cho thích h p. Đ th phía d i, tr c d c đ c tr ng cho th i gian tiêu ồ ị ướ ư
t n và tr c ngang là ch t l ng công vi c. ấ ượ
Thì góc mà th i gian tiêu t n ít nh t và ch t l ng công vi c t t nh t là ấ ượ
s t h p s d ng c a 4 đ i t ng JobSheduler, JobDispatcher, ự ổ ư
AlarmManager và BroadcastReceivers. Đ thay th dùng m t lúc c 4 đ i ế ả ố
t ng này thì ta WorkManager đ c sinh ra!ượ ượ
WorkManager là m t th vi n t ng thích, linh ho t và đ n gi n đ x ư ệ ươ ơ
các công vi c d i background (công vi c đ ng b cũng nh không đ ng ệ ướ ệ ồ ư
b , đ n gi n cũng nh ph c t p). WorkManager hi n t i đang là phiên b n ơ ư ứ ạ
Alpha, khi n đ nh nó s là công c s p x p l ch các tasks trong Android. ụ ắ ế
WorkManager th c hi n các background tasks đòi h i m t cách nhanh ỏ ộ
chóng và đ m b o. Th c thi nhanh chóng có nghĩa là WorkManager s th c ẽ ự
hi n công vi c background c a b n ngay khi có th .Th c thi đ m b o có ệ ở
nghĩa là WorkManager s th c hi n logic đ b t đ u công vi c c a b n ể ắ
trong nhi u tình hu ng, ngay c khi b n đi u h ng kh i ng d ng c a ướ ỏ ứ
mình.
WorkManager là m t th vi n đ n gi n nh ng c c kì linh ho t và có nhi u ư ệ ơ ư
l i ích b sung:ợ ổ
1. H tr cho các task đ nh kì và các task không đ ng b m t ph n.ỗ ợ
2. H tr các ràng bu c nh đi u ki n internet, không gian l u tr ỗ ợ ư ư
tr ng thái s c.ạ ạ
3. Chu i các công vi c yêu c u ph c t p, bao g m c ch y song song. ứ ạ
4. Đ u ra c a yêu c u ng i dùng đ c s d ng cho đ u vào ti p theo. ườ ượ ử ụ ế
5. X lý c các m ng API nh h n 14. ỏ ơ
6. Làm vi c có ho c không các d ch v c a Gooogle Play. ụ ủ
7. H tr LiveData đ d dàng hi n th UI. ể ễ
Còn nhi u l i ích n a.ề ợ
M t s ví d các task s d ng t t WorkManager: ử ụ
Uploading Logs
thông tin tài liệu
Trong Android Jetpack có Android Architechture Components, là một bộ sưu tập các thư viện giúp các lập trình viên thiết kế các ứng dụng Android một cách mạnh mẽ, có thể dễ dàng test và maintain. Ở bài viết này tôi xin trình bày các components của Android Architechture Components.
Mở rộng để xem thêm
xem nhiều trong tuần
yêu cầu tài liệu
Giúp bạn tìm tài liệu chưa có

LÝ THUYẾT TOÁN


×