Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Learn Spring for Android Application Development

You're reading from   Learn Spring for Android Application Development Build robust Android applications with Kotlin 1.3 and Spring 5

Arrow left icon
Product type Paperback
Published in Jan 2019
Publisher Packt
ISBN-13 9781789349252
Length 392 pages
Edition 1st Edition
Languages
Tools
Arrow right icon
Authors (2):
Arrow left icon
S. M. Mohi Us Sunnat S. M. Mohi Us Sunnat
Author Profile Icon S. M. Mohi Us Sunnat
S. M. Mohi Us Sunnat
Igor Kucherenko Igor Kucherenko
Author Profile Icon Igor Kucherenko
Igor Kucherenko
Arrow right icon
View More author details
Toc

Table of Contents (13) Chapters Close

Preface 1. About the Environment FREE CHAPTER 2. Overview of Kotlin 3. Overview of Spring Framework 4. Spring Modules for Android 5. Securing Applications with Spring Security 6. Accessing the Database 7. Concurrency 8. Reactive Programming 9. Creating an Application 10. Testing an Application 11. Assessments 12. Other Books You May Enjoy

Sequential operations

One of the most important benefits of the coroutines approach is a guarantee that functions are invoked in the same order in which they are written. The order of the operations is a very important nuance when we execute concurrent code in a multithreaded environment.

Let's imagine that we have to load a user's details, using the following function:

suspend fun loadUserDetails(): User {
delay(3000)
return User(0, "avatar")
}

The loadUserDetails function invokes the delay function from the coroutines-core library and returns an instance of the User class. The delay function suspends the invocation of the current coroutine. When a user is ready, we have to pass a value of the avatar property to the loadImage function:

suspend fun loadImage(avatar: String): Image {
delay(3000)
return Image()
}

The loadImage function also invokes...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image