- This project is for someone who wants to get started with Kotlin Coroutines.
- I have tried to add the examples we implement in our Android project frequently.
Hi, I am Amit Shekhar, Co-Founder @ Outcome School • IIT 2010-14 • I have taught and mentored many developers, and their efforts landed them high-paying tech jobs, helped many tech companies in solving their unique problems, and created many open-source libraries being used by top companies. I am passionate about sharing knowledge through open-source, blogs, and videos.
You can connect with me on:
- Learn all the concepts of Kotlin Coroutines from this blog: Mastering Kotlin Coroutines
- Learn about the Suspending vs Blocking in Kotlin Coroutines: Suspending vs Blocking in Kotlin Coroutines
- Learn about the Launch vs Async in Kotlin Coroutines from here: Launch vs Async in Kotlin Coroutines
- Learn about the Dispatchers from here: Dispatchers in Kotlin Coroutines
- Learn about the
coroutineScope
vssupervisorScope
from here: coroutinescope vs supervisorscope - Blog suspend function in Kotlin Coroutines
- Blog Kotlin withContext vs Async-await
- Blog CoroutineContext in Kotlin
- Blog Callback to Coroutines in Kotlin
- Blog Retrofit with Kotlin Coroutines
- Blog Parallel Multiple Network Calls Using Kotlin Coroutines
- Blog Room Database with Kotlin Coroutines
- Blog Unit Testing ViewModel with Kotlin Coroutines and LiveData
- Then, just clone, build, run the project and start learning Kotlin Coroutines by examples.
- Step by step guide on how to implement the Kotlin Coroutines in Android.
- Doing simple task in background using Kotlin Coroutines.
- Doing tasks in series using Kotlin Coroutines.
- Doing tasks in parallel using Kotlin Coroutines.
- Making two network calls in parallel using Kotlin Coroutines.
- What are scopes in Kotlin Coroutines?
- Canceling background task using Kotlin Coroutines.
- Exception handling in Kotlin Coroutines.
- Using Kotlin Coroutines with Retrofit. Blog: Retrofit with Kotlin Coroutines
- Using Kotlin Coroutines with Room Database.
- Using Kotlin Coroutines with various 3rd party libraries.
- Adding timeout to a task using Kotlin Coroutines.
- Writing Unit-Test for ViewModel which uses Kotlin Coroutines.
-
Single Network Call: Learn how to make a network call using Kotlin Coroutines. This is a very simple use-case in Android App Development. Blog: Retrofit with Kotlin Coroutines
-
Series Network Calls: Learn how to make network calls in series using Kotlin Coroutines. This is useful when you want to make a network call which is dependent on an another network call.
-
Parallel Network Calls: Learn how to make network calls in parallel using Kotlin Coroutines. This is useful when you want to make network calls in parallel which are independent of each other.
-
Room Database Operation: Learn how to fetch or insert entity in database using Kotlin Coroutines. This is useful when you are using Room Database in your Android Application.
-
Long Running Task: Learn how to run a long running task using Kotlin Coroutines. If you want to do any of your task in background thread using the Kotlin Coroutines, then this is useful.
-
Two Long Running Tasks: Learn how to run two long running tasks in parallel using Kotlin Coroutines.
-
Timeout: Learn how to add timeout to a task using Kotlin Coroutines. If you want to add a timeout to any of your background task in Android, this is going to super useful.
-
Try-Catch Error Handling: Learn how to handle error in Kotlin Coroutines using Try-Catch.
-
CoroutineExceptionHandler: Learn how to handle error in Kotlin Coroutines using CoroutineExceptionHandler.
-
Ignore Error And Continue: Learn how to use
supervisorScope
to ignore error of a task and continue with other task. In other words, if more than two child jobs are running in parallel under a supervisor, one child job gets failed, we can continue with other. -
Unit Test: Learn how write unit-test for ViewModel which uses Kotlin Coroutines.
Copyright (C) 2024 Amit Shekhar
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Just make pull request. You are in!
Thanks
Amit Shekhar
Co-Founder @ Outcome School
You can connect with me on: