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

What this book covers

Chapter 1, Creating a Modern UI with Jetpack Compose, covers the new declarative way of building a UI on Android with the Jetpack Compose toolkit, while also starting to build an application from scratch with this new framework.

Chapter 2, Handling UI State with Jetpack ViewModel, explores the concept and usage of the ViewModel architecture component, as well as the concept of UI state in Compose apps and how the ViewModel can handle and cache such state.

Chapter 3, Displaying Data from REST APIs with Retrofit, covers what Retrofit is and how it can be used as a networking client for Android inside the project developed throughout the book.

Chapter 4, Handling Async Operations with Coroutines, covers the core concepts behind Kotlin coroutines. The chapter explores what a coroutine is, what suspend functions are, and other important components of coroutines.

Chapter 5, Adding Navigation in Compose with Jetpack Navigation, covers the basics of navigation between Compose-based screens with the help of the Jetpack Navigation library, while also exploring how to support deep links to your Compose UI.

Chapter 6, Adding Offline Capabilities with Jetpack Room, introduces Room as a solution for storing structured data and explores data persistence on Android as an architectural decision in building robust apps.

Chapter 7, Introducing Presentation Patterns in Android, explores architectural presentation patterns and why they are needed while also analyzing MVC, MVP, and MVVM.

Chapter 8, Getting Started with Clean Architecture in Android, explores how clean architecture translates into Android and how you can separate business logic by implementing Use Cases in the project developed throughout the book.

Chapter 9, Implementing Dependency Injection with Jetpack Hilt, explores what dependency injection is, why it's needed, and the advantages that it brings. This chapter also explores the basics of Dagger and introduces Jetpack Hilt.

Chapter 10, Test Your App with UI and Unit Tests, explores why tests are important and splits them into two main categories: UI and unit tests. In this chapter, you will learn how to test the Compose UI and application logic by creating unit tests.

Chapter 11, Creating Infinite Lists with Jetpack Paging and Kotlin Flow, explores the concept of pagination and explains how to integrate pagination on Android with the help of Jetpack Paging, while also using Kotlin Flow.

Chapter 12, Exploring the Jetpack Lifecycle Components, explores the inner workings of components that are part of Jetpack Lifecycle such as ViewModel and LiveData. In this chapter, you will also learn how to create your own lifecycle-aware component.