Kotlin Coroutines for Android Masterclass

11h 57m 28s
English
Paid

Course description

This course is your complete guide into the world of Kotlin Coroutines in Android. By the end of this course, you will feel confident to use Coroutines to write reliable, maintainable and responsive applications.

Read more about the course

The philosophy of this course is "learn by coding", so you're going to master Coroutines by solving a series of carefully designed, hands-on exercises. These exercises are built into a tutorial Android application to make them as similar to the "real world" as possible. Therefore, you'll gain practical experience with Coroutines in various typical scenarios that you'll surely encounter in your own Android apps.

All aspects of Coroutines framework are covered in this course:

  • Coroutines as concurrency framework

  • Suspending vs blocking functions

  • Coroutine scope, context and jobs hierarchy

  • Coroutines cancellation

  • Exceptions handling inside Coroutines

  • Structured Concurrency

  • Unit testing with Coroutines

  • and more...

Even though the main goal of this course is to give you practical skills, it also covers all the theory required to understand Coroutines framework at a more conceptual level. In particular, you're going to learn what Structured Concurrency is, what benefits it provides and how Coroutines implement this advanced paradigm.

We will go beyond the functionality of Coroutines framework itself and discuss important design considerations that you need to be aware of to write code that both works right now, and will also be maintainable in the long term.

Given the ever-increasing adoption of Kotlin, it's evident that Coroutines are the future of concurrency in Android world. Therefore, knowledge of this framework is going to become a mandatory skill for Android developers going forward. After completing this course, you'll be able to write reliable and maintainable concurrent code in Android projects using Coroutines framework, and you'll be able to answer even the most tricky questions about this framework at job interviews.

So, if you're serious about Android development and you want to master Kotlin Coroutines, this course is a perfect match for you!

Watch Online

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 82 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing

Watch Online Kotlin Coroutines for Android Masterclass

0:00
/
#1: Introduction

All Course Lessons (82)

#Lesson TitleDurationAccess
1
Introduction Demo
03:50
2
Tutorial Application
02:51
3
Udemy Course Review System
01:20
4
UI Thread Blocking
09:04
5
Concurrency
07:08
6
Background Threads
10:48
7
Coroutines Basics
26:47
8
Coroutines Basics Nuances
05:33
9
Exercise 1
08:48
10
Exercise 1 Solution
07:47
11
Coroutines Cancellation Basics
15:19
12
Exercise 2
05:45
13
Exercise 2 Solution
05:20
14
Concurrent Coroutines
18:23
15
Suspension vs Blocking
07:54
16
Coroutine Scope's Children Cancellation
04:59
17
Exercise 3
04:02
18
Exercise 3 Solution
07:29
19
Coroutines Intuition Summary
09:11
20
Coroutine Scope Cancellation
01:12
21
Scope Cancellation vs Scope's Children Cancellation
08:01
22
Coroutine Scope Inside ViewModel
14:34
23
Coroutine Scope From Kotlin Extensions for ViewModel
03:56
24
Coroutine Scope Cancellation Summary
01:47
25
Structured Concurrency Intro
01:28
26
Fibonacci Computation
05:09
27
Concurrent Fibonacci Computation
15:34
28
Concurrent Fibonacci Computation with Callback on UI Thread
08:20
29
Concurrent Fibonacci Computation Using ThreadPoster Library
10:18
30
Structured Concurrency
18:15
31
Concurrent Fibonacci Computation Using Coroutines (Callback)
24:53
32
Concurrent Fibonacci Computation Using Coroutines (Suspending)
17:30
33
Exercise 4
06:48
34
Exercise 4 Solution
06:29
35
Structured Concurrency Summary
07:18
36
The Main Rule of Concurrency in Android
05:22
37
Encapsulating Concurrency in Use Cases
10:28
38
Exercise 5
02:21
39
Exercise 5 Solution
05:25
40
Design with Coroutines Summary
04:24
41
Coroutine Dispatchers
01:50
42
Main Dispatcher
11:10
43
Background Dispatchers
06:02
44
Unconfined Dispatcher
07:36
45
The Best Dispatching Strategy for Android Applications
13:49
46
Coroutines Cancellation Intro
01:46
47
Cooperative Cancellation
19:22
48
The Importance of Cancellation Exception
17:40
49
Exercise 6
02:42
50
Exercise 6 Solution
06:06
51
NonCancellable
12:14
52
Coroutines Cancellation Summary
04:31
53
Main Coroutines Building Blocks
03:00
54
Coroutines Mechanics Part 1: CoroutineScope and CoroutineContext
17:29
55
Coroutines Mechanics Part 2: CoroutineContext Elements
09:04
56
Coroutines Mechanics Part 3: withContext Function
08:41
57
Coroutines Mechanics Part 4: Jobs Hierarchy
10:21
58
Coroutines Mechanics Part 5: Cancellation Propagation
13:34
59
Coroutines Mechanics Part 6: NonCancellable vs Job()
13:15
60
Exercise 7
05:25
61
Exercise 7 Solution
22:52
62
Exercise 7 Solution Amendment
03:35
63
Coroutines Mechanics Summary
10:45
64
Parallel Decomposition
03:11
65
Exercise 8
11:45
66
Exercise 8 Solution
11:24
67
Shared Mutable State
15:52
68
Async Coroutine Builder
19:03
69
Exercise 9
02:48
70
Exercise 9 Solution
04:45
71
Parallel Decomposition Summary
04:40
72
Exceptions Handling Intro
02:21
73
Uncaught Exception in a Coroutine
10:50
74
CoroutineExceptionHandler
07:26
75
Cancellation Chain on Uncaught Exception
10:09
76
SupervisorJob
05:49
77
Exercise 10
03:08
78
Exercise 10 Solution
09:23
79
Uncaught Exception in Async Coroutine
10:07
80
The Best Way to Handle Exceptions in Coroutines
10:16
81
Exceptions Handling Summary
05:34
82
Course Summary
04:18

Unlock unlimited learning

Get instant access to all 81 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Comments

0 comments

Want to join the conversation?

Sign in to comment

Similar courses

Build SwiftUI apps for iOS 18 with Cursor and Xcode

Build SwiftUI apps for iOS 18 with Cursor and Xcode

Sources: designcode.io
In this course, we will explore the new features of SwiftUI 6 and Xcode 16 for creating applications for iOS 18. You will learn how to work with mesh gradients,
4 hours 35 minutes 14 seconds
iOSExpert

iOSExpert

Sources: algoexpert
Successful iOS developers possess strong competencies in programmatic layout, unit testing, and concurrency. Our three crash courses are specifically designed to develop your e...
8 hours 32 minutes 43 seconds
Mobile System Design

Mobile System Design

Sources: Tjeerd in ’t Veen
Stop getting stuck in a difficult codebase that's hard to modify. Learn how to keep a growing codebase nimble and easily adjustable so that you can focus on...
supastarter - SaaS starter kit for Next.js & Nuxt

supastarter - SaaS starter kit for Next.js & Nuxt

Sources: supastarter
Supastarter is a powerful starter kit for building scalable and production-ready SaaS applications based on Next.js. Save hundreds of hours...
Design and Prototype for iOS 18

Design and Prototype for iOS 18

Sources: designcode.io
"Design and Prototyping for iOS 18" is an immersion into the world of mobile design, where you will master the creation of stylish and user-friendly...
3 hours 15 minutes 32 seconds