Advertisements
YellowCode.Books

Android Architecture Component – Phần 1: Tìm Hiểu Về ViewModel

Trong sự kiện Google I/O 2017 vừa qua (trước cả cái sự kiện Google I/O 2018 của năm nay nhé), nhóm Android Framework của Google có trình bày một kiến trúc mới cho các lập trình viên Android, kiến trúc mới này được gọi với cái tên Architechture Components. Kiến trúc bao gồm một tập hợp nhiều thư viện khác nhau, nhằm mang đến cho chúng ta, các lập trình viên Android, có được các công cụ cần thiết để thiết kế ra các ứng dụng mạnh mẽ, ổn định và dễ dàng bảo trì nhất.

Do có rất nhiều kiến thức liên quan đến kiến trúc mới này của Android, nên mình sẽ chia chúng ra làm nhiều phần để dễ trình bày và tiếp cận. Phần đầu tiên trong chuỗi bài viết này sẽ dẫn bạn đến với một khái niệm có tên ViewModel.

Android Bài 34: Phân Loại Fragment

Có thể đến bài học này bạn thắc mắc rằng, ôi các bài về Fragment sao nó dài lê thê thế, đến bao giờ mới kết thúc đây. Thực ra thì có bao nhiêu đây kiến thức về Fragment mà mình xin phép tổng hợp lại ở các bài viết của mình như sau.
– Làm quen với Fragment – Với bài này bạn đã hiểu tại sao Android lại đẻ ra cái khái niệm Fragment cho việc hiển thị động giao diện trên các thiết bị chạy hệ điều hành này. Bạn cũng biết được Fragment ra đời khi nào và sự hỗ trợ ngược cho các hệ điều hành chưa có Fragment trước đó như thế nào. Bạn cũng thử làm quen với cách tạo một Fragment trong Android Studio.
– Làm quen với việc tạo mới một Fragment – Bài học này tập trung vào việc tạo và hiểu những đoạn code mà khi bạn tạo mới một Fragment bằng Android Studio. FirstFragment và SecondFragment cũng được tạo ra ở bài học này.
– Làm quen với việc hiển thị Fragment – Bạn đã được biết đến cách hiển thị Tĩnh và Động các Fragment lên Activity như thế nào.
– Làm quen với việc hệ thống quản lý Fragment thông qua Back Stack và Vòng đời của nó – Bạn đã hiểu rõ cách hệ thống lưu trữ Fragment trong Back Stack, và cách sử dụng các phương thức callback bên trong vòng đời của Fragment.
Thật thú vị khi được hiểu rõ về Fragment như vậy (chứ không phải đau đầu đâu đúng không nào).

Android Bài 33: Vòng Đời Fragment

Cho đến bài học này, thì mình tin chắc rằng bạn đã biết rõ cách làm việc với Fragment rồi. Tuy nhiên, cũng giống như với Activity, biết sử dụng không có nghĩa là bạn đã hiểu rõ về nó. Và cũng như với các bài học về Activity, khi bạn đã biết cách sử dụng, bạn sẽ tìm cách hiểu rõ cách thức mà Activity làm việc với hệ thống, cụ thể là các kiến thức về Back Stack và vòng đời của Activity. Và vì Fragment cũng như một Activity, thay vì Activity quản lý giao diện của toàn màn hình, thì Fragment lại quản lý giao diện của một phần màn hình bên trong Activity. Do đó, Fragment cũng sẽ có vòng đời của nó, và được hệ thống quản lý như với Activity vậy. Và bài học hôm nay chúng ta sẽ tìm hiểu kỹ kiến thức về Back Stack và vòng đời của Fragment này.

Android Bài 32: Hiển Thị Fragment

Như vậy, kết thúc bài học hôm trước, chúng ta đã có trong tay hai Fragment. Fragment thứ nhất có tên FirstFragment đang hiển thị hai Button. Fragment thứ hai dĩ nhiên là có tên SecondFragment rồi, Fragment này đang chứa một TextView sẽ hiện thị nội dung nào đó tùy theo user sẽ nhấn Button nào ở FirstFragment.

Bài học tiếp theo này chúng ta sẽ tìm cách hiển thị hai Fragment này lên Activity, và thực hiện truyền thông tin qua lại giữa chúng nữa. Bạn sẽ thấy rằng, sử dụng Fragment không khó như bạn nghĩ đâu.

Nào hãy cùng mình xem và thực hành từng bước thông qua các kiến thức của bài học hôm nay nhé.

Android Bài 31: Tiếp Tục Làm Quen Với Fragment

Thông qua bài mở màn về Fragment hôm trước, bạn đã biết được Fragment là gì, tại sao phải dùng đến Fragment, và đã biết cách tạo một Frament như thế nào.

Sang bài học hôm nay, mình dự định sẽ nói về các cách để hiển thị Fragment lên Activity một cách linh động như đã hứa. Nhưng thiết nghĩ với việc tiếp cận “sơ sài” với các dòng code của FirstFragment hôm trước, thì sẽ rất khó để có thể vận dụng vào Activity của bài này. Và còn SecondFragment vẫn chưa được tạo nữa chứ. Thế nên mình quyết định sẽ dành thêm một bài nữa để nói rõ về các dòng code quan trọng khi bạn tạo mới các Fragment theo wizard ở bài trước. Đó là các dòng code được phát sinh theo hai check chọn Include fragment factory methods? và Include interface callbacks?.

Android Bài 30: Làm Quen Với Fragment

Như vậy, đến bài học hôm nay, bạn đã biết rõ khái niệm về Activity trong Android rồi. Bạn đều biết, Activity chính là thành phần được dùng để tổ chức một màn hình trong ứng dụng. Tất nhiên rằng, các thiết bị phần cứng ở những giai đoạn đầu của Android đều có màn hình khá nhỏ và chật chội, nên một Activity khi này đủ mạnh để quản lý một màn hình. Nhưng đời không như mơ, khi mà nhu cầu sử dụng các thiết bị với màn hình lớn ngày càng tăng, không những các tablet mới có màn hình lớn, mà ngay cả các thiết bị được gọi là phone ngày xưa cũng tăng kích thước màn hình lên để trở thành các phaplet (lai tạp giữa phone và tablet). Việc tăng kích thước màn hình trên các thiết bị Android như thế ít nhiều làm tăng thêm “gánh nặng” cho Activity, khiến việc thiết kế UI sao cho vừa có thể chạy tốt trên phone và tablet lẫn phaplet bỗng trở nên khó khăn hơn bao giờ hết cho các lập trình viên chúng ta. Chính vì vậy mà Fragment đã được Google giới thiệu ra nhằm “giảm tải” cái gánh nặng đó.

Qua lời “dẫn truyện” trên đây, bạn đã phần nào hiểu được vai trò của Fragment rồi đúng không nào. Hãy cùng mình xem tiếp các mục bên dưới để có cái nhìn đầy đủ hơn về Fragment này nhé.

Android Studio 3.0 Có Gì Mới?

Đến hẹn lại lên. Phiên bản mới nhất, với những cập nhật CHẤT nhất của Android Studio đã chính thức được xuất xưởng và được thông báo qua sự kiện Google I/O 2017 hồi tháng 10 vừa qua. Như vậy, các lập trình viên chúng ta đã phải chờ đợi trong khoảng 7 tháng kể từ phiên bản trước đó là Android Studio 2.3.

Phiên bản mới Android Studio 3.0 này ngoài việc nâng cấp hiệu suất trong việc build ứng dụng ra, nó còn chứa đựng sự cập nhật đối với ba vấn đề lớn, như việc bổ sung các công cụ chẩn đoán hiệu suất ứng dụng, hỗ trợ chính thức ngôn ngữ Kotlin, và hỗ trợ bộ công cụ giúp bạn tăng tốc độ tương thích của các ứng dụng với Android Oreo (Android 8.0).

Android Bài 29: Truyền Dữ Liệu Qua Lại Giữa Các Activity

Cho đến bài học hôm nay, chắc hẳn các bạn đã rất tự tin với việc thao tác với Activity rồi. Tuy nhiên Activity vẫn còn nhiều điều hay ho khác mà bạn vẫn nên biết. Một trong những điều đó chính là việc làm thế nào mà các Activity có thể “nói chuyện” được với nhau, hay nói cách khác là truyền dữ liệu cho nhau.

Nếu bạn là người mới tiếp cận Android, ngay lúc này đây, có thể bạn vẫn chưa thấy được nhu cầu từ việc truyền dữ liệu qua lại giữa các Activity. Nhưng tin mình đi, mình và những bạn có kinh nghiệm khác đều đã gặp phải nhu cầu này khá sớm. Ngay cả TourNote cũng cần phải xây dựng chức năng truyền dữ liệu qua lại giữa hai Activity rồi đấy. Nếu thấy thú vị thì mời các bạn cùng xem tiếp bài học nhé.

Android Bài 28: Vòng Đời Activity

Qua bài học hôm trước, bạn đã thấy mình cố gắng trình bày các kịch bản mà các Activity, hay chính là các màn hình, được hệ thống quản lý như thế nào. Qua đó bạn cũng đã biết khi nào một màn hình vẫn còn được giữ lại trong hệ thống để phòng trường hợp người dùng bất ngờ quay lại. Hoặc khi nào thì hệ thống hủy đi một màn hình.

Bài học hôm nay chúng ta sẽ chỉ xem xét khía cạnh đời sống của duy nhất một màn hình. Để xem dưới sự tác động bởi hệ thống, thì các trạng thái của em nó sẽ phải trải qua là gì. Và với mỗi trạng thái như vậy bạn sẽ biết cách tác động đến ứng dụng để thực hiện một số tác vụ thích hợp nhất theo từng trạng thái như thế nào.

Nghe qua có vẻ hay đúng không. Mời các bạn cùng đến với bài học Android tiếp theo này.

ConstraintLayout – Phần 2: Các Chức Năng Nâng Cao

Như mình có nói ở phần 1, ConstraintLayout tuy dài (bị tách ra làm hai phần lận), nhưng nó không khó. Qua bài viết đó bạn đã nắm được ý nghĩa và cách sử dụng các công cụ cơ bản nhất mà Android Studio cung cấp để thiết kế kéo-thả cho layout mới mẻ này. Phần tiếp theo này bạn sẽ biết thêm các chức năng hay ho khác của ConstraintLayout, giúp bạn có thể thiết kế được tất cả các layout mà bạn muốn.

Và chắc chắn chúng ta sẽ cùng nhau thử thực hành xây dựng một layout hoàn thiện ở cuối bài hôm nay.