Clean Architecture on Android - Example app

In this article, we'll create a super simple Hacker News client with Clean Architecture. We'll also use RxJava, Kotlin, Dagger, and Retrofit to build our app.

You might want to read Clean Architecture on Android where we go through the concepts in Clean Architecture if you haven't already.

Our app, which we'll call HnReader, will consist of a list showing the items currently displayed on the front page of Hacker News. If the user clicks on an item the default browser will display the story. The user should also be able to navigate to the comments and manually refresh the


Clean Architecture on Android

Clean Architecture was introduced by Uncle Bob a few years ago and has grown popular in the Android world. There's nothing revolutionary new about it. But it borrows great ideas from other architectures and put them together in a compelling package.

Uncle Bob used this image to describe his architecture:
Clean Architecture diagram from Uncle Bob
Source 8thlight

The main point of the architecture is that outer layers knows about, and can interact with inner layers but never the other way around. We keep our abstract business logic in the center and the concrete implementations in the outer layers. Our business logic doesn't know, or care