(Jetpack, Architecture & More)Advanced Android Bootcamp 2023
Last updated 12/2022
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 27.78 GB | Duration: 37h 29m
Last updated 12/2022
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 27.78 GB | Duration: 37h 29m
Android App Development with Jetpack, Compose, MVVM Clean Architecture, Dagger/Hilt, Coroutines, Testing, Retrofit, …
What you'll learn
Android Jetpack : Data Binding, View Binding, View Model, Live Data, Room Data Persistence, Paging, Work Manager, Navigation, LifeCycle aware components
Jetpack Compose : Fundamentals , Advanced Concepts(State Handling, Side Effects, Uni Directional Data Flow,….), Advanced Project Examples With Jetpack Compose
Kotlin Coroutines, Dependency Injection With Dagger 2 & Hilt, Networking With Retrofit 2, Unit Testing
Advanced Android Architecture Best Practices, MVVM Clean Architecture
Unit Testing Android Applications with JUnit, Truth and Mockito.
6 Complete Larger Project Examples Covering Real World Applications Of Jetpack Libraries, Dagger/Hilt, Coroutines, Retrofit and Clean Architecture
Requirements
Beginner level knowledge of Android Studio
Beginner level knowledge of Kotlin or Java
Basic Android Development Skills( at least, have followed a beginner level course or a tutorial)
(you may need to provide an email address to sign up to third party TMDB free REST API )
Description
Become a highly qualified Professional Level Android Developer by mastering most demanded Android skills of 2023!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 MasterclassYou 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 MasterclassI 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( buttons , SnackBars,..) 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(LaunchEffect,….) ,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 framework4) Kotlin Coroutines MasterclassWe 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 CourseI 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 MasterclassWith 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 CourseYou 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.*******************************************************************************************************************And that's not all. This course is ever increasing. I am adding new lessons to this course every week. And continuously updating and upgrading existing lessons and code samples.********************************************************************************************************************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.
Overview
Section 1: Course Overview(Watch this first)
Lecture 1 Course Curriculum Overview
Lecture 2 Course Curriculum Overview(Written)
Lecture 3 How To Enable Subtitles(Captions)
Lecture 4 How To Ask Questions In The Course
Lecture 5 How To Download And Use Code Samples
Lecture 6 A Gift For You : 120 Android Interview Questions (PDF) E Book.
Section 2: Data Binding Fundamentals.
Lecture 7 A Simple Data Binding Example
Lecture 8 Coding Challenge 1
Lecture 9 Coding Challenge 1 Answer
Lecture 10 Data Binding With Objects
Lecture 11 Section Summery(Short Note)
Lecture 12 Frequently Asked Questions.
Lecture 13 Practical Applications Of Data Binding
Section 3: Working With View Models.
Lecture 14 Why Do We Need A View Model?
Lecture 15 A Simple View Model Example
Lecture 16 Coding Challenge 1
Lecture 17 Coding Challenge 1 Answer
Lecture 18 When is the ViewModel's onCleared() called?
Lecture 19 Inheritance from an interface with '@JvmDefault' members Error.
Lecture 20 View Model Factory
Lecture 21 New way to get an instance of ViewModel.
Lecture 22 Section Summery(Short Note)
Lecture 23 Frequently Asked Questions.
Section 4: Live Data
Lecture 24 LiveData Fundamentals
Lecture 25 Coding Challenge 1
Lecture 26 Coding Challenge 1 Answer
Lecture 27 Section Summery(Short Note)
Lecture 28 Frequently Asked Questions
Section 5: View Model & Live Data With Data Binding.
Lecture 29 View Model With Data Binding
Lecture 30 Live Data With Data Binding
Lecture 31 Two Way Data Binding
Lecture 32 When do we use Two Way Data Binding ?
Lecture 33 Coding Challenge
Lecture 34 Coding Challenge Answer
Section 6: Activity And Fragment Lifecycles
Lecture 35 Android Activity Lifecycle
Lecture 36 Fragments Introduction
Section 7: Navigation Architecture Components.
Lecture 37 Introduction To Navigation Architecture Component
Lecture 38 Project SetUp
Lecture 39 Navigation Graph
Lecture 40 Navigation Host Fragment
Lecture 41 Navigation Destinations
Lecture 42 Navigation Actions
Lecture 43 Transforming Data Between Destinations
Lecture 44 Animations For Actions
Lecture 45 Coding Challenge 1
Lecture 46 Coding Challenge 1 :Solution
Section 8: Android RecyclerView Fundamentals.
Lecture 47 Android RecyclerView Fundamentals
Lecture 48 RecyclerView with Data Binding and ViewBinding
Section 9: Kotlin Coroutines Part 1 : Coroutines Fundamentals
Lecture 49 Introduction
Lecture 50 Importance of Asynchronous Programming
Lecture 51 Our First Coroutine
Lecture 52 Scopes, Dispatchers & Builders
Lecture 53 Coding Challenge 1
Lecture 54 Coding Challenge 1 :Solution
Lecture 55 Switch The Thread Of A Coroutine
Lecture 56 How to fix the Error occured with coroutines version 1.3.7
Lecture 57 Suspending Functions
Lecture 58 How Suspending Functions Work
Lecture 59 Async & Await
Lecture 60 Unstructured Concurrency
Lecture 61 Structured Concurrency
Lecture 62 View Model Scope
Lecture 63 Life Cycle Scope
Lecture 64 Live Data Builder
Lecture 65 Coroutines Flows
Lecture 66 Practical Applications(Project Examples) of Coroutines.
Section 10: Room Data Persistence Library Mastery(With A Complete MVVM Project Example)
Lecture 67 Introduction
Lecture 68 Project SetUp
Lecture 69 Room Entity Classes
Lecture 70 Data Access Object Interface(DAO)
Lecture 71 Room Database Class
Lecture 72 Repository In MVVM
Lecture 73 Design The View
Lecture 74 Create A ViewModel
Lecture 75 Implementing CRUD Functionalities : Part 1
Lecture 76 Implementing CRUD Functionalities : Part 2
Lecture 77 Implementing CRUD Functionalities : Part 3
Lecture 78 Displaying Toast Messages With ViewModel and LiveData
Lecture 79 Verification With Returned Values From Database
Lecture 80 User Input Validations
Lecture 81 More Efficient RecyclerView
Lecture 82 Working With Room Short Note
Lecture 83 MVVM Architecture For Android Development Short Note
Lecture 84 Flow Instead Of LiveData
Section 11: Room Migrations
Lecture 85 Room Database Migrations : AutoMigrations
Lecture 86 Coding Challenge 1
Lecture 87 Coding Challenge 1 : Answer
Lecture 88 AutoMigrations With Specifications
Lecture 89 Coding Challenge 2
Lecture 90 Coding Challenge 2 : Answer
Section 12: Retrofit With Kotlin Coroutines(New Kotlin Android Upgraded Lessons)
Lecture 91 Introduction
Lecture 92 Project SetUp
Lecture 93 Create Data Classes
Lecture 94 Interface With URL End Points
Lecture 95 Retrofit Instance Class
Lecture 96 View Data
Lecture 97 Query Parameters
Lecture 98 Path Parameters
Lecture 99 Logging Interceptor
Lecture 100 Set Time Outs
Lecture 101 POST Requests
Section 13: Notifications(New Kotlin Android Upgraded Lessons)
Lecture 102 A Simple Notification Example
Lecture 103 Tap action
Lecture 104 Action Buttons
Lecture 105 Direct Reply Action
Section 14: Work Manager(New Kotlin Android Upgraded Lessons)
Lecture 106 Introduction
Lecture 107 Work Manager One Time Work Request Example
Lecture 108 Get Status Updates From Workers
Lecture 109 Set Constraints
Lecture 110 Set Input & Output Data Of A Worker Class
Lecture 111 Chaining Workers
Lecture 112 Periodic Work Request Example
Section 15: Dependency Injection With Dagger 2(New Kotlin Android Upgraded Lessons)
Lecture 113 What is "Dependency Injection"?
Lecture 114 Dagger and Hilt
Lecture 115 A Pure Dependency Injection Example
Lecture 116 Constructor Injection With Dagger 2
Lecture 117 Dagger 2 Modules
Lecture 118 Working With Interfaces
Lecture 119 Field Injection With Dagger 2
Lecture 120 State Of A Module
Lecture 121 The Application Class
Lecture 122 Singletons
Section 16: MVVM Clean Architecture Complete Project Example 1(New Upgraded Kotlin Lessons )
Lecture 123 Project Introduction
Lecture 124 Do we need to create Use Case classes all the time?
Lecture 125 Use Cases Of The Project
Lecture 126 Project Setup
Lecture 127 JSON To Kotlin Class Plugin
Lecture 128 Solution For 503 Service Unavailable Error.
Lecture 129 Create The Data Layer : Part 1
Lecture 130 Create The Data Layer : Part 2
Lecture 131 Create The Data Layer : Part 3
Lecture 132 Create The Domain Layer
Lecture 133 Create The Data Layer : Part 4
Lecture 134 Create The Data Layer : Part 5
Lecture 135 Create The Presentation Layer : Part 1
Lecture 136 Create The Presentation Layer : Part 2
Lecture 137 Create The Presentation Layer : Part 3(Dagger)
Lecture 138 Create The Presentation Layer : Part 4(RecyclerView)
Lecture 139 How To Change The Theme Colours.
Lecture 140 Create The Presentation Layer : Part 5
Lecture 141 Create The Presentation Layer : Part 6
Section 17: Unit Testing Fundamentals
Lecture 142 Introduction
Lecture 143 Project SetUp
Lecture 144 Our First Local Unit Test
Lecture 145 Coding Challenge 1 Answer
Lecture 146 Test Doubles
Lecture 147 Testing ViewModel
Lecture 148 Testing Room
Lecture 149 Testing LiveData
Lecture 150 More On Unit Testing(Mock Web Server,…)
Section 18: View Binding
Lecture 151 View Binding Fundamentals
Lecture 152 Android Services Example With View Binding
Lecture 153 Android Services and Broadcast Receivers : Stopwatch app with view binding
Section 19: Dagger Hilt
Lecture 154 Hilt Fundamentals
Lecture 155 Coding Challenge : Migrate TMDB project from Dagger to Hilt
Lecture 156 Coding Challenge Answer
Lecture 157 Hilt Project Example
Section 20: MVVM Clean Architecture Complete Project Example 2(New Upgraded Kotlin Lessons )
Lecture 158 Introduction
Lecture 159 Recognizing Use Cases
Lecture 160 Recognizing data models
Lecture 161 Storing Secret Keys
Lecture 162 Remote Data Source And Related Functions.
Lecture 163 Alternative code for ActiveNetWorkInfo
Lecture 164 Unit Testing With Mock Web Server
Lecture 165 View Model & View Model Factory
Lecture 166 Dependency Injection With Hilt
Lecture 167 Fragments & Navigation Components
Lecture 168 Fix Error :Inheritance from an interface with '@JvmDefault' members is only all
Lecture 169 RecyclerView With DiffUtil
Lecture 170 More Dependency Injection
Lecture 171 Basic Paging With RecyclerView.
Lecture 172 Display On A Web View.
Lecture 173 Implementing Search Functionality
Lecture 174 FragmentContainerView For Navigation
Lecture 175 Hilt SingletonComponent
Lecture 176 Local data base related components part 1
Lecture 177 Local data base related components part 2
Lecture 178 Local data base related components part 3
Section 21: Jetpack Compose Fundamentals (New Kotlin Android Upgraded Lessons)
Lecture 179 Introduction And Setup
Lecture 180 Jetpack Compose Modifiers And Other Parameters
Lecture 181 Column Layout In Jetpack Compose
Lecture 182 Row Layout In Jetpack Compose
Lecture 183 Box Layout In Jetpack Compose
Lecture 184 Jetpack Compose Buttons
Lecture 185 SnackBar In Jetpack Compose
Lecture 186 RecyclerView(Lazy Column) In Jetpack Compose
Section 22: State In Jetpack Compose
Lecture 187 State In Jetpack Compose
Lecture 188 Remembering State Before Recomposition
Lecture 189 Property Delegates
Lecture 190 Unidirectional Data Flow and State Hoisting
Lecture 191 Saving The State With rememberSaveable
Lecture 192 ViewModel As A Parameter Of The Composable
Section 23: Kotlin Coroutine Part 2 : Working With Flows
Lecture 193 Kotlin Flows Introduction
Lecture 194 Kotlin Flows With Jetpack Compose
Lecture 195 Kotlin Flows With ViewModel
Lecture 196 Buffer & CollectLatest
Lecture 197 Flow Operators
Lecture 198 State Flow
Lecture 199 Shared Flow
Section 24: Jetpack Compose MVVM Project Example 01 - Unit Converter App
Lecture 200 Introduction
Lecture 201 Create The Composables : Part 1
Lecture 202 Create The Composables : Part2
Lecture 203 Create The Composables : Part3
Lecture 204 Create The Composables : Part4
Lecture 205 Room Database, Entity and DAO
Lecture 206 Saving Data In The DataBase.
Lecture 207 Displaying The History List Using A Lazy Column
Lecture 208 Delete A List Item & Delete All Button
Lecture 209 Dependency Injection With Hilt
Lecture 210 ViewModel As A State Holder
Lecture 211 Handle Screen Orientation On Jetpack Compose
Lecture 212 Other remaining lessons of this Jetpack Compose
Section 25: Effect Handlers In Jetpack Compose
Lecture 213 Side-Effects Introduction
Lecture 214 LaunchedEffect
Lecture 215 RememberCoroutineScope
Section 26: Architecture Best Practises For Jetpack Compose
Lecture 216 Handling Events With Sealed Classes
Lecture 217 Navigation In Jetpack Compose
Section 27: Java Based Archives for references : Introduction
Lecture 218 Course Curriculum Overview(Watch this first)
Lecture 219 Android Architecture Components Overview
Lecture 220 MVVM Architecture Overview
Lecture 221 Introduction To ViewModel
Lecture 222 ViewModel Code Example
Lecture 223 Working With Live Data
Lecture 224 setValue() or postValue()
Section 28: Easier SQLite With Room(Java Based Archives)
Lecture 225 Introduction To Data Persistence With Room
Lecture 226 Introduction To Data Persistence With Room : Short Note
Lecture 227 A CRUD App Created Without Room
Lecture 228 Project Set Up For Room
Lecture 229 Room Entity Classes
Lecture 230 Room Entity Classes : Short Note
Lecture 231 Room DAO(Data Access Object)
Lecture 232 Room DAO(Data Access Object) : Short Note
Lecture 233 Room Database Class
Lecture 234 Room Database Class: Short Note
Lecture 235 Complete the CRUD Functionalities
Lecture 236 Complete The CRUD functionalities : Short Note
Lecture 237 Database Operations Using Separate Threads
Lecture 238 Database Operations Using Separate Threads: Short Note
Lecture 239 Callback Class Of Room Database
Lecture 240 Callback Class Of Room Database : Short Note
Lecture 241 Home Work Exercise 1
Lecture 242 Home Work Exercise 1 Answers
Section 29: Android Data Binding Mastery(Java Based Archives)
Lecture 243 Android Data Binding Introduction
Lecture 244 Android Data Binding Introduction:Short Note
Lecture 245 Data Binding Project Set Up
Lecture 246 Data Binding Project Set Up : Short Note
Lecture 247 Data Binding With TextViews
Lecture 248 Data Binding With TextViews : Short Note
Lecture 249 Data Binding For Event Listeners
Lecture 250 Data Binding Event Listeners : Short Note
Lecture 251 Work With Include Layouts
Lecture 252 Work With Include Layouts : Short Note
Lecture 253 Two Way Data Binding
Lecture 254 Two Way Data Binding : Short Note
Lecture 255 Home Work Exercise 2
Lecture 256 Home Work Exercise 2 Answers
Lecture 257 Data Binding With RecyclerView
Section 30: Complete MVVM Project Example(Java Based Archives)
Lecture 258 Introduction
Lecture 259 Create Room Components Of The Project
Lecture 260 Create A Repository
Lecture 261 Why we didn't use AsynkTask for some methods?
Lecture 262 Create A View Model
Lecture 263 Work With The Spinner
Lecture 264 View Data On The RecyclerView
Lecture 265 Complete Insert, Update And Delete Functionalities
Lecture 266 Use DiffUtil For The RecyclerVIew Updates
Lecture 267 Use Executors Instead of AsyncTask
Section 31: Retrofit Crash Course(Java Based Archives)
Lecture 268 Purpose of this section
Lecture 269 Introduction
Lecture 270 Create A Retrofit Instance
Lecture 271 Entity/Model Classes
Lecture 272 Create An Interface With URL End Points
Lecture 273 The Call Interface
Lecture 274 Working With Path Parameters
Lecture 275 Working With Query Parameters
Lecture 276 Work With The Request Body
Lecture 277 Http Headers
Lecture 278 When Do We Use OkHttp ?
Lecture 279 Get Request Example Introduction
Lecture 280 Set Up The Project
Lecture 281 Generate Model Classes
Lecture 282 Interface With URL End Points
Lecture 283 Create A Singleton Retrofit Instance
Lecture 284 Create The View
Lecture 285 Create The View - Part 2
Lecture 286 Home Work Exercise
Lecture 287 Home Work Exercise Answers
Lecture 288 Retrofit POST Request Example Introduction
Lecture 289 Retrofit POST Example Part 1
Lecture 290 Retrofit POST Example Part 2
Lecture 291 Retrofit POST Example Part 3
Lecture 292 How Values Are Sent In A HTTP POST Request
Lecture 293 TMDB Client App: Introduction
Lecture 294 Get An API Key From The Movie Database
Lecture 295 Project Set Up
Lecture 296 Model Classes
Lecture 297 Retrofit Instance And Interface
Lecture 298 Get Data From The API
Lecture 299 Create The View - Part 1
Lecture 300 Create The View - Part 2
Lecture 301 Create The View - Part 3
Section 32: Retrofit With View Model & Live Data(Java Based Archives)
Lecture 302 Home Work Exercise Introduction
Lecture 303 Home Work Exercise Answers : Part 1
Lecture 304 Home Work Exercise Answers : Part 2
Section 33: Android Paging Library(Java Based Archives)
Lecture 305 Introduction To Paging Library
Lecture 306 Project Set Up
Lecture 307 Create A Data Source
Lecture 308 Create A Data Source Factory
Lecture 309 Modify The View Model For Paging
Lecture 310 Create The PagedListAdapter
Lecture 311 Modify The Activity For Paging
Section 34: SOLID Principles Of OOP (Java Based Archives)
Lecture 312 SOLID Principles Of Object Oriented Design
Section 35: Dependency Injection With Dagger(Java Based Archives)
Lecture 313 Dependencies And Dependency Injection
Lecture 314 Pure Dependency Injection Example
Lecture 315 Constructor Injection
Lecture 316 Dagger Modules
Lecture 317 Work With Interfaces
Lecture 318 Inject Dependencies using an injector method.
Lecture 319 Modules With A State
Lecture 320 Create A Sub Class Of The Application Class
Lecture 321 Dagger 2 Singleton
Lecture 322 Home Work Exercise
Lecture 323 Home Work Exercise Answers
Lecture 324 View-model Factory Overview
Lecture 325 Dependency Injection With Dagger 2 For MVVM
Lecture 326 Zelency Plugin
Lecture 327 Butter Knife In Activities
Lecture 328 Butter Knife In Fragments
Section 36: Android Work Manager(Java Based Archives)
Lecture 329 Introduction
Lecture 330 Simple Work Manager Example
Lecture 331 Get Status Updates
Lecture 332 Working With Constraints
Lecture 333 Send And Receive Data
Section 37: Navigation Architecture Components(Java Based Archives)
Lecture 334 Introduction
Lecture 335 Project Set Up
Lecture 336 Create A Navigation Graph
Lecture 337 Create A Navigation Host Fragment
Lecture 338 Navigation Destinations
Lecture 339 Actions
Lecture 340 SafeArgs For Data Passing
Lecture 341 Home Work Exercise
Lecture 342 Home Work Exercise Answers
Section 38: Lifecycle Aware Components.(Java Based Archives)
Lecture 343 Android Activity Lifecycle
Lecture 344 Android Activity Lifecycle Code Example
Lecture 345 Lifecycle Aware Components
Section 39: Conclusion And Bonus Lecture.
Lecture 346 Conclusion
Lecture 347 Bonus Lecture
Beginner level Android Developers(with the knowledge of Android Development fundamentals),Professional Android developers.,Determined students who are willing to become professional Android developers.,Anyone who has a passion to build awesome Android applications using cutting edge technologies.