This course is for beginners and intermediate students who eager to learn android development. Prerequiremts: Java or Kotlin,
Course Outline:
Module 1: Introduction to Android Development
- Overview of Android OS and its architecture
- Android app components: Activities, Services, Broadcast Receivers, and Content Providers
- Setting up Android development environment: Android Studio, SDK, and Emulators
Module 2: Kotlin Basics
- Introduction to Kotlin programming language
- Kotlin syntax and data types
- Control flow statements and loops
- Functions, lambdas, and higher-order functions, scope function, inline function etc.
- Object-Oriented Programming in Kotlin: Classes, Objects, and Inheritance
Module 3: Building User Interfaces
- Android User Interface (UI) components: Layouts, Views, and Widgets
- Designing UI with XML
- Event handling in UI components
- Creating custom UI components
Module 4: Android App Development Basics
- Creating new Android projects
- Activities and Intents
- Android Manifest file
- Debugging Android apps
Module 5: Android Data Storage and Retrieval
- Introduction to SQLite database
- Creating and managing databases
- Content Providers and URIs
- Storing data using SharedPreferences/Data Store and Files
Module 6: Advanced Android Development
- Network communication and web services
- Retrofit and JSON Parsing
- Advanced UI components: RecyclerView, CardView, and Navigation Component
- Working with location data and Google Maps API
- Integrating third-party libraries and APIs
Module 7: Kotlin Coroutines
- Introduction to concurrency and asynchronous programming
- Suspend Functions and Coroutine Builders
- Exception handling with Coroutines
- Advanced Coroutine concepts: Channels, Flows, and Contexts
Module 8: Android Architecture Components
- Introduction to MVVM architecture
- LiveData, ViewModel, and Room Database
- Working with Repositories and DataSources
- Advanced Room concepts: TypeConverters, Relations, and Migrations
- Dependency Injection, HILT, KOIN
Module 9: Write Test Cases
- JUnit Test Case
- Mockito
- Espresso
Module 10: Projects and Release
- Making project
- Publishing Android apps
Students are required to bring a laptop with good internet speed with min 8 GB of RAM. (Recommend RAM 16GB)