
Explore Android Jetpack Compose by mastering Kotlin basics and building UIs with Compose, including a profile screen, Gmail-like UI, and a news app with data loading and filtering.
Install Android Studio on Windows using the archive, choose Arctic Fox 2020.3.1 patch two for Android 12 development, install with Windows installer, enable Android Virtual Device, and customize theme.
Download android studio for mac from developer.android.com and open the DMG. Drag to applications, run the setup wizard with standard options, then pick a theme and start a new project.
Set up your first Android Studio project, explore the user interface, and learn to change text size in the layout. Start with an empty activity in Kotlin.
Set up an Android Virtual Device (AVD) in Android Studio to emulate Android on your PC, configure a Pixel 4 with Play Store and Android 12, and run hello world.
Build a people counter app by adding a button, a click listener, and a text view that counts presses. Learn findViewById, Kotlin basics, constraint layout, and toasts.
Enable developer options and USB debugging to test the Android app on a real phone, connect to Android Studio, install the Hello world app, and compare with the virtual device.
Conclude the first chapter by setting up an Android virtual device in Android Studio, building a hello world and a counter app, then start Kotlin basics for future Android development.
Explore Kotlin fundamentals, including lambdas, to build Android apps with Jetpack Compose while understanding the older XML approach and gaining a solid six-hour basis for the compose chapters.
Learn Kotlin fundamentals by setting up Android Studio, declaring variables with val and var, and using print statements to observe how values can be assigned and reassigned.
Explore Kotlin number datatypes and type inference, from byte to long and from float to double, with guidance on when to use each.
Explore Kotlin data types, including booleans, chars, and strings, learn type inference, and use val and var for immutability and mutability, with examples of indexing and printing.
Explore Kotlin string templates and interpolation by converting concatenation to templates using the $ symbol and ${...} to embed variables and expressions, such as a string's length.
Explore arithmetic operators like plus, minus, multiply, divide, and modulo, and how results are stored. Understand why int and double types matter and how to avoid type mismatches with conversion.
Explore Kotlin's comparison operators: equal, not equal, less than, greater than, less equal, and greater equal, and learn to display results with string interpolation and boolean outputs.
Explore assignment operators and increment/decrement operators, using += and *=, with practical examples and pre/post increment behavior to control variable values.
Explore how if statements drive control flow by comparing two heights with operators, using if, else if, and else blocks to print results and choose between raw force or technique.
Explore how if statements evaluate booleans across strings and other data types, with cascade logic, top-to-bottom evaluation, else blocks, and examples like Dennis and a rainy condition.
Explore Kotlin's when expressions, a compact, powerful alternative to switch statements, and learn to handle values, ranges with in, multiple matches, and type checks with is and not is.
Learn how a while loop runs code while a condition stays true, with examples that increment x. Then explore other loop types like for, do while, and for each loop.
Explore the do while loop, which executes at least once before the condition, and compare it with the while loop; review its do { ... } while (condition) syntax.
Use while loops to execute code repeatedly while a condition is met. A felt temperature example increases room temperature until it reaches 20°C, then prints that it is comfy.
Master for loops in Kotlin to iterate ranges, arrays, and collections, using 1..10, 1 until 10, and 10 down to 1 with steps, and compare to while loops.
Explore break and continue keywords in for loops, learning how break exits the loop when a condition is met and continue skips the current iteration to the next one.
Master how to create and call functions in Kotlin, using parameters, arguments, and return values to reuse code, with a practical average function exercise included.
Trace the history of the null reference and how Kotlin's nullable types prevent null pointer exceptions. Use safe calls and let to work with nullable values.
Explore the Elvis operator and the not null assertion in Kotlin to handle nullables with defaults, and see how forcing a value can cause a null pointer exception.
Explore Kotlin fundamentals, from variables and data types to if and when statements, loops, and functions, with a focus on nullable values and preparation for object oriented programming.
Explore the fundamentals of object oriented programming, including classes, objects, members, interfaces, scope, and inheritance, and learn how to reuse code and extend functionality for Android apps.
Master the basics of object oriented programming with Kotlin, covering variables and types, control flows, functions, collections, and classes with inheritance.
Explore how classes define blueprints for objects and how properties and methods create real-world instances, using cars and humans as examples.
Define a class with a constructor for first name and last name, create person objects like Dennis and John Doe, and use an initializer to run code on object creation.
Explore scope by distinguishing parameters from variables, learn that you cannot assign to a parameter inside a function, and understand shadowing and current scope binding.
Explore class members in Kotlin, including properties and methods, primary and secondary constructors, and initializer blocks, to build flexible, object-oriented data types.
Explore lateinit properties, initialization via init, and how to implement custom getters and setters in Kotlin, including private setters, backing fields, and value validation such as max speed.
Define Kotlin data classes with a primary constructor and val or var properties, and explore creation, copying, equality, and deconstruction using component1 and component2.
Explore inheritance in Kotlin by modeling a vehicle base class and car subclass, then extend to electric car with battery life and range. Override range and drive to demonstrate polymorphism.
Learn how interfaces extend class functionality, implement properties like max speed and functions like drive and break, and use override and super to compose behavior.
Explore abstract classes, their concrete members, and how subclasses override abstract properties like max speed in human and elephant; compare with interfaces that cannot hold state or constructors.
Explore typecasting in Kotlin with lists of strings and mixed types, using is and when to identify types. Learn smart casts and safe and unsafe casting with as and as?.
Explore the fundamentals of object oriented programming, including classes, objects, instances, members, interfaces, inheritance, data classes, and scope, with Android development examples using AppCompat activity.
Explore Kotlin fundamentals part three, covering arraylists, lambda expressions, visibility modifiers, nested and inner classes, safe and unsafe casts, and exception handling to prevent crashes.
Explore Kotlin collections, including typed arrays like int, boolean, double, and string arrays, plus lists, sets, and maps, with read-only and writable variants.
Explore arrays in Kotlin with int arrays, type inference, printing with contentToString, index-based access, and manipulating fixed-size collections, including arrays of days and fruit objects.
Learn how lists handle single data types and objects, switch from immutable to mutable to add, remove, and modify items like months and days using indices and size checks.
Master sets and maps, learning that sets remove duplicates and are unordered, use mutable and sorted sets, and work with maps as key-value pairs with iteration.
Explore array lists as dynamic arrays with insertion order, providing read and write operations, various constructors, and essential functions like add, clear, get, remove, iterator, and size.
Explore lambda expressions and function literals in Android development, using curly braces and the arrow operator to create concise, typed functions for events like onClick.
Explore Kotlin visibility modifiers—public, private, protected, and internal—how they restrict access to classes, methods, and properties, the default public scope, and the open keyword for inheritance, with examples.
Explore nested and inner classes in Kotlin, contrast static nested classes with inner classes that keep a reference to the outer class and can access its private members.
Explore unsafe and safe cast operators in Kotlin, using as and as? to cast nullable and non-null values, learn how unsafe casts throw exceptions and how safe casts return null.
Master exception handling by using try, catch, finally and throw to maintain program flow, handle runtime problems like internet connection doesn't work, division by zero, and null pointer exception.
Move beyond Kotlin fundamentals to start Android app development, using arraylists, lambda expressions, visibility modifiers, and exploring nested and inner classes, safe and unsafe operators, try and catch for safety.
Explore Jetpack Compose, a declarative UI toolkit that replaces XML layouts and findViewById with composable functions. Discover how it interoperates with projects and enables building composables with less code.
Create a new Android project with an empty compose activity, use composables like greeting and text, and render content via setContent under a dog profile page theme.
Explore how preview annotations sync designer text with code, show the running app differences, and create a my app composable with a required text at 30.sp.
Build a simple dog profile page in Jetpack Compose using a column layout, image composable, and text elements; learn basic composables, painter resources, previews, and UI attributes.
Learn to style a profile image with modifiers—size, circle clip, red border, and content crop—while centering in columns and rows and creating reusable profile stats.
Add two Android Jetpack Compose buttons, follow user and direct message, in a row beneath profile stats, with text labels and onClick placeholders, spaced evenly.
Wrap content in a material card with elevation, padding, and a border of two density pixels using rounded corners; set the column to vertical scroll with remember scroll state.
Learn to restructure complex Jetpack Compose UIs with constraint layout, a Google-recommended approach, by creating references for composables and linking their top, start, end, bottom constraints using a guideline.
Learn to build responsive layouts with a decoupled constraint layout API in Android Jetpack Compose, using portrait and landscape constraint sets and a box with constraints.
Explore essential Kotlin concepts for Jetpack Compose, including default arguments, onClick and content parameters, trailing lambdas, and delegated properties with remember for state. Discover coroutines for asynchronous UI.
Learn state and recomposition in Jetpack Compose through a text field example. Use remember and mutableStateOf to update the UI, and rememberSaveable to preserve state across configuration changes.
Build a Gmail-style ui dummy with a scrollable list, left drawer, top app bar, account dialog, floating action button, bottom navigation, and lazy columns.
Learn to build a Gmail-style app bar with a scaffold, a reusable home app bar, and a card row featuring a menu icon, search text, and a profile image.
Learn to implement a Gmail-style drawer menu in jetpack compose for android 12, using scaffold state, coroutine scope, and a sealed drawer menu data model to structure icons, headers, and dividers.
Build a Gmail drawer menu in Jetpack Compose with icons and text in a row. Implement vertical scrolling with remember scroll state and differentiate dividers, headers, and item bodies.
Design an Android 12 Jetpack Compose bottom navigation bar by building a home menu with a sealed bottom menu data model and two labeled items with icons.
Learn to implement a mail list with Jetpack Compose using a lazy column in a scaffold, building mail items with circular initials, subject, body, timestamp, and a star action.
Create a Gmail-like floating action button in Jetpack Compose that toggles from icon to extended 'compose' text based on scroll state using a GmailFab.
Recreate the Gmail account dialog in Android Jetpack Compose by building a custom accounts dialog UI, triggered by an on-click top icon, using a mutable open state and material components.
Finalize a Gmail-like account dialog in Jetpack Compose, displaying multiple accounts with unread counts, an add account option, and privacy policy and terms of service.
Explore the news app's user interface and navigation, using a bottom bar to switch options, and anticipate loading data while building custom composables in Jetpack Compose.
Learn to set up jetpack compose navigation by adding navigation dependency, creating two screens (top news and detail), and preparing for a nav host and controller in the next video.
Set up navigation with a nav host and remember nav controller to switch between top news and detail screens, using routes and pop back stack.
Create a news data model with mock data and display news items in a Jetpack Compose lazy column using images, titles, descriptions, published dates, and navigation to a details screen.
Learn to navigate with an argument by making top news items clickable and passing a news id to a detail screen; wire the nav controller and load data by id.
Create a news detail screen in Jetpack Compose featuring an image, author and date icons, article title and description, with scrollable content and proper padding.
Add a top app bar with back navigation using scaffold, and implement time ago date formatting to show publication relative to now.
Learn to implement bottom bar navigation in a Jetpack Compose app with scaffold and a pre-built bottom navigation, then connect items to routes via a nav host and controller.
Build a bottom navigation bar in the news app using a scaffold with top news, categories, and sources. Wire navigation with a nav controller and scroll state.
Add bottom navigation to the NewsApp using a shared nav controller and routes to switch between top news, categories, and sources.
Learn how retrofit loads json data from the internet into your android app, and discover what api and json mean, enabling you to display dynamic data in a news app.
Set up retrofit in the app by adding the retrofit dependency and syncing. Build data models for the news json (top news response, article, source) and define a news service to fetch top headlines by country and api key.
update the top news list to fetch articles from the api and display them with coil image loading, replacing placeholders with real images.
Explore the categories screen with a horizontal scrollable category tabs, implement category tabs with selected state, and connect a news manager to update the selected category and fetch category data.
Build a categories article card composable in Jetpack Compose, displaying a lazy column of top news with Coil-loaded images, placeholders, and a bordered card showing title, author, and date.
Implement and display articles by category in a Jetpack Compose app by building get articles by category, wiring a news manager, and rendering results on the category screen.
Learn to use an http interceptor to automatically add an api key header for retrofit calls, configure an okhttp client with a logging interceptor, and pass the client to retrofit.
Build a sources screen with a lazy column, top app bar, and a dropdown to select sources like TechCrunch, updating the news manager to fetch articles by source.
Explore Android 12 Jetpack Compose by building a sources view with a lazy column, article cards, and clickable read full article links that open in a browser.
Learn to build a search feature in an Android 12 Jetpack Compose news app by adding a top search bar, a mutable query state, and fetching articles via news manager.
Learn how MVVM works in Jetpack Compose by rebuilding a news app, detailing Model, View, and ViewModel roles, StateFlow data flow, and the benefits of clean architecture.
Refactor the news app to mvvm with coroutines, adding loading, error, and success states; replace news manager with repository and main view model, using retrofit and viewModel scope.
Refactor a news app to MVVM using coroutines and suspend functions, replacing Retrofit with IO dispatcher calls, and implement a repository and view model with loading and articles state flows.
Refactor the news app by introducing a main view model and coroutines. Wire it through the main activity to manage top articles, categories, and navigation with state flows.
Explore adding a view model and coroutine to a news app by converting services to suspend functions, replacing the news manager, and wiring source and search via the repository.
Implement loading and error states in a Jetpack Compose news app; show a circular progress indicator during loading and an error message on failure using mutable state and coroutine handling.
So you want to become an Android developer in 2022 and work from anywhere in the world, or maybe even the same place you're currently at, but with much more interesting and well-paying jobs? Learning Android Jetpack Compose App development is the way to go.
You have a great idea for an app and you just need to learn how to make it happen? Or do your friends know that you are tech-savvy and they constantly come to you with their great ideas and want you to build them?
Do you have no programming experience whatsoever? Or maybe you have worked with another programming language in the past?
Either way - you're in the right place.
In this course, you will learn everything you need to know, to build your own apps in Android Jetpack Compose, no matter what you need them for. For your company, your friends, your own business, or simply for fun. You'll become a real Android App Developer by getting the best Android Jetpack Compose App development course on Udemy.
Why care about Jetpack Compose?
Jetpack Compose is the new way of building Android Apps. It's a Package that Google has developed and pushes now. Google believes that this is the best way to build Native Android Applications, and so do I!
How is this course different than my Android 12 Masterclass?
You might have seen my Android 12 Masterclass which is the go-to point when it comes to Android App development up to now. If you need to work on existing projects, or you find code on GitHub from the past, it will most likely not be in Jetpack compose but using the old-fashioned way with XML for the User Interface. This is still good and relevant, and will probably stay relevant for another 2-3 years. But if you want to learn the absolute newest and latest technology, then Jetpack Compose is the way to go.
If you are uncertain, then I would recommend you get both courses. The first 6 hours of each of the courses are the same, as the Kotlin basics are the same. We build on those in each of the courses and develop some really cool applications together!
If you sign up now you will get all this Android app development content:
Over 15 hours of high quality & high definition 1080p video content
The complete code with step-by-step guides (in the code itself). So either you follow along in the video, or you get right into the action in Android Studio yourself.
Loads of exercises that make sure, that the knowledge really sticks.
The best Android 12 Jetpack Compose app development course money can buy.
You will build the complete GMail User Interface and learn how to:
build composable functions
build complex User Interfaces
use AppBar Menus
Drawer Menus
Bottom Navigation Bars
Floating Action Buttons
Custom Dialogs
Lazy Columns (List Views)
Then you will build a complete News App from Scratch, that loads Data directly from a NewsAPI! Hereby you will learn how to:
Use the navigation component to go from one screen to another with data
Build a beautiful user interface in Kotlin
Work with APIs by learning how to use Retrofit
Filter data you get from an API
Display News results interactively in different ways.
Adding Headers with HTTPInterceptor
You will learn from me, Denis Panjuta a German engineer and tutor with over 8 years of programming and teaching experience.
After the course you will be comfortable using:
The object-oriented programming language Kotlin, variables, data types, functions, classes, inheritance.
Control flows (if/else, when, for/while/do-while loops) .
Data structures such as collections, arrays, ArrayLists, etc.
Networking, including asynchronous API calls, to retrieve live data from the cloud and store it there.
JSON with all of its advantages.
Best practices when using Kotlin and building Android apps.
Get started now and become an Android Jetpack Compose app developer in just 4 weeks! You will learn all relevant Android App development techniques. I can tell you Android development is a lot of fun! This course will make your journey to becoming an Android developer fun as well.
Don't waste any more time and get right into the action. This course consists of precisely curated content with fun example applications, exercises, presentations, and demos. As our main goal is to make sure, that you become a successful Android developer. We also offer high-quality support, so in case you get stuck, we will be there for you, answering your questions in the Q&A.
REMEMBER… There is a full 30 DAY-money-back guarantee.
So what are you waiting for? Click the "Buy now" button. You’ve got nothing to lose only to gain from this world-class Android app development course.