Don't Let Bad Architecture Ruin Your App! Learn DataStore and Koin
ฝัง
- เผยแพร่เมื่อ 6 ก.พ. 2025
- In this 30-minute masterclass, you’ll learn Koin Dependency Injection, DataStore (ProtoBuf), Jetpack Compose Navigation, and multi-module architecture-everything you need to build scalable Android apps.
Are you ready to elevate your Android development skills? In this video, we dive deep into creating an efficient and scalable onboarding flow using Jetpack Compose, Koin Dependency Injection, and DataStore with Protobuf. Learn step-by-step how to design dynamic, responsive UIs and manage user preferences like a pro! 💡
🔥 Key Topics Covered:
✔ Dependency Injection with Koin
✔ Jetpack Compose Navigation best practices
✔ Multi-Module Architecture for Clean Code
✔ DataStore with ProtoBuf for Secure User Data Storage
✔ Creating Onboarding & Sign-In Screens
✔ State Hoisting & Flow for UI Management
Tools & Libraries Used:
🛠️ Jetpack Compose
🛠️ Type safe navigation in jetpack compose
🛠️ Koin (Dependency Injection)
🛠️ DataStore & Protobuf
🛠️ Kotlin Coroutines & StateFlow
🛠️ Lifecycle components
🛠️ Material 3 & Navigation
00:00 - Introduction & What You’ll Learn
00:30 - Understanding UI Text & Sealed Interface in Jetpack Compose
02:10 - Setting Up Dependencies (Koin, DataStore, Navigation)
04:00 - Creating the Onboarding Module (Data, Domain, Presentation)
06:20 - Building the Welcome Screen with Jetpack Compose
08:50 - State Hoisting & UI Composition Best Practices
11:10 - Adding Animations & Optimizing Performance
13:00 - Designing the Introduction Screen
15:20 - Implementing the Sign-In Screen (Google Sign-In Placeholder)
17:45 - Understanding App Architecture: Multi-Module Setup
19:30 - Navigation Setup with Sealed Classes & Safe Args
21:15 - Deep Dive into Kotlin Inline, Reified & NoInline
23:10 - Refactoring MainActivity & Implementing Splash Screen
24:45 - Setting Up DataStore for User Preferences
26:50 - Managing User Authentication & Onboarding State
28:30 - Updating ViewModel & UI State with Flow
29:45 - Finalizing Navigation & App Module Setup
31:00 - Conclusion & What’s Next