Ever since Google announced Kotlin as the language of choice for Android development, it's become increasingly popular. Current trends suggest that coroutines are the direction in which our industry is clearly headed. This course is for anyone interested in getting experience with Kotlin coroutines.
In this course, you’ll take a hands-on, task-based approach to using coroutines in Android applications. You'll work with the most common tools that Android back-end developers use every day for Kotlin. The course explains what Kotlin coroutines are and how they work. Then, it introduces essential concepts from the kotlinx.coroutines library, such as builders, context, and scope. Kotlin best practices, exception handling, and testing of coroutines are also covered. Finally, the last part of the course will focus on hot and cold data sources, channels, and flows.
By the end of this course, you’ll have tangible experience using Kotlin coroutines and will be ready to build even more coroutines of your choice.
Ever since Google announced Kotlin as the language of choice for Android development, it's become increasingly popular. Current ...Show More
WHAT YOU'LL LEARN
An understanding of how Kotlin coroutines work under the hood
An understanding of how suspension and flows work
Hands-on experience using different coroutine builders
The ability to test time dependencies between coroutines
The ability to use channels for practical use cases
A working knowledge of StateFlow, SharedFlow, and the CoroutineScope functions
An understanding of how Kotlin coroutines work under the hood
Show more
Content
1.
Getting Started
2 Lessons
Get familiar with Kotlin coroutines for concurrent programming in software development.
2.
Understanding Kotlin Coroutines
16 Lessons
Discover the logic behind Kotlin coroutines for asynchronous tasks, from theory to practical applications.
Kotlin Coroutines vs. JVM LibrariesKotlin Coroutines in Frequent Use CasesThread Switching and CallbacksRxJava and Other Reactive StreamsUsing Kotlin CoroutinesCoroutines on the BackendSequence BuilderSequence Builder Real-life UsagesChallenge: Factorial of a Given NumberSolution: Factorial of a Given NumberHow Does Suspension Work?Resuming with a ValueResuming Suspension with an ExceptionChallenge: Suspension Coroutine with Specified Type for OutputSolution: Suspension Coroutine with Specified Type for OutputQuiz: Understanding Kotlin Coroutines
3.
Coroutines Under the Hood
7 Lessons
Examine the inner workings of Kotlin coroutines, focusing on state management and efficiency.
4.
Kotlin Coroutine Library
9 Lessons
Grasp the fundamentals of Kotlin Coroutine Library, coroutine builders, and structured concurrency.
5.
Coroutine Context
6 Lessons
Map out the steps for understanding and managing Kotlin CoroutineContext elements.
6.
Job and Awaiting Children
6 Lessons
Focus on managing coroutine Jobs, parent-child relationships, and effective coroutine synchronization.
7.
Cancellation and Exception Handling
10 Lessons
Piece together the parts of cancellation and exception handling in Kotlin coroutines.
8.
Coroutine Scope Functions
7 Lessons
Try out effective coroutine management with Kotlin coroutine scope functions.
9.
Dispatchers and Constructing a Coroutine Scope
9 Lessons
Walk through dispatchers' roles and mechanisms, and construct effective coroutine scopes in Kotlin.
10.
Shared State
6 Lessons
Go hands-on with efficient coroutine solutions for managing shared state and avoiding deadlocks.
11.
Testing Kotlin Coroutines
8 Lessons
Break down complex ideas in testing Kotlin coroutines, virtual time manipulation, and dispatcher usage.
12.
Channel and Actors
8 Lessons
Deepen your knowledge of channels and actors, their types, parameters, and practical implementation.
13.
Hot and Cold Data Sources
5 Lessons
Follow the process of distinguishing and utilizing hot and cold data streams in Kotlin.
14.
Flow
5 Lessons
Master the steps to handle asynchronous data streams using Kotlin Flow and suspending functions.
15.
Flow Building
5 Lessons
Get familiar with building and managing Kotlin flows for efficient asynchronous data handling.
16.
Flow Lifecycle Functions
5 Lessons
Get started with managing Kotlin Flow lifecycles and handling exceptions effectively.
17.
Flow Processing, SharedFlow, and StateFlow
9 Lessons
Examine flow manipulation, collection processing, fold/scan functions, shared and state flows, and practical challenges.
Certificate of Completion
Showcase your accomplishment by sharing your certificate of completion.
Course Author:
Developed by MAANG Engineers
Trusted by 2.8 million developers working at companies
"These are high-quality courses. Trust me. I own around 10 and the price is worth it for the content quality. EducativeInc came at the right time in my career. I'm understanding topics better than with any book or online video tutorial I've done. Truly made for developers. Thanks"
Anthony Walker
@_webarchitect_
"Just finished my first full #ML course: Machine learning for Software Engineers from Educative, Inc. ... Highly recommend!"
Evan Dunbar
ML Engineer
"You guys are the gold standard of crash-courses... Narrow enough that it doesn't need years of study or a full blown book to get the gist, but broad enough that an afternoon of Googling doesn't cut it."
Software Developer
Carlos Matias La Borde
"I spend my days and nights on Educative. It is indispensable. It is such a unique and reader-friendly site"
Souvik Kundu
Front-end Developer
"Your courses are simply awesome, the depth they go into and the breadth of coverage is so good that I don't have to refer to 10 different websites looking for interview topics and content."
Vinay Krishnaiah
Software Developer
Hands-on Learning Powered by AI
See how Educative uses AI to make your learning more immersive than ever before.
AI Prompt
Code Feedback
Explain with AI
AI Code Mentor
Free Resources