Advertisements
YellowCode.Books

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

Java Bài 47: Deadlock

Với việc kết thúc bài học hôm trước thì chúng ta cũng đã xong kiến thức về Đồng bộ hóa Thread. Bạn đã thấy vai trò rất đắc lực của từ khóa synchronized trong việc đảm bảo không xảy ra sự tranh chấp đối với tài nguyên dùng chung rồi đúng không nào. Quả thật synchronized rất tốt, nhưng nếu lạm dụng nó không đúng chỗ, bạn sẽ gặp một tình huống mà bài học hôm nay nhắm đến. Tình huống đó có tên là Deadlock.

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.

Java Bài 46: Đồng Bộ Hóa Tập 3 – Đồng Bộ Cooperation – Các Từ Khóa wait/notify/notifyall

Thật là một thời gian khá lâu cho bài học về Java phần tiếp theo này. Đây có thể được xem là bài viết Java khởi đầu cho năm mới, tuy nhiên lại là một chủ đề “còn nợ” lại từ năm cũ. Có thể vì thời gian đợi khá lâu sẽ làm bạn quên đôi chút. Mình xin nhắc lại là chúng ta đang nói về các cách thức Đồng bộ hóa thread trong lập trình Java. Chúng ta tìm cách làm sao để các Thread tuy được “tự do tự tại” trong việc thực thi các tác vụ song song, lại có thể biết tuân thủ theo các nguyên tắc trật tự nào đó khi chúng có sử dụng chung đến các đối tượng, hay chúng ta gọi là các tài nguyên. Bài hôm trước là một cách, hôm nay chúng ta đến với cách thứ hai.

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.

Java Bài 45: Đồng Bộ Hóa Tập 2 – Đồng Bộ Mutual Exclusive & Từ Khóa synchronized

Như vậy là sau khi kết thúc bài học mở màn về Đồng bộ hóa hôm trước, mình có nói rằng sẽ có hai cách thức để đồng bộ các Thread với nhau. Các cách đồng bộ này đều mang đến một mục tiêu chung là giới hạn các Thread truy cập vào cùng một tài nguyên dùng chung. Và bài học hôm nay mình sẽ trình bày cụ thể cách thức đầu tiên trong hai cách trên đây, cách thức này có cái tên Loại trừ lẫn nhau (Mutual Exclusive). Sau các bài học về đồng bộ này, bạn sẽ biết cách làm thế nào để tránh sự xung đột về tài nguyên hệ thống khi làm việc với Multithread, và cả biết xem khi nào thì nên dùng cách thức đồng bộ nào nữa đấy.

Java Bài 44: Đồng Bộ Hoá Tập 1 – Làm Quen Với Đồng Bộ Hoá

Còn nhớ bài trước mình có hứa ở cuối bài rằng hôm nay chúng ta sẽ xem xét tất cả các phương thức hữu dụng của Thread. Nhưng mình nhận ra rằng đa số các phương thức hay ho mà Thread mang lại đều xoay quanh việc làm sao giúp đồng bộ các Thread trong một Process với nhau.

Vậy thì, để dễ dàng hơn cho các tổng hợp về các phương thức mà mình đã hứa, mình quyết định sẽ trình bày sang kiến thức về cái sự Đồng bộ hoá các Thread này. Trong quá trình tiếp cận khái niệm về Đồng bộ hoá, bạn sẽ hiểu rõ hơn các phương thức hữu dụng bên trong một Thread hơn thôi. Hôm nay chúng ta sẽ bắt đầu làm quen với các khai niệm sơ khởi về Đồng bộ hoá trước. Mời các bạn cùng đến với bài học.

Java Bài 43: Thread Tập 3 – Vòng Đời Của Thread

Với việc làm quen với Thread ở bài hôm trước, bạn đã biết rằng có hai cách để chúng ta tạo ra một Thread rồi.

Bước sang phần này của Thread, chúng ta cùng tìm hiểu sâu hơn về Thread, để xem khi bạn tạo ra một Thread nào đó, thì vòng đời của nó sẽ như thế nào? Thread đó sẽ trải qua những trạng thái nào trong vòng đời đó? Dựa vào các trạng thái đó, làm sao để các Thread có thể đồng bộ hoá, hay có thể hiểu là tự điều chỉnh độ ưu tiên trong việc thực thi tác vụ giữa các Thread trong cùng một Process với nhau? Mời bạn cùng đến với những kiến thức thú vị này hôm nay.

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.