Book Image

Kickstart Modern Android Development with Jetpack and Kotlin

By : Catalin Ghita
5 (1)
Book Image

Kickstart Modern Android Development with Jetpack and Kotlin

5 (1)
By: Catalin Ghita

Overview of this book

With Jetpack libraries, you can build and design high-quality, robust Android apps that have an improved architecture and work consistently across different versions and devices. This book will help you understand how Jetpack allows developers to follow best practices and architectural patterns when building Android apps while also eliminating boilerplate code. Developers working with Android and Kotlin will be able to put their knowledge to work with this condensed practical guide to building apps with the most popular Jetpack libraries, including Jetpack Compose, ViewModel, Hilt, Room, Paging, Lifecycle, and Navigation. You'll get to grips with relevant libraries and architectural patterns, including popular libraries in the Android ecosystem such as Retrofit, Coroutines, and Flow while building modern applications with real-world data. By the end of this Android app development book, you'll have learned how to leverage Jetpack libraries and your knowledge of architectural concepts for building, designing, and testing robust Android applications for various use cases.
Table of Contents (17 chapters)
1
Part 1: Exploring the Core Jetpack Suite and Other Libraries
7
Part 2: A Guide to Clean Application Architecture with Jetpack Libraries
13
Part 3: Diving into Other Jetpack Libraries

Adding a countdown component in the Repositories app

Our plan is to learn how to create our own lifecycle-aware component. However, before we can do that, we must first create a normal component that, by default, is not aware of the lifecycle of any Android component.

To do that, we can create a countdown timer component inside our Repositories app that will track whether the user has spent at least 60 seconds on the app, and if so, we will award the user with a fictional prize.

More precisely, our plan is to create a countdown timer widget inside the RepositoriesScreen() that will award the user with a prize upon a 60-second countdown. However, for the countdown to work and the prize to be awarded, the user must be inside RepositoriesScreen() and have the countdown composable visible.

The countdown will behave like so:

  • It will start from 60 and finish when the countdown reaches 0. Upon every second, the timer will decrease by 1 unit.
  • When the countdown has finished...