YellowCode.Books

Thông Thạo Jetpack – Phần 2 – Android KTX

Android KTX này thực sự rất thú vị, tuy đôi lúc nó gây ra sự bối rối đối với các lập trình viên nếu không biết về thể loại thư viện này, bởi thay vì dùng các cách được khuyến cáo của từng loại thư viện, Android KTX lại cho ra một cách viết khác. Nguyên nhân bởi vì Android KTX không phải một dạng thư viện phục vụ cụ thể cho một mục đích nào đó như anh em của nó trong họ Jetpack, mà nó giúp tăng cường tính “thẩm mỹ” cho các thư viện họ hàng, giúp các lập trình viên dễ dàng thao tác với các thư viện Jetpack và cả không phải Jetpack khác, bằng cách cung cấp những dòng code đẹp hơn, dễ nhìn hơn. Và dĩ nhiên cũng giúp giảm lỗi hơn với việc code ngắn gọn và xúc tích hơn kiểu này. Ngoài việc mang đến một ngoại hình mới cho các dòng code của các thư viện đã có, Android KTX còn giúp chúng ta có những ý tưởng thú vị hơn trong việc xây dựng nên những Kotlin Extension cho project của chúng ta. Tất cả những ý đẹp đẽ trên đây cụ thể như thế nào mời các bạn cùng vào bài viết với mình.

Thông Thạo Jetpack – Phần 1 – Jetpack Là Gì?

Jetpack là một bộ các thư viện được Google giới thiệu từ tháng 5 năm 2018. Vâng rất nhiều thư viện. Và bộ thư viện này vẫn đang được Google bổ sung thêm cho tới ngày nay. Một trong số chúng là các thư viện dùng để thay thế các thư viện cũ mà trước đây các lập trình viên Android vẫn quen dùng. Phần lớn còn lại là các thành phần (hay còn gọi là component) mới. Không có một ràng buộc nào bắt bạn phải sử dụng hoàn toàn Jetpack cho việc xây dựng ứng dụng của bạn cả, nhưng nếu biết đến nó và nắm bắt được nó, như logo hay ý nghĩa mà Jetpack mang lại, nó sẽ là một “bệ phóng tên lửa”, sẽ tạo một lực đẩy mạnh mẽ đẩy bạn cũng như ứng dụng của bạn tiến nhanh về phía trước.

Modern Android Architectures – MVC/MVP/MVVM – Phần 1: Giới Thiệu Các Mô Hình Kiến Trúc

Thực sự thì rất lâu rồi mình không viết bài nào mới cả. Điều này làm mình rất áy náy và ngứa ngáy. Mình sợ để lâu nữa sẽ không ai thèm ngó ngàng gì đến blog của mình nữa. Đùa thôi chứ mình biết nhiều bạn vẫn thường vào xem có bài viết mới chưa.
Do đó ngay khi quyết định quay lại và duy trì lượng bài viết mà mình đã giữ nhịp trong suốt mấy năm qua, mình muốn nói ngay đến chủ đề mà nhiều bạn cũng đã đặt câu hỏi từ lâu, đó là chủ đề về Modern Android Architectures. Chính là nói về các kiến trúc theo các khuôn mẫu (pattern) MVC, MVP hay MVVM.
Với Phần 1 hôm nay mình sẽ nói sơ qua về tổng quan các khuôn mẫu kiến trúc này, chúng là gì và tại sao chúng ta lại cần một khuôn mẫu như thế này. Và chúng ta sẽ cùng xây dựng một ứng dụng nhỏ không phải là bất kỳ khuôn mẫu nào trong số cái mình đã kể ra trên đây, để có thể so sánh với khuôn mẫu ở các bài viết sau đó mà.

Android Bài 36: Tìm Hiểu Về Danh Sách Tập 2 – ListView & ListActivity

Ở phần này, chúng ta tạm gác việc tìm hiểu thêm về Adapter. Mà hãy tiếp tục nói về ListView, AdapterView này còn có nhiều điều để nói lắm đấy. Rồi mở rộng hơn, dựa trên kiến thức khá ổn của ListView, ở bài sau chúng ta sẽ nói đến nhiều các thể loại AdapterView khác, dù giao diện chúng có khác nhau, nhưng cách thức xây dựng cũng sẽ gần như ListView mà thôi. Sau cùng, chúng ta cùng nhau quay lại Adapter để mổ xẻ phần tử này, khi mà kiến thức sử dụng AdapterView đã khá vững vàng.

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.

Kotlin Bài 6: Các Kiểu Dữ Liệu Trong Kotlin

Kết thúc bài học về Dữ liệu & Kiểu dữ liệu hôm trước, bạn đã biết tại sao mà một ngôn ngữ lập trình định nghĩa ra Dữ liệu, và phân làm nhiều Kiểu dữ liệu rồi. Bạn còn sử dụng Biến và Hằng để chính thức giúp chương trình của bạn có được Dữ liệu để tương tác cũng như lưu trữ. Thông qua các khái niệm và các ví dụ từ bài học cũ này, bạn đã phần nào làm quen với một vài Kiểu dữ liệu mà Kotlin hỗ trợ. Sang bài học hôm nay, bạn sẽ được làm quen cụ thể từng Kiểu dữ liệu một, xem các kiểu này là gì và có khó áp dụng không nhé.

Kotlin Bài 5: Khái Niệm Dữ Liệu, Kiểu Dữ Liệu & Khai Báo Biến

Như vậy bạn đã có trong tay các công cụ cần thiết để thử nghiệm lập trình với Kotlin rồi. Và bạn cũng đã thực thi vài dòng code rồi đấy thôi. Từ bài học hôm nay, chúng ta sẽ dần hé mở các nguyên tắc của các dòng code, để giúp bạn ngày càng sáng tỏ và thông thạo hơn đối với ngôn ngữ Kotlin. Nào, hãy bắt đầu với khái niệm Dữ liệu và Kiểu dữ liệu trong lập trình nhé.

Kotlin Bài 4: Làm Quen Với Ngôn Ngữ Kotlin

Bài trước các bạn đã cùng mình tạo mới project Android có hỗ trợ Kotlin, tuy nhiên với Android, có một điều rất thú vị là ngay khi bạn tạo xong một project, bạn hoàn toàn có thể thực thi ngay lên ứng dụng thật hay ảo mà không cần biết đến lập trình là gì cả.
Điều này làm cho các bạn nào mới tiếp cận với lập trình đều cảm thấy rất ngứa ngáy. Bạn sẽ muốn được thử nghiệm gõ vào các dòng code để xem như thế nào, thực thi chúng ra sao đúng không. Bạn đừng vội quá, bài học hôm nay sẽ giúp làm giảm triệu chứng ngứa ngáy của bạn một chút. Chúng ta sẽ cùng nhau tiếp cận ở mức làm quen sơ bộ về lập trình Kotlin, để xem ngôn ngữ này nó trông như thế nào, cách luyện tập ra sao, và dĩ nhiên chúng ta sẽ cùng thực thi code đó để xem sẽ ra kết quả là gì nhé.

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.