
Understand how the Udemy review system affects course visibility and how 5-star reviews can help improve the Kotlin and Android Jetpack Compose masterclass.
Learn how Kotlin variables serve as data containers, use var for mutable values and val for immutable ones, and follow naming conventions like camelCase to write readable code.
Explore primitive data types in Kotlin, including strings, booleans, and numbers. Learn implicit and explicit typing, and how to use byte, short, int, long, float, and double.
Explore arithmetic operations in kotlin by calculating the amount after five years with a 5.5% annual rate and printing the result.
Apply logical operators in Kotlin to determine funding eligibility using conditions: no more than five animals, at least one producer, and a three-or-more family members, illustrated with cows and children.
Explore Kotlin lists and array lists, learning the difference between immutable and mutable collections, how to index elements, handle duplicates, and perform add, remove, and add all operations.
In Kotlin, build an array list of items, remove a defined removed-items list with removeAll, and print the remaining items (laptop and mouse) to show desk cleanup.
Explore maps as key–value structures with unique keys and unordered values. Create maps, access values by key, and use hash maps for mutable add, replace, and remove operations.
Use a for loop to iterate months, compute each month's days, and determine February as 28 or 29 days by year mod 4, with examples for 2004 and 2005.
Explore while loops and do while loops, including how the former checks conditions during execution and the latter after execution, illustrated by a 20-piece puzzle.
Learn Kotlin while loops solution that prints values below a large number that are multiples of seven by iterating a counter and printing when i is a multiple of seven.
Learn how break and continue control Kotlin loops: break terminates a loop when a condition fails, while continue skips the current element and proceeds with the rest of the sequence.
Learn how to use Kotlin lambdas as anonymous functions and apply higher order functions like for each, map, filter, and sorted by length to write flexible, readable code.
Explore Kotlin class concepts, including constructors with multiple overloads, default and parameterized instantiation, getters and setters, the this keyword, init blocks, and companion objects for static access.
Explore the four principles of object oriented programming, inheritance, encapsulation, abstraction, and polymorphism, and learn how they guide clean, scalable, and maintainable code structure.
Learn Kotlin's standard scope functions (let, with, run, apply, and also) and takeIf and takeUnless, exploring how they create temporary scopes, access objects, and return results.
Learn how to extend existing code with Kotlin extensions, adding functions, properties, and companion object members to third-party or non-modifiable classes, using practical string and class examples.
Create packages and subpackages to structure code and place the package on the first line. Declare the package at the top of each file and follow lowercase, dot-separated naming.
Explore Kotlin code routines in Android by learning how to run code on a background thread, avoid blocking main thread, and use suspend functions, builders, and jobs to produce outputs.
Explore Kotlin coroutines as a lightweight alternative to threads, utilizing thread pools to run many coroutines in parallel, with simple launch, delay, and pause controls.
Understand suspend functions as a simple, central concept for core routines; they pause and resume execution, and are designed to run from co routines with the suspend keyword.
Explore Kotlin coroutines, including launch and async, within a dedicated code scope, and learn how supervisor scope, run blocking, and awaiting deferred values manage parallel tasks.
Explore a Kotlin-based approach to generate all prime numbers below a given limit by testing divisors, optimizing to skip even numbers, and printing primes using a suspend check prime function.
Install the Android system and the editor across Mac, Linux, or Windows, then create a simple Hello World app to verify the setup and establish a foundation for later sections.
Explore composable functions in Jetpack Compose, a declarative Kotlin approach replacing XML imperatives with a tree of composables like Column, Button, and Text.
Recomposition redraws a composable only when its input changes, propagating updates up the tree for efficient screen rendering. Keep side effects in check, and ensure lightweight, fast work on mobile.
Explore text and text field usage in Jetpack Compose, using string resources, state, and keyboard options to support localization and dynamic user input.
Explore how Jetpack Compose redefines theming with Kotlin-based colors, shapes, and typography in light and dark palettes, guided by Material Design principles.
Explore toast messages, a simple Android pop-up notification (not part of Jetpack), built with a context, and set to short or long durations to show action outcomes in your app.
Master buttons in Jetpack Compose by defining content and on click, showing a toast with context, and customizing with shapes, colors, and optional icons, all centered in a column.
Build a profile-like layout with Jetpack Compose. Arrange a circular profile image with four stat columns, an info section with username and description, and a two-row posts grid.
Explore lazy lists in Jetpack Compose, including lazy column, lazy row, and experimental grids, to load only on-screen items and save memory.
Explore how to make any composable clickable with the clickable modifier, then detect taps, double taps, and long presses using pointer input, and display tap coordinates.
Explore dragging a red box on screen by capturing pointer input and updating a two-axis offset state with drag gestures in Jetpack Compose.
learn to build a list of dog breed cards in Kotlin using Jetpack Compose, including a data class, a get dogs function, and a lazy column with image and text.
Build a tic tac toe in Kotlin and Jetpack Compose with a header showing whose turn it is and a board driven by a mutable state list of moves.
Build a tic tac toe board in jetpack compose by structuring a header and 3x3 grid, using X and O vector assets, and rendering moves in a composable.
Learn to implement an endgame checker for a 3x3 grid game in Kotlin, including horizontal, vertical, and diagonal win detection, draw evaluation, and UI messaging for win or draw.
Add a reset button labeled 'click to start over' that restarts the game by setting player turn to true, clearing the win state, and resetting the board moves to null.
Explore scaffolds and their slots in Jetpack Compose, implement top app bar, bottom app bar, bottom sheets, floating action buttons, and snack bars, and plan a project app while noting navigation topics.
Create a versatile top app bar in Jetpack Compose featuring a title, navigation icon (up or drawer), actions, and a dropdown menu, with state management and toast feedback.
Discover a floating action button that hovers over a layout to deliver screen’s most common action, with center bottom or center right placement and docking to a bottom app bar.
Create a visited cities app in Kotlin and Jetpack Compose that displays cities with countries, allows adding and alphabetically sorting, and demonstrates state hoisting.
Master the Jetpack back stack: navigate between home, feed, and profile, manage history with pop back stack, and centralize routes using sealed destinations for clear navigation.
Explore Android's navigation drawer pattern with Jetpack Compose, implementing a scaffold with a drawer, header and body content, and navigation via a nav controller to home, feed, and profile.
Learn how deep links intercept external URLs to navigate directly to a composable. Define URI patterns with schemes and hosts and update the Android manifest to support them.
This course will teach you everything you need to know about Android development and building mobile apps.
I have over 10 years of professional Android development experience, and I have gathered all of that knowledge into this simple to follow, extensive and well documented video course.
There are many Android development resources online to choose from, but this course is special, as it provides you not only with a complete theoretical discussion on Android related topics, but also loads of exercises and interesting projects to build and practice your knowledge on.
We will start with an introduction to the Kotlin language fundamentals. We discuss all concepts that you need in order to get up and running with the language.
Following on from that, we start to pick apart all concepts related to building apps. We discuss each concept in detail, its multiple aspects, and we implement it in an example application. After each section, we have a project that we build together and that puts in practice what we just learned. In this way, at the end of the course, you will not only have all the knowledge and expertise to build an Android app, but also a complete portfolio of finished apps that you can show a potential employer or collaborator.
We also discuss advanced concepts related to planning and growing your app. We will look in detail at several architectural patterns and discuss their respective pros and cons, so that you can make an informed decision when starting your own project. We will see how we can build apps in a way that is scalable and easy to grow and maintain.
We discuss project management and delivery, how to set up development, staging and production environments. How to set up testing environment to reduce bugs and issues as much as possible.
Finally, we will talk about all the modern libraries and tools that are used professionally by Android developers. How can we make out development life easier and automate certain tasks? How can we easily create a backend environment and API that we can use in our app? We will talk extensively on all these topics.
All this and much more is all included in this one course.
By the end of this course you will:
Be able to work professionally as an Android developer
Build a portfolio of Apps to showcase your skills
Join any team, add value to any project
Know the tools and libraries that are most commonly used in modern app development
Have the knowledge and skills to build your own apps and publish them on the playstore
The goal is to take you from any level of development you are at now, and turn you into an expert, professional Android developer.
So sign up today and let's start learning how to build Android mobile apps.