Android App Development With Kotlin & Jetpack Compose
Published 7/2025
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 2.68 GB | Duration: 10h 16m
Published 7/2025
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 2.68 GB | Duration: 10h 16m
Master building modern Android apps from scratch using Kotlin and the declarative power of Jetpack Compose.
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.
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 ComposeSubtitle 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!
Overview
Section 1: Kotlin fundamentals
Lecture 1 Section Goals
Lecture 2 Why use Kotlin
Lecture 3 Data Types Overview
Lecture 4 Data Types in Detail
Lecture 5 val vs var
Lecture 6 Functions & when Expression
Lecture 7 Lists in Kotlin
Lecture 8 Null Safety
Lecture 9 Classes
Lecture 10 Classes and Objects
Lecture 11 init, Getters and Setters
Lecture 12 Inheritance Basics
Lecture 13 Inheritance Continued
Lecture 14 Abstract Classes
Lecture 15 Abstract classes continued
Lecture 16 Merging Lists with Polymorphism in Kotlin
Lecture 17 Interfaces
Lecture 18 Interfaces continued
Lecture 19 Comparing Objects in Kotlin
Lecture 20 equals() and hashcode()
Lecture 21 Data Classes
Lecture 22 Intro to Lambdas
Lecture 23 Lambdas as Function Parameters and map
Lecture 24 Lambdas with filter
Section 2: Jetpack Compose Basics
Lecture 25 Section Goals
Lecture 26 Creating a new project in Android Studio
Lecture 27 Project Folder Structure and MainActivity Overview
Lecture 28 Introduction to Compose
Lecture 29 Previews and tooling
Lecture 30 Components overview
Lecture 31 Arranging Text and Components Inside a Column
Lecture 32 Styling Text
Lecture 33 Recomposition Explained
Lecture 34 Managing State in TextField with Compose
Lecture 35 Recomposition and UI Updates with TextField
Lecture 36 Designing a Pet Card Layout: Part 1
Lecture 37 Designing a Pet Card Layout: Part 2
Lecture 38 Designing the Main Layout for the Pets App - Part 1
Lecture 39 Designing the Main Layout for the Pets App – Part 2
Lecture 40 Finalizing the Layout and UI for the Pets App – Part 3
Section 3: Advanced Layouts: Modal Drawer and Lazy Lists
Lecture 41 Inside This Section
Lecture 42 Drawer UI with ModalDrawer - Part 1
Lecture 43 Drawer UI with ModalDrawer- Part 2
Lecture 44 Drawer UI with ModalDrawer - Part 3
Lecture 45 Building Dynamic Lists with LazyColumn - 1
Lecture 46 Building Dynamic Lists with LazyColumn - 2
Section 4: Getting Started with Coroutines and flows in Kotlin
Lecture 47 Learning Objectives
Lecture 48 Why Do We Need Coroutines?
Lecture 49 Understanding suspend Functions in Kotlin
Lecture 50 A Quick Introduction to Kotlin Flows
Section 5: Building the Focus Notes App – A Real Project
Lecture 51 Section Goal
Lecture 52 Overview of the Focus Notes App
Lecture 53 Thinking in Compose
Lecture 54 Designing the Top App Bar UI
Lecture 55 Creating the Note Item Component
Lecture 56 Building the Notes List Screen
Lecture 57 Composing the Complete Notes Screen UI
Lecture 58 Designing the Drawer Header
Lecture 59 Building the Drawer Body with Options
Lecture 60 Final touches to the Drawer Layout
Lecture 61 Mastering Modifiers for Layout Styling
Lecture 62 Setting up Navigation Basics
Lecture 63 Connecting Screens with Navigation
Section 6: Room Database and Local Storage
Lecture 64 Section Goal
Lecture 65 Why we use Room for Local Storage
Lecture 66 Setting Up Room Entities and DAO – Part 1
Lecture 67 Room Best Practices: Let ViewModel Handle the DAO
Lecture 68 Completing the Room Setup
Section 7: Architecture and ViewModels
Lecture 69 Section Goals
Lecture 70 Clean Architecture in Android - Part 1
Lecture 71 Separating Concerns in Your App – Part 2
Lecture 72 Separating Concerns in Your App – Part 3
Lecture 73 What is UDF (Unidirectional Data Flow)?
Lecture 74 Implementing the DAO layer in the App
Lecture 75 Building the Notes Repository Interface
Section 8: Dependency Injection with Hilt
Lecture 76 Section Goals
Lecture 77 Introduction to Hilt for DI
Lecture 78 Advanced Hilt Setup - Part 1
Lecture 79 Advanced Hilt Setup - Part 2
Section 9: Networking with Retrofit
Lecture 80 Section Goals
Lecture 81 Retrofit Basics for API Integration
Lecture 82 Working with Retrofit and Data Classes
Section 10: ViewModel & State Handling
Lecture 83 Section Goals
Lecture 84 Creating a State Class for the Notes Screen
Lecture 85 Using StateFlow to Expose State from the ViewModel
Lecture 86 Handling UI Events Inside the ViewModel
Lecture 87 Loading Notes from the Network into the ViewModel
Lecture 88 Understanding State Hoisting in Compose
Lecture 89 Focus Notes App – Final Demo and Behind the Scenes
Lecture 90 Conclusion
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