Photo by Marc Reichelt on Unsplash

Ahmed is a developer, who loves spending his spare time reading e-books. One day, he opened a pdf download app, started searching for some books, then started downloading, suddenly the app started to lag, then the UI became irresponsive, then BAM, the app crashed.
Users may be annoyed of such an experience, and may delete the app from their devices.

There are many reasons of the aforementioned case to happen, the one we are considering here is Threading.

As an up-to-date android developer, Ahmed didn’t want this scenario to happen with his app users. …


Photo by Sharon Co Images on Unsplash

As an android developer, It’s common to deal with list views and Recycler View, And you, as me, may feel the pain of creating adapters, overriding getItemCount(), onBindViewHolder(), onCreateViewHolder().

Let’s go through the process of creating a simple recycler view and compare it with Jetpack Compose

Here is a simple recycler view adapter, with nested view holder


Photo by Marc Reichelt on Unsplash

You can find episode 1 here

Okay, now, after taking his nap, Ahmed felt good. He started his daily routine by Praying, taking his breakfast, then he continued researching about coroutines.

He wanted to know what’s behind that suspend keyword, he kept his progress reading,

Coroutines is the idea that a function can suspend its execution at some point and resume later on.

Ahmed is almost convinced to choose coroutines over other solutions. but wanted to write some code to see it in action. He found the following code snippet to show a simple coroutine at kotlinlang website

Ahmed Nabil

Kotlin Lover, Android Engineer, Public speaker, twitter.com/AhmedNMahran, youtube.com/AhmedNMahran Founder of Kotlin Egypt : twitter.com/KotlinEgypt

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store