Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Android App Development with Kotlin & Jetpack Compose
Rating: 3.9 out of 5(6 ratings)
199 students

Android App Development with Kotlin & Jetpack Compose

Master building modern Android apps from scratch using Kotlin and the declarative power of Jetpack Compose.
Created byDev Chan
Last updated 7/2025
English
English [Auto],

What you'll learn

  • Master Kotlin fundamentals including variables, functions, classes, and collections.
  • Build real-world Android applications from scratch using clean architecture.
  • Design beautiful UIs using Jetpack Compose and responsive layouts.
  • Manage UI state effectively using State, MutableState, and StateFlow.
  • Implement asynchronous programming with Kotlin Coroutines and Flow.
  • Use Room Database for local data persistence and observe changes in real-time.
  • Apply dependency injection using Hilt to manage app components cleanly.
  • Navigate between screens using Jetpack Navigation and SafeArgs.
  • Structure your code using MVVM (Model-View-ViewModel) architecture.
  • Handle user input and forms using Compose and ViewModel state management.

Course content

10 sections90 lectures10h 15m total length
  • Section Goals0:45
  • Why use Kotlin0:44

    Kotlin is a modern, concise, and safe language officially supported by Google for Android development, with static typing, Java interoperability, JVM bytecode, and Kotlin JS and native iOS support.

  • Data Types Overview1:31
  • Data Types in Detail6:31
  • val vs var3:09
  • Functions & when Expression7:53

    Understand Kotlin functions declared with fun, including parameters, return types, unit, and single-expression forms with default arguments. See how when provides an exhaustive switch-like construct with ranges and string interpolation.

  • Lists in Kotlin3:13
  • Null Safety4:58

    Explore Kotlin null safety with safe calls and Elvis operators to prevent null pointer exceptions; avoid non-null assertion where possible. Model nullable strings, provide defaults, and safely print city lengths.

  • Classes10:07
    1. Defining and using classes in Kotlin

    2. Constructors

    3. Using init blocks for initialization logic

    4. Working with getters and setters using Kotlin properties

    5. Object creation and usage

  • Classes and Objects13:37
  • init, Getters and Setters10:24
  • Inheritance Basics10:07
  • Inheritance Continued9:30
  • Abstract Classes10:09

    Explore abstract classes by modeling a product hierarchy with physical and digital products, enforce shipping weight and return policy, and implement features like print shipping label through inheritance.

  • Abstract classes continued4:50
  • Merging Lists with Polymorphism in Kotlin15:46

    Learn how Kotlin lists of a single type can hold both primitive and object instances, then explore polymorphism by merging a list of animals—dogs and cats—and invoking overridden speak methods.

  • Interfaces8:16

    Learn how interfaces define an object's capabilities instead of its hierarchy, enabling flexible, extensible, and decoupled design for returns, digital versus physical products, and readable behavior.

  • Interfaces continued7:30
  • Comparing Objects in Kotlin8:14
  • equals() and hashcode()8:05
  • Data Classes4:11

    Discover how Kotlin data classes automatically generate equals, hashCode, and toString, reducing boilerplate and preventing bugs. See how this lets you focus on business logic and readable code.

  • Intro to Lambdas7:09

    Explore Kotlin lambdas as anonymous functions—the core of Kotlin's functional style used in coroutines, collections, and Android development—covering basic syntax, parameter handling, and concise usage with it.

  • Lambdas as Function Parameters and map7:20

    Explore how to pass lambdas as function parameters and use map to transform lists in Kotlin, including moving a lambda outside parentheses for cleaner syntax and creating generic operations.

  • Lambdas with filter2:49

Requirements

  • No prior Android development experience is required — this course starts from the basics.
  • Basic programming knowledge (in any language) is helpful but not mandatory.
  • A computer (Windows, macOS, or Linux) capable of running Android Studio.
  • A stable internet connection to download tools and follow along with lessons.
  • Curiosity and willingness to learn by building real Android apps.

Description

Here's a comprehensive course description for "Android App Development with Kotlin & Jetpack Compose," incorporating best practices for Udemy:


Android App Development with Kotlin & Jetpack Compose


Subtitle Option 1: "Master Mobile Development with Kotlin & Jetpack Compose: Build stunning UIs, manage State, and integrate Data."

Subtitle Option 2: "Learn Android Programming with Kotlin and Jetpack Compose: From UI Layouts to Navigation and Asynchronous Operations."


Course Description:


Welcome to the ultimate guide to modern Android App Development! In this comprehensive course, you will learn how to build powerful, beautiful, and high-performance Android applications using the latest and most in-demand technologies: Kotlin and Jetpack Compose.

Android development has evolved rapidly, and with Kotlin as the preferred language and Jetpack Compose as the revolutionary declarative UI toolkit, the landscape for building mobile apps is more efficient and enjoyable than ever before. This course is designed to take you from a complete beginner to a confident Android developer, equipped with the skills to create real-world applications.

We'll start with the fundamentals of Kotlin, ensuring you have a strong programming foundation. Then, we'll dive deep into Jetpack Compose, understanding its declarative nature and how it simplifies UI development. You'll learn to build complex user interfaces with less code, making your apps more maintainable and scalable. Through practical examples and hands-on projects, you'll gain a solid understanding of the entire Android app development lifecycle.

By the end of this course, you will be able to:

  • Master Kotlin Fundamentals: Understand variables, data types, control flow, functions, classes, objects, and more, forming a strong foundation for Android development.

  • Build Stunning User Interfaces with Jetpack Compose: Design responsive and aesthetically pleasing UIs using Composables, Modifiers, and Material Design principles.

  • Implement Robust State Management: Learn how to effectively manage data and state within your Compose applications to create dynamic and interactive user experiences.

  • Handle Navigation: Implement seamless navigation within your multi-screen Android apps using the Jetpack Compose Navigation component.

  • Integrate Data (APIs & Persistence): Learn to fetch data from remote APIs (e.g., using Retrofit) and persist local data using Room Database or DataStore.

  • Perform Asynchronous Operations: Understand and implement Kotlin Coroutines for efficient background processing, ensuring your apps remain responsive.

  • Develop Clean Architecture Principles: Get an introduction to structuring your Android projects with best practices like MVVM (Model-View-ViewModel) for maintainability and testability.

Why learn Kotlin & Jetpack Compose?

  • Modern & Preferred: Kotlin is officially the preferred language for Android, and Jetpack Compose is the modern, declarative UI toolkit recommended by Google.

  • Increased Productivity: Write less code, achieve more, and develop features faster.

  • Better Performance: Create highly performant and fluid user interfaces.

  • Future-Proof Your Skills: Stay at the forefront of Android development and be ready for the industry's demands.

Who is this course for?

  • Absolute beginners with no prior programming experience who want to learn Android app development.

  • Developers from other programming languages (e.g., Java, Python, JavaScript) looking to transition into Android.

  • Existing Android developers who want to migrate their skills to Kotlin and Jetpack Compose.

  • Anyone aspiring to build their own mobile applications for Android devices.

Are there any course prerequisites?

  • No prior Android development experience is required.

  • No prior Kotlin experience is required. We start from scratch!

  • A computer (Windows, macOS, or Linux) capable of running Android Studio.

  • An internet connection to download software and course materials.

Join us on this exciting journey and start building amazing Android applications with Kotlin and Jetpack Compose today!

Who this course is for:

  • Beginners who want to start building Android apps using Kotlin and Jetpack Compose
  • Self-taught programmers looking to strengthen their Android development skills
  • Students or professionals transitioning into mobile app development
  • Developers familiar with Java who want to switch to Kotlin and modern Android practices
  • Anyone who wants to learn by building real-world apps using Room, Coroutines, and MVVM
  • Tech enthusiasts curious about how Android apps are built and structured from scratch