Mastering Multi-Modular & Clean Architecture in Android
Mastering Multi-Modular & Clean Architecture in Android, available at $54.99, with 145 lectures, and has 1 subscribers.
You will learn about Creating and organizing buildSrc modules. Managing build configurations: BuildConfig, PluginsConfig, ReleaseConfig. Handling build types, flavor types, and app dimensions. Securing signing configurations and managing credentials. Implementing shared dependencies across modules Creating and managing shared library Gradle plugins. Implementing code quality tools: KTLint, Spotless, Detekt. Adding and organizing feature modules. Structuring dependencies within feature modules and across the app. Dependency Injection and Networking Setting up Dagger-Hilt for dependency injection. Configuring and managing networking components: Retrofit, OkHttp. Implementing custom request headers and interceptors. Securing network requests with SSL, dispatcher management, and certificate pinning. Designing a flexible OkHttpClient provider interface. Error Handling and Response Management Building error handling models and flexible result wrappers. Mapping and processing network responses and errors. Implementing network data sources. Data Layer and Serialization Working with DataStore (Kotlin Serialization, Proto DataStore). Creating and managing serializers for app settings and session management. Integrating DataStore with Dagger-Hilt. Authentication and Authorization Implementing session management and token handling. Developing authentication interceptors with token refresh and Mutex synchronization. Handling unauthorized tokens and secure retry mechanisms. Managing UI state, validation, and error handling. Network debugging with tools like Chucker. Generating build version reports. Integrating code documentation with Dokka. Creating and managing mock APIs. This course is ideal for individuals who are Android Developers Seeking to Improve Architecture Skills: or Developers Looking to Master Multi-Modular Projects or Engineers Interested in Advanced Dependency Injection Techniques: or Professionals Focusing on Networking and API Integration or Developers Looking to Improve Code Quality and Automation or Developers Preparing for Senior Roles or Teams Adopting Clean Architecture and Modularization: or Android Developers in Enterprise Environments or Developers Interested in Modern Android Development (MAD) Skills or Developers Preparing for Android Interviews or Developers Focusing on Code Maintainability and Legacy Code Refactoring: or Developers Aiming for Long-Term Code Quality and Performance or Educators and Mentors in Android Developmen It is particularly useful for Android Developers Seeking to Improve Architecture Skills: or Developers Looking to Master Multi-Modular Projects or Engineers Interested in Advanced Dependency Injection Techniques: or Professionals Focusing on Networking and API Integration or Developers Looking to Improve Code Quality and Automation or Developers Preparing for Senior Roles or Teams Adopting Clean Architecture and Modularization: or Android Developers in Enterprise Environments or Developers Interested in Modern Android Development (MAD) Skills or Developers Preparing for Android Interviews or Developers Focusing on Code Maintainability and Legacy Code Refactoring: or Developers Aiming for Long-Term Code Quality and Performance or Educators and Mentors in Android Developmen.
Enroll now: Mastering Multi-Modular & Clean Architecture in Android
Summary
Title: Mastering Multi-Modular & Clean Architecture in Android
Price: $54.99
Number of Lectures: 145
Number of Published Lectures: 144
Number of Curriculum Items: 145
Number of Published Curriculum Objects: 144
Original Price: $199.99
Quality Status: approved
Status: Live
What You Will Learn
- Creating and organizing buildSrc modules.
- Managing build configurations: BuildConfig, PluginsConfig, ReleaseConfig.
- Handling build types, flavor types, and app dimensions.
- Securing signing configurations and managing credentials.
- Implementing shared dependencies across modules
- Creating and managing shared library Gradle plugins.
- Implementing code quality tools: KTLint, Spotless, Detekt.
- Adding and organizing feature modules.
- Structuring dependencies within feature modules and across the app.
- Dependency Injection and Networking
- Setting up Dagger-Hilt for dependency injection.
- Configuring and managing networking components: Retrofit, OkHttp.
- Implementing custom request headers and interceptors.
- Securing network requests with SSL, dispatcher management, and certificate pinning.
- Designing a flexible OkHttpClient provider interface.
- Error Handling and Response Management
- Building error handling models and flexible result wrappers.
- Mapping and processing network responses and errors.
- Implementing network data sources.
- Data Layer and Serialization
- Working with DataStore (Kotlin Serialization, Proto DataStore).
- Creating and managing serializers for app settings and session management.
- Integrating DataStore with Dagger-Hilt.
- Authentication and Authorization
- Implementing session management and token handling.
- Developing authentication interceptors with token refresh and Mutex synchronization.
- Handling unauthorized tokens and secure retry mechanisms.
- Managing UI state, validation, and error handling.
- Network debugging with tools like Chucker.
- Generating build version reports.
- Integrating code documentation with Dokka.
- Creating and managing mock APIs.
Who Should Attend
- Android Developers Seeking to Improve Architecture Skills:
- Developers Looking to Master Multi-Modular Projects
- Engineers Interested in Advanced Dependency Injection Techniques:
- Professionals Focusing on Networking and API Integration
- Developers Looking to Improve Code Quality and Automation
- Developers Preparing for Senior Roles
- Teams Adopting Clean Architecture and Modularization:
- Android Developers in Enterprise Environments
- Developers Interested in Modern Android Development (MAD) Skills
- Developers Preparing for Android Interviews
- Developers Focusing on Code Maintainability and Legacy Code Refactoring:
- Developers Aiming for Long-Term Code Quality and Performance
- Educators and Mentors in Android Developmen
Target Audiences
- Android Developers Seeking to Improve Architecture Skills:
- Developers Looking to Master Multi-Modular Projects
- Engineers Interested in Advanced Dependency Injection Techniques:
- Professionals Focusing on Networking and API Integration
- Developers Looking to Improve Code Quality and Automation
- Developers Preparing for Senior Roles
- Teams Adopting Clean Architecture and Modularization:
- Android Developers in Enterprise Environments
- Developers Interested in Modern Android Development (MAD) Skills
- Developers Preparing for Android Interviews
- Developers Focusing on Code Maintainability and Legacy Code Refactoring:
- Developers Aiming for Long-Term Code Quality and Performance
- Educators and Mentors in Android Developmen
“Mastering Multi-Modular & Clean Architecture in Android” is an in-depth course designed to elevate your Android development skills, focusing on building scalable, maintainable, and testable applications. This course covers the entire spectrum of multi-modular architecture, from foundational concepts to advanced implementation techniques, ensuring you have the expertise to handle complex app development projects.
You’ll begin by learning how to set up and organize buildSrc modules, manage build configurations, and handle build types, flavor dimensions, and signing configurations securely. The course emphasizes the importance of modularization, guiding you through adding and organizing feature modules, structuring dependencies, and creating shared Gradle plugins to streamline your development process.
The course delves deep into dependency injection with Dagger-Hilt, teaching you how to configure and manage networking components using Retrofit and OkHttp. You’ll explore advanced topics like implementing custom request headers, SSL management, certificate pinning, and designing flexible OkHttpClient provider interfaces.
Error handling and response management are thoroughly covered, with lessons on building robust error models, mapping network responses, and implementing flexible result wrappers. You’ll also gain expertise in creating and managing a data layer using Kotlin Serialization and Proto DataStore, integrating these with Dagger-Hilt for efficient data management.
UI development with Jetpack Compose is a key focus, where you’ll learn to create dynamic login screens, manage UI state, handle validation, and structure login flows effectively. The course also covers network debugging tools like Chucker, build automation, and maintaining high code quality through tools like KTLint, Spotless, and Detekt.
Additionally, the course addresses crucial aspects of authentication and authorization, including session management, token handling, and implementing secure authentication interceptors. You’ll also explore advanced error handling techniques, such as retry mechanisms with Mutex synchronization.
By the end of this course, you’ll have a comprehensive understanding of multi-modular architecture, clean code practices, and modern Android development techniques, making you proficient in building complex, enterprise-level Android applications. Whether you’re looking to refine your existing skills or advance your career, this course offers everything you need to master Android development.
Course Curriculum
Chapter 1: Start with Advanced Build Source architecture
Lecture 1: Lect-6 – Start Adding BuildSrc Module
Lecture 2: Lect-7 – Adding BuildConfi, PluginsConfig and ReleaseConfig
Lecture 3: Lect-8 – Adding Build Dependencies
Lecture 4: Lect-9 – Adding Build Test Dependencies
Chapter 2: Adding Different Build Types, Flavour Types and App Dimentions
Lecture 1: Lect-10 – Adding Build Types,Flavour Types and App Dimentions
Lecture 2: Lect-11 – Add configuration in build gradle of build src
Lecture 3: Lect-12 – Adding Implementation of Sealed Class of Build Types
Lecture 4: Lect – 13- Override Build Types in Application Build Gradle
Lecture 5: Lect -14 – Add App Dimentions and Flavors
Lecture 6: Lect -15 – Add Google, Huawei, Client and Driver Flavors
Lecture 7: Lect-16 – Adding Directory for Each Build Type
Lecture 8: Lect-17 – Start Adding Signing configuration
Lecture 9: Lect-18- implementation of Rlease, ReleaseExternalQa and Debug Siging
Lecture 10: Lect -19 – Adding a Credentials File for Secure Storage of Sensitive Information
Lecture 11: Lect-20- Update Signing Configs with the Data From Local Credentials File
Lecture 12: Lect-21- Test Siging Config
Lecture 13: Lect-22- Refactor Build Creator
Lecture 14: Lect-23- How to Add Build Parameters to Build Configuration
Lecture 15: Lect-24- Test adding Build Parameters to Build Configurations
Lecture 16: Lect-25- Re-Organise Build Src Module
Chapter 3: Adding Features Module
Lecture 1: Lect-26- Add Features Module
Lecture 2: Lect-27- Add More Dependencies, Room, Hilt, Retrofit and Okhttp
Lecture 3: Lect-28- Changes on Whole App Build Gradle Files
Lecture 4: Lect-29- Make Dependencies Shared Over Modules
Lecture 5: Lect-30- Add Dependencies in Feature Module and App, one Time
Lecture 6: Lect-31- Test Dependencies In App Level and Login Feature Module Level
Chapter 4: Unlocking the Power of Custom Plugins: Beyond the Basics
Lecture 1: Lect-32- Create Shared Library Gradle Plugin
Lecture 2: Lect-33- Continue Creating Shared Library Gradle Plugin
Lecture 3: Lect-34- Test Shared Library Gradle Plugin
Lecture 4: Lect-35- Add Build Types to Shared Library Gradle Plugin
Lecture 5: Lect-36-Add Koltin Lint Plugin (KTLINT) to App Level
Lecture 6: Lect-37-Continue Add Koltin Lint Plugin (KTLINT) to Modules Level
Lecture 7: Lect-38- Add Spotless and Prettier Plugins
Lecture 8: Lect-39-Continue-Add Spotless and Prettier Plugins
Lecture 9: Lect-40- Add Detekt Plugin: Static Code Analysis Tool
Lecture 10: Lect-41- Detek How to Suppress Legacy Code
Lecture 11: Lect-42- Detekt Reports for App and Modules
Lecture 12: Lect-43- Separate Detekt Reports for App and Modules
Lecture 13: Lect-44-Updating-Build-Versions-with-Ease
Lecture 14: Lect-45- Generate Updating Build Versions Report
Lecture 15: Lect-46-Integrate-with-Dokka-Plugin-for-Code-Documentaion
Lecture 16: Lect-47- Run-Dokka-Plugin-for-Code-Documentaion
Lecture 17: Lect-48-Separating Dokka Reports for App and Modules
Chapter 5: Tuning Modules Configurations
Lecture 1: Lect – 49 – Add Core Module with Data, Domain and Presemtation Modules
Lecture 2: Lect-50- Configure Plugins and Dependency Provider with Core Modules
Lecture 3: Lect-51- Kickoff Hilt Dependency Injection Setup
Chapter 6: Core Network Integration in Clean Architecture and Multi-Modular Design
Lecture 1: Lect-52- Implementing Custom Request Headers with OkHttp Interceptors
Lecture 2: Lect-53- Intercept Http Request
Lecture 3: Lect-54- Dependency Injection and Networking: Configuring OkHttp with Hilt
Lecture 4: Lect -55- Integrating and Configuring Http Logging Interceptor
Lecture 5: Lect -56- Building an OkHttp Client with Dagger-Hilt
Lecture 6: Lect-57- Add More Dependencies in Network Module
Lecture 7: Lect-58- Designing an OkHttpClient Provider Interface for Flexible Networking
Lecture 8: Lect-59- Handling SSL and Dispatcher in a Debug OkHttpClient Provider
Lecture 9: Lect-60- Securing Network Requests with Certificate Pinning in OkHttpClient
Lecture 10: Lect-61- Update Http Factory and Network Module with Custome Http Clinets
Lecture 11: Lect-62- Adding Config Module
Lecture 12: Lect-63- Adding Interceptors Module
Lecture 13: Lect -64- Injecting Retrofit in the Network Module with Dagger-Hilt
Lecture 14: Lect -65- Service Factories with Retrofit, Streamlining API Interface Creation
Chapter 7: Core vs. Login Module: Networking Integration
Lecture 1: Lect -66- Networt Architecture to Login Module: Handling Responses and Requests
Lecture 2: Lect -67- Adding Retrofit Service Interface to Login Module
Lecture 3: Lect -68- Adding Network Module for Login Data Module
Chapter 8: Developing Core Network Module Components
Lecture 1: Lect-69- Implementing Network Connectivity Monitoring
Lecture 2: Lect -70- Building a Network Data Source with Service and Monitoring
Lecture 3: Lect -71- Defining Error Handling Models with Data Classes
Lecture 4: Lect -72- Building a Flexible Result Wrapper with Success and Error States
Lecture 5: Lect -73- Continue Updating Result Class
Lecture 6: Lect -74- Result Patterns, Mapping, Merging, and Handling Complex Scenarios
Lecture 7: Lect -75- Creating DataSource Interface of HTTP Codes for Network Responses
Lecture 8: Lect -76- Dynamic Response Processing with performRequest in Network Data Source
Lecture 9: Lect -77- Effective Error Handling: Mapping ErrorResponse to Domain Models
Lecture 10: Lect -78- Adding performRequest implementation
Lecture 11: Lect -79- Continue Adding performRequest implementation
Chapter 9: Module Network Implementation: Remote Implementer, Domain and more
Lecture 1: Lect -80- Implementing Remote Login with Data and Domain Layers
Lecture 2: Lect-81- Adding Network Data Sources in Login Module Using Dependency Injection
Lecture 3: Lect -82- Add Implementation of Remote Implementer
Lecture 4: Lect -83- Add Login Mapper
Lecture 5: Lect -84- Managing Coroutine Execution with Custom Dispatchers
Lecture 6: Lect -85- Verifying App Stability Through a Test Run
Chapter 10: Mastering Data Persistence with DataStore Module
Lecture 1: Lect -86- Adding Kotlin Serialization and DataStore Dependencies
Lecture 2: Lect -87- Adding Module for Data Store
Lecture 3: Lect -88- Adding AppSettings Data Store class and Use PersistentList for Data
Lecture 4: Lect – 89 – Implementing Custom Serializer for App Settings in Kotlin
Lecture 5: Lect -90- Handle Serialzer Function for App Settings
Lecture 6: Lect -91- Test Data Store Implementation in Real Example
Lecture 7: Lect -92- Adding UI Implementation for Testing
Lecture 8: Lect -93- Running UI Implementation and Fix Issues
Chapter 11: Advanced DataStore Integration Using Protocol Buffers For Type Safety
Lecture 1: Lect -94- Preferences DataStore Vs Proto DataStore
Instructors
-
Mina Farid
Senior Mobile Developer
Rating Distribution
- 1 stars: 0 votes
- 2 stars: 0 votes
- 3 stars: 0 votes
- 4 stars: 0 votes
- 5 stars: 0 votes
Frequently Asked Questions
How long do I have access to the course materials?
You can view and review the lecture materials indefinitely, like an on-demand channel.
Can I take my courses with me wherever I go?
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don’t have an internet connection, some instructors also let their students download course lectures. That’s up to the instructor though, so make sure you get on their good side!
You may also like
- Top 10 Language Learning Courses to Learn in November 2024
- Top 10 Video Editing Courses to Learn in November 2024
- Top 10 Music Production Courses to Learn in November 2024
- Top 10 Animation Courses to Learn in November 2024
- Top 10 Digital Illustration Courses to Learn in November 2024
- Top 10 Renewable Energy Courses to Learn in November 2024
- Top 10 Sustainable Living Courses to Learn in November 2024
- Top 10 Ethical AI Courses to Learn in November 2024
- Top 10 Cybersecurity Fundamentals Courses to Learn in November 2024
- Top 10 Smart Home Technology Courses to Learn in November 2024
- Top 10 Holistic Health Courses to Learn in November 2024
- Top 10 Nutrition And Diet Planning Courses to Learn in November 2024
- Top 10 Yoga Instruction Courses to Learn in November 2024
- Top 10 Stress Management Courses to Learn in November 2024
- Top 10 Mindfulness Meditation Courses to Learn in November 2024
- Top 10 Life Coaching Courses to Learn in November 2024
- Top 10 Career Development Courses to Learn in November 2024
- Top 10 Relationship Building Courses to Learn in November 2024
- Top 10 Parenting Skills Courses to Learn in November 2024
- Top 10 Home Improvement Courses to Learn in November 2024