← Theory library
Kotlin theory
Modern Android development.
Easy
- 1. Kotlin vs JavaWhy Kotlin was created.
- 2. Null SafetyEliminating NullPointerExceptions.
- 3. Val vs VarRead-only vs Mutable variables.
- 4. Data ClassesClasses for holding data.
- 5. String TemplatesEasy string concatenation.
- 6. When ExpressionReplacement for switch-case.
- 7. Extension FunctionsAdding methods to existing classes.
- 8. Smart CastsAutomatic type conversion.
- 9. Default and Named ArgumentsFlexible function calls.
- 10. Primary and Secondary ConstructorsInitializing classes.
- 11. Ranges and LoopsIterating with ranges.
- 12. Visibility ModifiersScoping in Kotlin.
- 13. Lateinit vs LazyDelayed initialization.
- 14. Android Studio SetupSetting up the environment.
- 15. Activity BasicsThe UI entry point.
- 16. XML LayoutsDefining user interface.
- 17. Standard Library CollectionsImmutable vs Mutable.
- 18. Elvis OperatorDefault values for nulls.
- 19. Packages and ImportsOrganizing Kotlin code.
- 20. Type InferenceReducing boilerplate.
Medium
- 21. Coroutines: Launch and AsyncBasics of concurrency.
- 22. Suspending FunctionsNon-blocking functions.
- 23. Coroutine DispatchersControlling execution threads.
- 24. Sealed ClassesRestricted class hierarchies.
- 25. Kotlin Flow BasicsAsynchronous data streams.
- 26. Companion ObjectsClass-level members.
- 27. Delegated PropertiesReusing property logic.
- 28. Higher-Order FunctionsFunctions taking functions.
- 29. ViewModel and LiveDataManaging UI state.
- 30. Retrofit for API CallsType-safe HTTP client.
- 31. Android Fragment LifecycleReusable UI pieces.
- 32. Object Declarations (Singletons)Singleton pattern in Kotlin.
- 33. Lambdas with ReceiversFoundation for DSLs.
- 34. Interface DelegationComposition over inheritance.
- 35. Custom Scopes and JobsManaging coroutine lifetimes.
- 36. StateFlow vs LiveDataModern state management.
- 37. Room Database IntroSQLite abstraction.
Hard
- 38. SharedFlow and StateFlowAdvanced stream types.
- 39. Coroutine Exception HandlingDealing with errors in async code.
- 40. Inline Classes & Value ClassesZero-overhead wrappers.
- 41. Reified Type ParametersAccessing types at runtime.
- 42. Custom DSLs in KotlinBuilding domain-specific languages.
- 43. Jetpack Compose BasicsModern declarative UI.
- 44. Android Keystore SystemSecurely storing credentials.
- 45. BIP-39 Mnemonic HandlingGenerating wallets.
- 46. Biometric AuthenticationUser verification.
- 47. Dependency Injection with HiltOpinionated DI for Android.
- 48. Kotlin Multiplatform (KMP) IntroSharing code across platforms.
- 49. Structured ConcurrencySafe async management.
- 50. Inline Functions and CrossinlineOptimizing lambda performance.