Android App Development using Kotlin
Course Description
The Android App Development using Kotlin course provides an in-depth understanding of Android application development using the Kotlin programming language. Students will learn about the architecture of Android, essential application components, user interface design, background processing, data persistence, web service integration, and the latest Android Jetpack components. By the end of this course, students will have the skills and knowledge to develop robust and feature-rich Android applications.
Duration
7 days
Course Learning Outcomes
Upon completion of this course, students will be able to:
- Understand the architecture of Android and the development tools required for Android app development.
- Identify and utilize the various application components in Android, including activities, services, content providers, and broadcast receivers.
- Develop activities and understand the data flow between activities.
- Create and manage fragments within an Android application, including understanding their lifecycle and data flow.
- Design user interfaces using various layouts and widgets.
- Implement adapter-based views such as ListView and RecyclerView for displaying data.
- Perform background processing using threads, handlers, services, and coroutines.
- Implement and handle broadcast receivers for receiving system and application-level broadcasts.
- Implement data persistence techniques, including file systems and preferences.
- Integrate web services into Android applications, including RESTful web services and JSON parsing.
- Utilize the Android Jetpack components, including View Binding, Data Binding, ViewModel, LiveData, and Room for building modern and maintainable applications.
Prerequisites
Basic knowledge of programming concepts and object-oriented programming.
Familiarity with the Kotlin programming language.
Basic understanding of XML for designing user interfaces.
Prior experience with any programming language will be beneficial.
Course Content
Day 1:
- Introduction to Android
- Android Architecture
- Android Development Tools
- Android Studio
- Android Emulator and Virtual Devices (AVD)
- Android Application
- Physical Structure of an Android Application
- Introduction to Application Components
- Activity
- Service
- Content Provider
- Broadcast Receiver
- Application Essentials
- Resources
- Intents
- Manifest
Day 2:
- Activities
- Activities and View
- Activities in-Depth
- Creating & Registering Activities
- Launching Activities
- Activity and Data Flow
- Activities and View
- Fragments
- Introduction to Fragments
- Life-cycle of Fragment
- Creating Fragments
- Fragment Manager and Transaction
- Fragment Backstack
- Fragments and Data Flow
Day 3:
- User Interface
- Introduction & Overview
- View, ViewGroup, Layout & Widget o Common Widget
- Layouts
- Linear, Frame, Relative, Constraint Layout
- Adapter based Views
- Listview
- Custom Adapter
Day 4:
- RecyclerView and CardView
- RecyclerView
- CardView
- Selecting item in RecyclerView
- Background Work 1
- Java Threads
- Threads and Android
- Looper, Messages and Handlers
Day 5:
- Background Work 2
- AsyncTask
- Services
- IntentService
- WorkManager
- Coroutines
- Broadcast Receivers
- Creating Broadcast Receiver
- Listening for Broadcasts
Day 6:
- Data persistence
- File System
- Internal vs External File System o Writing files
- Preferences
- Web Service
- RESTful web service
- JSON parsing
- Retrofit
Day 7:
- Android Jetpack
- MVC vs MVVM
- View Binding
- Data Binding
- ViewModel and LiveData
- Life Cycle Aware components
- Navigation
- Room