Keep Calm and Study On - Unlock Your Success - Use #TOGETHER for 30% discount at Checkout

Modern Android UI Design Online Course

Modern Android UI Design Online Course


This online course introduces Android Jetpack Compose, a modern and efficient way to build Android apps. Unlike the traditional imperative approach that required writing extensive boilerplate code and navigating inconsistent APIs, Jetpack Compose allows for concise, consistent, and easy-to-maintain code. You’ll begin with the basics of Jetpack Compose, including composable functions, layout widgets, and modifiers, and progress to understanding how state management (recomposition and state hoisting) works in Compose. The course also covers Kotlin programming fundamentals and its advanced concepts. Through hands-on projects like a tip calculator, movie app, note app, trivia app, and weather forecast app, you’ll gain practical experience in building both simple and complex Android apps. By the end of the course, you'll be equipped with the knowledge to create sophisticated Native UIs and Android apps using Kotlin and Jetpack Compose.


Key Benefits

  • This course offers a thorough, in-depth guide to app development using Jetpack Compose and Kotlin. 
  • You will learn how to design and build elegant, native user interfaces from the ground up using Jetpack Compose, a modern declarative framework for Android app development. 
  • The course is highly practical, featuring hands-on examples and providing access to code files, ensuring you can apply what you learn in real-world projects.


Target Audience

This course is perfect for beginner Android developers interested in learning how to build modern Android apps using Jetpack Compose and Kotlin. It is also well-suited for Android developers who wish to expand their skills in Kotlin and app development with Jetpack Compose, as well as those interested in learning Java and Android development. While prior programming experience can be beneficial, it is not a requirement. The course comprehensively covers all the essential concepts needed to build Android apps with Kotlin and Jetpack Compose, including the fundamentals of Kotlin, so no prior knowledge of the language is necessary.


Learning Objectives

  • Gain a deep understanding of clean architecture and the MVVM design pattern in the context of Android Jetpack Compose. 
  • Master Jetpack Compose and become proficient in building modern, dynamic Android apps with this declarative UI toolkit. 
  • Develop a variety of Android applications using Jetpack Compose and Kotlin, while adhering to modern Android development best practices with the powerful Jetpack tools and Compose. 
  • Learn to integrate Hilt and Dagger for dependency injection in your Compose apps, and seamlessly incorporate the Android ROOM database into your Compose-based applications for efficient local data management.


Course Topics

The Modern Android UI Design Online Course covers the following topics - 

Domain 1 - Windows Machine Setup for Development

Installing and setting up Android Studio

Creating and running a Kotlin module

Using Kotlin Playground for online code editing


Domain 2 - Mac Machine Setup for Development

Installing and configuring Android Studio

Creating a Kotlin module within an Android project

Using Kotlin Playground for online code editing


Domain 3 - Build Your First Jetpack Compose App

Demo of the app

Setting up the BizCard app with Android Compose surface layout and preview

Creating a card and modifying its properties with a modifier

Adding profile images, columns, and dividers

Challenge: Adjusting divider parameters (solution included)

Adding the card info section and portfolio button

Creating a content composable function

Implementing a LazyColumn layout and toggle functionality

Finalizing the BizCard app


Domain 4 - Kotlin Programming Language Fundamentals - Variable Types

Introduction to Kotlin’s var and val keywords

Initializing variables and understanding basic types such as Int and String

Exploring the long type and floating-point types

Kotlin operators overview


Domain 5 - Kotlin Fundamentals - Loops and Branching

Overview of loops and branching in Kotlin

Using the if statement and when expression, including range functionality

Implementing the for loop


Domain 6 - Kotlin Fundamentals - Functions

Introduction to creating functions in Kotlin

Working with functions that accept parameters and return values

Exploring default and named arguments

Introduction to lambda expressions and their usage

Challenges and solutions related to lambda expressions


Domain 7 - Kotlin Fundamentals - Collections

Introduction to collections in Kotlin

Using methods on lists and working with sets and maps

Initializing and filtering collections

Section summary on collections


Domain 8 - Kotlin - Intermediate Object-Oriented Programming Concepts

Introduction to object-oriented programming (OOP) and creating your first class

Understanding primary constructors, init block, and inheritance

Working with interface classes and extension functions

Creating data classes and understanding their usage


Domain 9 - Kotlin - Advanced Concepts

Introduction to generics and their usage

Understanding enums and state management

Improving enums with sealed classes and their creation


Domain 10 - Introduction to Jetpack Compose and Fundamentals

Overview of Jetpack Compose and understanding the imperative approach

Basics of Compose project: Preview and Compose annotations

Creating composable functions and using modifiers

Building simple UI components such as a circle and incrementing a counter

State hoisting in Compose applications


Domain 11 - Android Real Device Setup

Steps to set up an Android device for development


Domain 12 - Build a Tip Calculator App

Demo of the JetTip app

Setting up the container function and top header

Creating customizable input fields and round icon buttons

Refactoring the input field and adding a slider

Implementing state hoisting and code refactor


Domain 13 - Build a Movie App - Introduction to Scaffold and LazyColumn

Overview of Scaffold composable and LazyColumn for displaying movies

Setting up navigation structure with Home and Details screens

Implementing back navigation and top app bar


Domain 14 - Movie App - Improvements

Adding a movie data class and displaying images using Coil

Expanding card functionality and finishing the details screen


Domain 15 - Introduction to ViewModel - Build a Note App

Demo of the Note app

Setting up the app with text fields and buttons

Managing state and data in Compose using ViewModel


Domain 16 - Note App Improvements - ROOM and Dependency Injection - Hilt

Overview of Android ROOM and Hilt for dependency injection

Setting up Hilt dependencies and ROOM database architecture

Implementing coroutines, flow state, and testing the Note app with ROOM


Domain 17 - JetTrivia App - Parsing JSON: Retrofit and Clean Architecture

Setting up the JetTrivia app with Retrofit and clean architecture principles

Parsing JSON and integrating Hilt with Retrofit for data fetching

Building the app UI with composable functions and handling the progress bar


Domain 18 - Build a Weather Forecast App

Demo of the weather forecast app

Setting up the project, API key, and navigation structure

Displaying weather data, integrating a splash screen, and refining the UI

Implementing ROOM for saving favorite cities and adding settings functionality

Finalizing the app with metric and imperial units adjustments

Tags: Modern Android UI Design Practice Exam, Modern Android UI Design Exam Questions, Modern Android UI Design Online Course, Modern Android UI Design Study Guide, Modern Android UI Design Tutorial, Modern Android UI Design Training