YellowCode.Books

Android Bài 35: Tìm Hiểu Về Danh Sách Tập 1 – Adapter & AdapterView

Hôm nay. Sau nhiều đắn đo đong đếm, mình quyết định sẽ nói tiếp một khía cạnh mạnh mẽ khác của Android. Một thể loại giao diện rất phổ biến, không chỉ trên các thiết bị di động, giao diện có tên: Danh sách.
Nên nhớ Danh sách mà chúng ta nói đến, là một giao diện. Về mặt kiến thức, nó khác với cấu trúc dữ liệu dạng Danh sách (List) mà bài học Java mình sẽ nói đến một cách cụ thể. Và giao diện Danh sách hôm nay có liên quan đến hai khái niệm mở màn: Adapter và AdapterView. Mời bạn cùng đến với 2 thành phần cơ bản này trước tiên.

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

Với việc xem hết bài viết hôm nay, thì bạn cũng đã cùng mình đi qua tổng cộng 4 thành phần lớn trong kiến trúc mới này của Android rồi đấy. Mình xin nhắc lại rằng, với việc hiểu và áp dụng các thành phần mới này vào ứng dụng, sẽ làm cho ứng dụng của bạn trở nên: mạnh mẽ hơn, dễ kiểm lỗi hơn, và dễ bảo trì hơn. Trước khi đi vào tìm hiểu thành phần cuối cùng này, mình xin tóm tắt lại 3 phần trước đây như sau.

Android Architecture Component – Phần 3: Tìm Hiểu Về Lifecycle Aware Components

Ở các phần trước, chúng ta đã cùng nhau nói đến cách sử dụng hai thành phần cơ bản trong bộ kiến trúc Android Architecture Component mà Google mang tới, đó là ViewModel và LiveData.
Quả thật hai thành phần ViewModel và LiveData cũng đã giúp ích chúng ta giải quyết rất nhiều yêu cầu cơ bản từ các ứng dụng hiện nay rồi. Thế nhưng bấy nhiêu đó thôi vẫn chưa nói hết sức mạnh của Android Architecture Component mang lại. Chúng ta còn phải nói nhiều hơn vể công dụng của kiến trúc mới này. Và hôm nay mình xin trình bày một khía cạnh khác nữa của nó, khía cạnh này có cái tên Lifecycle-Aware Components.

Android Studio 3.2 Có Gì Mới?

Thời gian trôi qua rất nhanh, nhanh đến nỗi mà mình đã khuyết hẳn một bài viết về Android Studio 3.1. Để rồi Android Studio 3.2 này ra đời rồi mình mới thấy bất ngờ. Nhưng may mà Android Studio 3.1 cũng không có nhiều những cái mới mẻ lắm, bạn có thể xem lại những cập nhật của phiên bản cũ 3.1 ở link này nếu muốn.

Các tính năng mới trên Android Studio 3.2 được nhắc đến từ sự kiện Google I/O 2018. Tập trung lớn nhất trên công cụ lập trình Android này là giúp các lập trình viên xây dựng các ứng dụng tốt nhất trên hệ điều hành Android 9 Pie, đồng thời theo sát tham vọng Android App Bundle. Ngoài ra còn có vô số cập nhật thú vị khác nữa. Vậy thì các khái niệm mình mới đưa ra là gì, và các tính năng mới của Android Studio 3.2 như thế nào, mình mời các bạn cùng đến với bài viết.

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

Ở nội dung của bài hôm trước, mình đã cố gắng trình bày rõ ràng nhất cho các bạn hiểu về viên gạch đầu tiên trong hệ thống kiến trúc mới này của Android, viên gạch đầu tiên này có cái tên ViewModel.

Hôm nay chúng ta tiếp tục nói đến một hỗ trợ tuyệt vời khác của ViewModel, đó là việc chia sẻ dữ liệu giữa các Fragment. Và nói thêm một thành phần mới trong Android Architecture Component, giúp việc chia sẻ dữ liệu này được cập nhật theo thời gian thực giữa các Fragment, thành phần mới này có tên là LiveData.

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?.