Android Architecture Masterclass
4.7 (672 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
4,750 students enrolled

Android Architecture Masterclass

Learn the best practices of clean design and architecture of Android applications
4.7 (672 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
4,749 students enrolled
Created by Vasiliy Zukanov
Last updated 5/2020
English
English
Current price: $64.99 Original price: $99.99 Discount: 35% off
14 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 7 hours on-demand video
  • 1 downloadable resource
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Plant clean architectural infrastructure inside your Android application
  • Decouple user interface logic using MVx pattern
  • Achieve separation of concerns through Dependency Injection
  • Discover the real roles of Activities and Fragments
  • Multiple-Activity vs Single-Activity Android applications
  • Package-by-feature to reflect business domain with the structure of your code
  • Make sure your Android app never becomes spaghetti
Course content
Expand all 76 lectures 07:03:04
+ MVx Architectural Patterns
2 lectures 05:54
Presentation Layer Architectural Pattern
03:57
MVx
01:57
+ Review of Android Architecture Blueprint
2 lectures 09:35
Offiicial Android Architecture Blueprints
01:25
Review of MVP Architecture Blueprint
08:10
+ MVx in Android
5 lectures 17:13
My Journey to MVx in Android
03:56
The Main Benefit of MVx
04:13
Extracting UI Logic from Activities
05:22
From MVx to MVC
02:56
MVx in Android Summary
00:46
+ MVC Basics
13 lectures 52:08
StackOverflow Client Application
01:34
Straightforward Implementation
03:23
MVC View
13:13
ViewHolder in ListView
03:45
MVC View in ListView
10:19
MVC View in RecyclerView
01:32
Extraction of ObservableViewMvc Interface
02:31
Extraction of BaseViewMvc Abstract Class
03:36
Extraction of BaseObservableViewMvc Abstract Class
04:02
Android Views are Non-Optimal Choice for MVC Views
02:55
MVC Basics Summary
01:29
+ Dependency Injection
6 lectures 22:55
Dependency Injection Architectural Pattern
06:01
Composition Root
04:19
Controller Composition Root
03:58
MVC Views Factory
03:19
MVC Views Factory in Lists
03:19
Dependency Injection Summary
01:59
+ Controller
8 lectures 30:25
Question Details Requirements
01:13
Exercise 1
02:14
Implementation of Question Details Screen
02:32
Use Case
08:38
Standalone Controller for Unit Testing
10:17
View Listener Management
02:23
Controller Summary
01:48
+ Packages Structure
3 lectures 07:54
Importance of Packages Structure
01:32
Review of Packages Structure
02:04
Cleanup of Packages Structure
04:18
+ Nested MVC Views
4 lectures 07:47
Introduction of Toolbar
02:25
Exercise 2
01:48
Toolbar Up Navigation
01:55
Nested MVC Views Summary
01:39
+ Nested MVC Views through Inheritance
7 lectures 30:25
Introduction of Navigation Drawer
10:22
Exercise 3
00:34
Making Hamburger Button Open Navigation Drawer
04:21
Making Back Button Close Navigation Drawer
06:48
Exercise 4
00:38
Reuse of Navigation Drawer
04:45
Nested MVC Views through Inheritance Summary
02:57
Requirements
  • Hands-on experience with Android development
Description

In this course you'll learn the best practices of design and architecture which will allow you to make your Android project an oasis of clean, readable and maintainable code.

As you probably know, it's relatively easy to start developing for Android. One can go from zero to publishing an app on Google Play in just few months. However, it's equally easy to mess up your Android application with bad code. The symptoms are all too common: classes with thousands of lines of code, duplicated code all over the place, obscure naming, random structure of packages, Singletons, etc.

But it doesn't have to be like that! There are several best practices that you can learn and use in your Android project that will ensure its long-term quality:

  • Clean Architecture

  • Model-View-X architectural pattern

  • Dependency Injection

  • Package by Feature

  • Logic Reuse Through Composition vs Inheritance

  • and more...

After completing this course, you'll start writing clean and readable code, organized in small, decoupled classes. These classes will be organized in packages structure which will reflect the core concepts of application's business domain. You'll be using standard design and architectural patterns, so your code will read like a book. And much, much more...

No more Activities and Fragments having thousands of lines of code. No more code duplication. No more changes in many different places each time you add a new feature. No more spaghetti code!

Over the years, I held several positions as a corporate Android developer. More recently, I wrote Android applications as a freelancer and consulted companies about their Android projects. The material in this course summarizes years of my professional experience with Android applications of many different types. You can learn all that in just several hours and gain the knowledge that most Android developers either learn the hard way, or never learn at all.

To make the material of this course practically useful, you will practice what you learn with carefully-designed, hands-on exercises within real Android application. Therefore, you'll immediately be able to use all these best practices in your own Android projects once you complete the course.

All in all, you're about to acquire advanced skills that few Android developers possess. These skills will boost your career, make you more productive and you'll be able to enjoy Android development and take pride in your code!

Who this course is for:
  • Professional Android developers