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)
1
Part 1 – Introduction
6
Part 2 – Domain and Data Layers
10
Part 3 – Presentation Layer

Using Jetpack Compose to build UIs

In this section, we will analyze how to build UIs for Android applications using the View hierarchy and look at the implications this has for applications. We will then look at how Jetpack Compose simplifies and changes how UIs are built and how we can use Compose to create UIs. We will be looking at Jetpack Compose with the view of how we can integrate it with other libraries and how to build a simple UI. For more information on how to build more complex UIs, you can refer to the official documentation found here: https://developer.android.com/jetpack/compose.

The way Android deals with UIs is through the View hierarchy. The subclasses of View deal with specific UI components that the user can interact with. The hierarchy looks similar to the following diagram:

Figure 3.5 – View hierarchy

The TextView class deals with displaying text on the screen, EditText deals with handling text inputted by the user, and Button...