Tags
Language
Tags
March 2024
Su Mo Tu We Th Fr Sa
25 26 27 28 29 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31 1 2 3 4 5 6

(Jetpack, Architecture & More)Advanced Android Bootcamp 2022

Posted By: ELK1nG
(Jetpack, Architecture & More)Advanced Android Bootcamp 2022

(Jetpack, Architecture & More)Advanced Android Bootcamp 2022
Last updated 11/2022
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 27.17 GB | Duration: 37h 13m

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 2022!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

Section 27: Java Based Archives for references : Introduction

Lecture 217 Course Curriculum Overview(Watch this first)

Lecture 218 Android Architecture Components Overview

Lecture 219 MVVM Architecture Overview

Lecture 220 Introduction To ViewModel

Lecture 221 ViewModel Code Example

Lecture 222 Working With Live Data

Lecture 223 setValue() or postValue()

Section 28: Easier SQLite With Room(Java Based Archives)

Lecture 224 Introduction To Data Persistence With Room

Lecture 225 Introduction To Data Persistence With Room : Short Note

Lecture 226 A CRUD App Created Without Room

Lecture 227 Project Set Up For Room

Lecture 228 Room Entity Classes

Lecture 229 Room Entity Classes : Short Note

Lecture 230 Room DAO(Data Access Object)

Lecture 231 Room DAO(Data Access Object) : Short Note

Lecture 232 Room Database Class

Lecture 233 Room Database Class: Short Note

Lecture 234 Complete the CRUD Functionalities

Lecture 235 Complete The CRUD functionalities : Short Note

Lecture 236 Database Operations Using Separate Threads

Lecture 237 Database Operations Using Separate Threads: Short Note

Lecture 238 Callback Class Of Room Database

Lecture 239 Callback Class Of Room Database : Short Note

Lecture 240 Home Work Exercise 1

Lecture 241 Home Work Exercise 1 Answers

Section 29: Android Data Binding Mastery(Java Based Archives)

Lecture 242 Android Data Binding Introduction

Lecture 243 Android Data Binding Introduction:Short Note

Lecture 244 Data Binding Project Set Up

Lecture 245 Data Binding Project Set Up : Short Note

Lecture 246 Data Binding With TextViews

Lecture 247 Data Binding With TextViews : Short Note

Lecture 248 Data Binding For Event Listeners

Lecture 249 Data Binding Event Listeners : Short Note

Lecture 250 Work With Include Layouts

Lecture 251 Work With Include Layouts : Short Note

Lecture 252 Two Way Data Binding

Lecture 253 Two Way Data Binding : Short Note

Lecture 254 Home Work Exercise 2

Lecture 255 Home Work Exercise 2 Answers

Lecture 256 Data Binding With RecyclerView

Section 30: Complete MVVM Project Example(Java Based Archives)

Lecture 257 Introduction

Lecture 258 Create Room Components Of The Project

Lecture 259 Create A Repository

Lecture 260 Why we didn't use AsynkTask for some methods?

Lecture 261 Create A View Model

Lecture 262 Work With The Spinner

Lecture 263 View Data On The RecyclerView

Lecture 264 Complete Insert, Update And Delete Functionalities

Lecture 265 Use DiffUtil For The RecyclerVIew Updates

Lecture 266 Use Executors Instead of AsyncTask

Section 31: Retrofit Crash Course(Java Based Archives)

Lecture 267 Purpose of this section

Lecture 268 Introduction

Lecture 269 Create A Retrofit Instance

Lecture 270 Entity/Model Classes

Lecture 271 Create An Interface With URL End Points

Lecture 272 The Call Interface

Lecture 273 Working With Path Parameters

Lecture 274 Working With Query Parameters

Lecture 275 Work With The Request Body

Lecture 276 Http Headers

Lecture 277 When Do We Use OkHttp ?

Lecture 278 Get Request Example Introduction

Lecture 279 Set Up The Project

Lecture 280 Generate Model Classes

Lecture 281 Interface With URL End Points

Lecture 282 Create A Singleton Retrofit Instance

Lecture 283 Create The View

Lecture 284 Create The View - Part 2

Lecture 285 Home Work Exercise

Lecture 286 Home Work Exercise Answers

Lecture 287 Retrofit POST Request Example Introduction

Lecture 288 Retrofit POST Example Part 1

Lecture 289 Retrofit POST Example Part 2

Lecture 290 Retrofit POST Example Part 3

Lecture 291 How Values Are Sent In A HTTP POST Request

Lecture 292 TMDB Client App: Introduction

Lecture 293 Get An API Key From The Movie Database

Lecture 294 Project Set Up

Lecture 295 Model Classes

Lecture 296 Retrofit Instance And Interface

Lecture 297 Get Data From The API

Lecture 298 Create The View - Part 1

Lecture 299 Create The View - Part 2

Lecture 300 Create The View - Part 3

Section 32: Retrofit With View Model & Live Data(Java Based Archives)

Lecture 301 Home Work Exercise Introduction

Lecture 302 Home Work Exercise Answers : Part 1

Lecture 303 Home Work Exercise Answers : Part 2

Section 33: Android Paging Library(Java Based Archives)

Lecture 304 Introduction To Paging Library

Lecture 305 Project Set Up

Lecture 306 Create A Data Source

Lecture 307 Create A Data Source Factory

Lecture 308 Modify The View Model For Paging

Lecture 309 Create The PagedListAdapter

Lecture 310 Modify The Activity For Paging

Section 34: SOLID Principles Of OOP (Java Based Archives)

Lecture 311 SOLID Principles Of Object Oriented Design

Section 35: Dependency Injection With Dagger(Java Based Archives)

Lecture 312 Dependencies And Dependency Injection

Lecture 313 Pure Dependency Injection Example

Lecture 314 Constructor Injection

Lecture 315 Dagger Modules

Lecture 316 Work With Interfaces

Lecture 317 Inject Dependencies using an injector method.

Lecture 318 Modules With A State

Lecture 319 Create A Sub Class Of The Application Class

Lecture 320 Dagger 2 Singleton

Lecture 321 Home Work Exercise

Lecture 322 Home Work Exercise Answers

Lecture 323 View-model Factory Overview

Lecture 324 Dependency Injection With Dagger 2 For MVVM

Lecture 325 Zelency Plugin

Lecture 326 Butter Knife In Activities

Lecture 327 Butter Knife In Fragments

Section 36: Android Work Manager(Java Based Archives)

Lecture 328 Introduction

Lecture 329 Simple Work Manager Example

Lecture 330 Get Status Updates

Lecture 331 Working With Constraints

Lecture 332 Send And Receive Data

Section 37: Navigation Architecture Components(Java Based Archives)

Lecture 333 Introduction

Lecture 334 Project Set Up

Lecture 335 Create A Navigation Graph

Lecture 336 Create A Navigation Host Fragment

Lecture 337 Navigation Destinations

Lecture 338 Actions

Lecture 339 SafeArgs For Data Passing

Lecture 340 Home Work Exercise

Lecture 341 Home Work Exercise Answers

Section 38: Lifecycle Aware Components.(Java Based Archives)

Lecture 342 Android Activity Lifecycle

Lecture 343 Android Activity Lifecycle Code Example

Lecture 344 Lifecycle Aware Components

Section 39: Conclusion And Bonus Lecture.

Lecture 345 Conclusion

Lecture 346 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.