
Discover why modularization helps Android developers manage large codebases and speed up builds with parallel Gradle modules. Learn how multi-module architecture improves encapsulation and organizes features like Instagram.
learn how to create android modules manually or with Android Studio templates, configure settings.gradle and Gradle, define plugins, and access module code across app and model modules.
https://github.com/lofcoding/MoneyConvertor
Create a network module inside the core module, configure it as an Android library with Kotlin plugin, set the namespace, and avoid copy-pasting Gradle configs by using a build module.
Create a data module and implement a currency repository that returns a flow of exchange rates, mapping to the shared model and binding it with a Dagger Hilt module.
Create a currencies menu UI component using Jetpack Compose, integrating into a design system module, with an exposed dropdown menu driven by the selected option and currency list.
Finish designing the currency converter screen by implementing a swiper icon, two texts, and a circular loading indicator, with a clickable 180-degree rotation animation.
Configure a convention plugin to set up room across modules in a multi-module Android project, applying room and ksp, and manage schemes and dependencies in the build logic.
Implement a local currencies database by building a Room-based exchange rates entity, a currency rates converter, and a DAO, then assemble a currency database module for multi-module Android architecture.
Implement an offline currency repository and a work manager sync worker to reliably sync remote data with local database, using a generic synchronizer and Room integration.
Create a feature navigation graph for a currency converter screen, wire it into the app, and enable edge to edge behavior behind the system bars.
Fix the Dagger Hilt error by binding the sync manager interface to its implementation in a new manager module installed in singleton, enabling the ViewModel to depend on the interface.
Welcome to "Master Multi-Module Architecture for Android Development"! This comprehensive course is designed for Android developers who want to elevate their skills and master the art of modularization in Android applications. Whether you're a beginner or an experienced developer, this course will guide you through the process of building an offline currency converter app using proper multi-module architecture.
In this course, you will:
Understand Android Basics related to Modularization: Gain a solid foundation in the concepts and principles of modularization in Android development.
Create Modules using Different Methods: Learn how to effectively create and manage modules within your Android projects.
Become Confident with Gradle: Enhance your skills in working with Gradle, the build system for Android, and manage your project's dependencies more efficiently.
Learn Proper Multi-Modules Architecture: Discover best practices and architectural patterns for designing scalable and maintainable multi-module applications.
Reuse Dependencies Across Modules: Explore techniques for sharing and reusing dependencies across different modules to streamline your development process.
Set Up Room, Retrofit, and Dagger Hilt: Master the integration of popular libraries like Room, Retrofit, and Dagger Hilt in a multi-module project.
Build an Offline Currency Converter App: Develop a fully functional offline currency converter app using Work Manager, showcasing your new skills in action.
Utilize Jetpack Compose: Create custom components and build modern, responsive UIs with Jetpack Compose.
Test Your Multi-Module App: Learn to perform unit tests and UI tests to ensure the reliability and performance of your multi-module applications.
And more and more...
Enroll now and take your Android development skills to the next level with "Master Multi-Module Architecture for Android Development"!