gitmyhub

Android-CleanArchitecture

Java ★ 16k updated 3y ago

This is a sample app that is part of a series of blog posts I have written about how to architect an android application using Uncle Bob's clean architecture approach.

Sample Android app in Java that shows how to apply Uncle Bob Clean Architecture with presentation, domain, and data layers plus RxJava. Companion to a tutorial series.

JavaAndroidRxJavaGradleEspressosetup: moderatecomplexity 3/5

Android-CleanArchitecture is a sample Android application written in Java that demonstrates how to structure an Android app using the Clean Architecture approach described by Robert C. Martin (known as "Uncle Bob"). It was created as a companion to a series of blog posts explaining how to apply this architectural pattern to Android development.

Clean Architecture organizes code into distinct layers — such as a presentation layer (the UI), a domain layer (the core business rules), and a data layer (network and database calls) — with strict rules about which layers can communicate with which. This separation makes the code easier to test independently and easier to maintain as it grows. The sample app illustrates these layer separations and also demonstrates a reactive approach using RxJava. The project supports standard Gradle commands to build the app, run unit tests, run integration tests, and run end-to-end acceptance tests using Espresso. A newer version of this same concept rewritten in Kotlin is also available from the same author. The project is licensed under the Apache License 2.0.

Where it fits