Book Image

Clean Android Architecture

By : Alexandru Dumbravan
Book Image

Clean Android Architecture

By: Alexandru Dumbravan

Overview of this book

As an application’s code base increases, it becomes harder for developers to maintain existing features and introduce new ones. In this clean architecture book, you'll learn to identify when and how this problem emerges and how to structure your code to overcome it. The book starts by explaining clean architecture principles and Android architecture components and then explores the tools, frameworks, and libraries involved. You’ll learn how to structure your application in the data and domain layers, the technologies that go in each layer, and the role that each layer plays in keeping your application clean. You’ll understand how to arrange the code into these two layers and the components involved in assembling them. Finally, you'll cover the presentation layer and the patterns that can be applied to have a decoupled and testable code base. By the end of this architecture book, you'll be able to build an application following clean architecture principles and have the knowledge you need to maintain and test the application easily.
Table of Contents (15 chapters)
Part 1 – Introduction
Part 2 – Domain and Data Layers
Part 3 – Presentation Layer

Chapter 3: Understanding Data Presentation on Android

In this chapter, we will study the libraries available for presenting data on the user interface (UI). We will start this chapter by analyzing the lifecycles of activities and fragments (what responsibilities they had in the past and what responsibilities they have now) with the introduction of the ViewModel and Lifecycle libraries. We will then move on to analyze aspects of how the UI works and look at how the Jetpack Compose library revolutionized building UIs through its declarative approach. Finally, we will look at how we can navigate between different screens that are built in Compose by using the Navigation library with the Compose extension.

In this chapter, we will cover the following main topics:

  • Analyzing lifecycle-aware components
  • Using Jetpack Compose to build UIs

By the end of the chapter, you will become familiar with how to present data on the UI using ViewModel and Compose.