
Kotlin Standard Library Cookbook
Master the powerful Kotlin standard library through practical code examples
- 242 pages
- English
- ePUB (mobile friendly)
- Available on iOS & Android
Kotlin Standard Library Cookbook
Master the powerful Kotlin standard library through practical code examples
About this book
Build optimized applications in Kotlin by learning how to make use of the standard library features the smart way
Key Features
- Get the most out of the Kotlin library to develop high-quality portable applications
- Explore the powerful support for data processing and I/O operations
- Discover ways to enhance your Android application development
Book Description
Given the verbosity of Java, developers have turned to Kotlin for effective software development. The Kotlin standard library provides vital tools that make day-to-day Kotlin programming easier. This library features the core attributes of the language, such as algorithmic problems, design patterns, data processing, and working with files and data streams.
The recipes in this book offer coding solutions that can be readily executed. The book covers various topics related to data processing, I/O operations, and collections transformation. We'll walk through effective design patterns in Kotlin and you'll understand how coroutines add new features to JavaScript.
As you make your way through the chapters, you'll learn how to implement clean, reusable functions and scalable interfaces containing default implementations. In the concluding chapters, we'll provide recipes on functional programming concepts, such as lambdas, monads, functors, and Kotlin scoping functions.
By the end of the book, you'll be able to address a range of problems that Kotlin developers face by implementing easy-to-follow solutions.
What you will learn
- Work with ranges, progressions, and sequences in use cases
- Add new functionalities to current classes with Kotlin extensions
- Understand elements such as lambdas, closures, and monads
- Build a REST API consumer with Retrofit and a coroutine adapter
- Discover useful tips and solutions for making your Android projects
- Explore the benefits of standard library features
Who this book is for
This book is for software developers who are familiar with Kotlin's basics and want to discover more advanced features and concepts, especially those provided by the Kotlin standard library. It's also ideal for experienced software developers who are familiar with the functional programming paradigm and other programming languages who want to switch to Kotlin. It will also help Java developers switch to Kotlin and integrate it into existing Java Virtual Machine (JVM) projects.
Trusted by 375,005 students
Access to over 1 million titles for a fair monthly price.
Study more efficiently using our study tools.
Information
Making Asynchronous Programming Great Again
- Executing tasks in the background using threads
- Background threads synchronization
- Using coroutines for asynchronous, concurrent execution of tasks
- Using coroutines for asynchronous, concurrent tasks execution with results handling
- Applying coroutines for asynchronous data processing
- Easy coroutine cancelation
- Building a REST API client with Retrofit and a coroutines adapter
- Wrapping third-party callback-style APIs with coroutines
Introduction
Executing tasks in the background using threads
Getting ready
private fun `5 sec long task`() = Thread.sleep(5000)
private fun `2 sec long task`() = Thread.sleep(2000)
private fun getCurrentThreadName(): String = Thread.currentThread().name
How to do it...
- Let's start by logging the current thread name to the console:
println("Running on ${getCurrentThreadName()}")
- Start a new Thread and invoke the `5 sec long task`() function inside it:
println("Running on ${getCurrentThreadName()}")
thread {
println("Starting async operation on ${getCurrentThreadName()}")
`5 sec long task`()
println("Ending async operation on ${getCurrentThreadName()}")
}
- Start another Thread and invoke `2 sec long task`() inside it:
println("Running on ${getCurrentThreadName()}")
thread {
println("Starting async operation on ${getCurrentThreadName()}")
`5 sec long task`()
println("Ending async operation on ${getCurrentThreadName()}")
}
thread {
println("Starting async operation on ${getCurrentThreadName()}")
`2 sec long task`()
println("Ending async operation on ${getCurrentThreadName()}")
}
How it works...
Running on main
Starting async operation on Thread-0
Starting async operation on Thread-1
Ending async operation on Thread-1
Ending async operation on Thread-0
Table of contents
- Title Page
- Copyright and Credits
- Dedication
- Packt Upsell
- Contributors
- Preface
- Ranges, Progressions, and Sequences
- Expressive Functions and Adjustable Interfaces
- Shaping Code with Kotlin Functional Programming Features
- Powerful Data Processing
- Tasteful Design Patterns Adopting Kotlin Concepts
- Friendly I/O Operations
- Making Asynchronous Programming Great Again
- Best Practices for the Android, JUnit, and JVM UI Frameworks
- Miscellaneous
- Other Books You May Enjoy
Frequently asked questions
- Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
- Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app