Architecture
  • Course Overview
  • Software Architecture
  • Udemy Review System
MVx Architectural Patterns
  • Presentation Layer Architectural Pattern
  • MVx
Review of Android Architecture Blueprint
  • Offiicial Android Architecture Blueprints
  • Review of MVP Architecture Blueprint
MVx in Android
  • My Journey to MVx in Android
  • The Main Benefit of MVx
  • Extracting UI Logic from Activities
  • From MVx to MVC
  • MVx in Android Summary
MVC Basics
  • StackOverflow Client Application
  • Straightforward Implementation
  • MVC View
  • ViewHolder in ListView
  • MVC View in ListView
  • MVC View in RecyclerView
  • Extraction of ViewMvc Interface
  • Extraction of ObservableViewMvc Interface
  • Extraction of BaseViewMvc Abstract Class
  • Extraction of BaseObservableViewMvc Abstract Class
  • Activity as Controller
  • Android Views are Non-Optimal Choice for MVC Views
  • MVC Basics Summary
Dependency Injection
  • Dependency Injection Architectural Pattern
  • Composition Root
  • Controller Composition Root
  • MVC Views Factory
  • MVC Views Factory in Lists
  • Dependency Injection Summary
Controller
  • Question Details Requirements
  • Exercise 1
  • Implementation of Question Details Screen
  • Use Case
  • Separation of Controllers from Networking Logic
  • Standalone Controller for Unit Testing
  • View Listener Management
  • Controller Summary
Packages Structure
  • Importance of Packages Structure
  • Review of Packages Structure
  • Cleanup of Packages Structure
Nested MVC Views
  • Introduction of Toolbar
  • Exercise 2
  • Toolbar Up Navigation
  • Nested MVC Views Summary
Nested MVC Views through Inheritance
  • Introduction of Navigation Drawer
  • Exercise 3
  • Making Hamburger Button Open Navigation Drawer
  • Making Back Button Close Navigation Drawer
  • Exercise 4
  • Reuse of Navigation Drawer
  • Nested MVC Views through Inheritance Summary
Nested Controllers
  • Why Fragments
  • Refactoring of Questions List Screen to Fragment
  • Exercise 5
  • Refactoring of Question Details Screen to Fragment
  • Refactoring to "Single Activity" Approach
  • Introduction of FragmentFrameHelper
  • Refactoring of Navigation Drawer From Fragments into Activity
  • Nested Cotrollers Summary
Dialogs
  • Dialog Implementation Alternatives
  • Info Dialog
  • Prompt Dialog
  • Preventing Multiple Dialogs on Screen
  • Screen Finite State Machine (FSM)
  • Exercise 6
  • Adding Prompt Dialog to Questions List Screen
  • MVC in Dialogs
  • Dialogs, Publish-Subscribe and FSMs Summary
Runtime Permissions
  • Runtime Permissions Introduction
  • Straightforward Implementation
  • PermissionsHelper
  • Activity Scoped Dependencies
Summary
  • MVC Summary
  • Architecture Summary
  • Bonus Lecture