
Explore data binding, ViewModel, and LiveData fundamentals, and apply MVVM with Room, Retrofit, and coroutines. Build modern Android apps using Jetpack Compose, Dagger Hilt, navigation, and testing practices.
Enable data binding in Android, create a binding object ActivityMainBinding, and replace findViewById in a simple name entry app. Use binding.greetingTextView, binding.nameEditText, and binding.submitButton to display a greeting.
Create a new Android Studio project VeiwModelDemo2, enable data binding, and use MainActivityViewModel with getTotal and setTotal to manage a running total updated via an add button.
Explore two-way data binding in Android, linking a MutableLiveData username in a view model to a text view and an edit text, so the ui and data update in sync.
Explore the Android activity lifecycle, including onCreate, onStart, onResume, onPause, onStop, onDestroy, and onRestart, and observe how transitions occur during launches, rotations, and moving between activities.
Discover Android fragments as reusable UI components with their own lifecycle, including onCreateView and onViewCreated, hosted by an activity to manage multiple screens and bottom navigation.
Explore suspending functions in kotlin coroutines, mark functions with suspend, use withContext and delay, and understand their bytecode and continuation for avoiding thread blocking.
Learn how to use async and await with Kotlin coroutines to perform parallel data fetches from two sources, reducing wait time and illustrating Dispatchers.IO and Dispatchers.Main usage.
Explore how lifecycleScope and related ktx libraries automate coroutine cancellation in activities and fragments, using launchWhenCreated, launchWhenStarted, and launchWhenResumed to sync tasks with lifecycle events.
Recently Android Studio has deprecated lifecycleScope.launchWhenCreated { } .
It has been replaced with the repeatOnLifecycle API for more precise control over coroutine execution based on the lifecycle state.
We can achieve similar behavior using repeatOnLifecycle with Lifecycle.State.CREATED like this:
lifecycleScope.launch {
repeatOnLifecycle(Lifecycle.State.CREATED) {
// Your code here
}
}
This new approach gives us better control and clarity on when the coroutine should start and stop based on the lifecycle state.
Explore the live data builder in livedata-ktx 2.2.0-alpha01+ that auto-executes when active, cancels with lifecycle, and uses emit to update LiveData in a view model example.
Create a new Android Studio project named RoomDemo, enable data binding, configure view model, live data, Room, and coroutines with kapt, then sync the project.
Design the subscriber view for an android app, with a main activity, name and email inputs, save and clear buttons, and a recycler view of subscribers.
Create a view model to manage subscriber data with mutable live data and two-way data binding, implementing save, update, delete, and clear all operations via a repository.
Display subscriber data in a RecyclerView using data binding and a custom adapter with a view holder; bind name and email and initialize the view with test data.
Learn to emit view events from the MVVM view model using a LiveData event wrapper, enabling toast messages after subscriber operations while keeping the view model free of view references.
Become a highly qualified Professional Level Android Developer by mastering most demanded Android skills!
If you are an Android Developer with some coding experience, If you want to level up your skills and become a professional level Android Developer this course is for you!
This large course is a collection of 7 advanced Android Development courses.
1) Complete Android Jetpack Masterclass
You will get a complete android jetpack masterclass from this course.
Covering all the areas such as Data Binding, View Binding, View Model, Live Data, Room, Navigation, Work Manager and Notifications.
I will tach you advanced areas like Room Migrations as well.
After learning the basics, You will be developing 6 complete, larger projects to master practical applications of the knowledge you gained. You will be able to learn how to use jetpack components with dagger and hilt, coroutines, retrofit and testing libraries. And how to integrate the with MVVM and MVVM Clean Architecture.
2) Jetpack Compose Masterclass
I will step by step tach you everything you need to know in order to start using jetpack compose in your android projects.
You will start by learning fundamentals such as modifiers, layouts and View components and creating RecyclerViews using lazy columns.
We will also cover advanced areas such as State in Jetpack Compose, remembering state before the recomposition, property delegates, How to work with Side Effects, Unidirectional Data Flow and State Hoisting, Saving the state with remember saveable and how to effectively use view models with jetpack compose.
3) Dependency Injection With Dagger and Hilt Crash Course
As section 16 of this course you will get a dependency injection with dagger crash course. And in the section 19 you will learn everything you need to learn about HILT.
We will start with very basic pure dependency injection examples.And step by step progress to more advanced areas of dagger and hilt. You will learn about application class, modules, component interfaces, constructor injection, field injection and scopes.
Not only that, you will be able to experience creating 3 larger projects using dagger/hilt as the dependency injection framework.
4) Kotlin Coroutines Masterclass
We will discuss about scopes, dispatchers, builders, suspending functions, structured concurrency, view model scope, lifecycle scope and live data builder with easy-to-understand code samples. You will also be able master Coroutine Flow fundamentals, State Flow , Shared Flow, Buffer and Collect Latest, Flow Operators and how to use flows with view models.
5) Networking With Retrofit Crash Course
I will show you how to communicate with a REST APIs using retrofit library.
You will learn how to send GET and POST request to a server, how to effectively use path and query parameters,
how to receive data from a server, logging interceptors, timeouts, converting JSON formatted data received from server to Kotlin as well as how to use coroutines with retrofit.
6) MVVM and MVVM clean architecture Masterclass
With this course you will be able to master MVVM and MVVM clean architecture with single activity multiple fragments model and single activity multiple composables model.
We will be step by step building 6 larger well architected projects with Jetpack Architecture components and other supporting libraries such as Dagger/Hilt, Coroutines and Retrofit.
7) Unit Testing With JUnit And Mockito Crash Course
You will be able to learn how to unit test android applications using JUnit and third party libraries like Mockito and Truth.
I will teach you fundamentals of android unit testing with easy to understand code samples.
We will talk about test doubles, testing view model , live data and room db components, as well as testing with mock web servers.
With over 340 lectures and more than 35 hours of video, this comprehensive course leaves no stone unturned! .
I will start by teaching you each major topic with easy to understand simple project examples . Later, we will complete larger/complex project examples applying all the things we learnt.
To improve the student engagement coding challenges(homework assignments) and quizzes have included to each chapter, as well as 6 major projects aimed to provide a clear idea about how all those components work together!
This course will teach you Advanced Android Development in a practical manner, with every lecture comes a full coding screen-cast, corresponding short notes and downloadable code samples! Learn in whatever manner is best for you!
You will get lifetime access to over 340 lectures plus corresponding code samples and notes for the lectures!
This course comes with a 30 day money back guarantee! If you are not satisfied in any way, you'll get your money back. Plus you will keep access to the Notes and Code Samples as a thanking for trying out the course!
So what are you waiting for? Start mastering Android Jetpack, Jetpack Compose, Android Architecture Best practises, Dagger/Hilt, Kotlin Coroutines, Retrofit and Unit Testing in a way that will advance your career and increase your knowledge, all in a fun and practical way!
Who is the target audience?
· Beginners level Android Developers (with the basic knowledge of Android Development fundamentals).
· Intermediate level android developers who want to level up their skills!
Note:
During the course (in one section) to demonstrate different usages of retrofit, we will use TMDB free online REST API . You may need to provide an email address to sign up and get a free API key from them.