Clean Architecture in Android

In this course, we'll be building an Android App while applying the concepts of Clean Architecture. This allows us to structure our project in a way that has clear separations of concerns, providing foundations that are easy for us to build onto while also allowing for a high level of maintainability and testing.

Course Description

Throughout this course we’ll be building a modularised android project using Clean Architecture, learning how to share code across these modules and build them in a way that creates a clear separation of concern between concepts. We’ll be using Dagger to inject the dependencies provided through these modules, Room to persist the data being stored for our sample application, along with Android lifecycle components to provide the orchestration of data to our UI through the use of ViewModels. With this all in place, we’ll wrap our project by writing UI tests using Espresso and unit tests using jUnit.

Drag to resize
By the end of the course you will have mastered:
  • What Clean Architecture is and how to apply it to a project
  • How to 'simplify' the concepts of clean architecture, to adapt it for your project
  • How to modularize an Android Project
  • How to split up and share code across modules
  • How to apply dependency injection across a multi-module project
  • How to build an android app using a collection of modern frameworks and APIs

Meet the instructor

Drag to resize

Joe Birch

Content Author & Course Instructor

Hi, my names Joe. I’m an Android Engineer and Google Developer Expert for Android, Google Pay and Flutter based in Brighton, UK working on the Android team at Buffer. I’m passionate about coding and love creating robust, polished and exciting projects for mobile, the web, TV, wearables and I’ll probably be toying with whatever the new thing is at the time you’re reading this – I love to be constantly learning. I’m also a keen writer as I love to share my learnings and experiences with others.