Skip to content

amitshekhariitbhu/Learn-Kotlin-Coroutines

Repository files navigation

Learn Kotlin Coroutines by real examples for Android

About this project:

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

About me

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:

Steps to learn Kotlin Coroutines from this project

You will learn the following from this Learn Kotlin Coroutines project:

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

Kotlin Coroutines Examples for Android Development: Activity and ViewModel

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

If this project helps you in anyway, show your love ❤️ by putting a ⭐ on this project ✌️

License

   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.

Contributing to Learn Kotlin Coroutines

Just make pull request. You are in!

Thanks

Amit Shekhar
Co-Founder @ Outcome School

You can connect with me on:

Read all of our blogs here.