+1

Cùng tìm hiểu Coroutines trong Kotlin

share
  • 4 0
  • Report
Published at Nov 5th, 2:34 AM 4 0 0 1
  • 4 0
  • Report

I. Giới thiệu về Kotlin Coroutines

  • Kotlin Coroutines trong Android được biết đến như một cách để quản lý các background threads nhằm tối giản code và giảm thiểu các phần xử lý liên quan đến callbacks.

  • Kotlin Coroutines là một tính năng của Kotlin sẽ convert các callback bất đồng bộ cho các tác vụ chiếm nhiều thời gian (long-running task) như database, network access vào trong đoạn mã tuần tự.

  • Dưới đây là ví dụ về async callbacks và sau khi xử lý chúng với coroutines

// Async callbacks
networkRequest { result ->
   databaseSave(result) { rows ->
     // Result saved
   }
}
// The same code with coroutines
val result = networkRequest()
databaseSave(result)
// Result saved

II. Chuẩn bị

  • Bạn sẽ học được những gì?
  1. Làm thế nào để gọi các đoạn code được viết bởi coroutines và nhận được các kết quả.
  2. Làm thế nào để sử dụng suspend functions để các phần bất đồng bộ chạy tuần tự.
  3. Cách sử dụng launchrunBlocking để control code được executes như thế nào.
  4. Kỹ thuật convert những APIs có sẵn sang coroutines với suspendCoroutine.
  5. Cách sử dụng coroutines với Architechture Components.
  6. Các bài tập để testing coroutines.
  1. Android Architechture Components: ViewModel, LiveData, RepositoryRoom (Room with a View).
  2. Kotlin syntax bao gồm các extension functions và lambdas.
  3. Cách sử dụng threads trên Android bao gồm main thread, background threadscallbacks. (Phần này khá quan trọng, bạn có thể tìm hiểu thêm tại Guide to background processing)

III. Cài đặt

  • Download file Zip hoặc clone từ GitHub repository về:

git clone https://github.com/googlecodelabs/kotlin-coroutines.git

kotlin-coroutines repository này sẽ bao gồm 03 app projects khác nhau:

  • kotlin-coroutines-start — Một ứng dụng đơn giản giúp bạn khám phá cách làm coroutine đầu tiên.
  • kotlin-coroutines-repository — Project được based trên các callback, việc của bạn là convert chúng sang sử dụng coroutines.
  • kotlin-coroutines-end — Project đã được thêm vào coroutines.
share