Android Growth Course – Construct Native Apps with Kotlin Tutorial
Study to construct native Android apps with Kotlin. Additionally, you will learn to use Android Jetpack, Firebase, Room, MVVM, Navigation, LiveData, and Kotlin Coroutines. This full course explains how you can construct a whole Android app utilizing finest practices.
💻 Code: https://github.com/BracketCove/SpaceNotes
🎥 Course developed by Ryan Kay. Try his YouTube channel: https://www.youtube.com/channel/UCSwuCetC3YlO1Y7bqVW5GHg
🔗 Absolute Newbie’s Introduction to Android Growth w/ Android Studio: https://skl.sh/2ZU6ZT9
🔗 Programming Fundamentals w/ Kotlin and Android: https://www.udemy.com/course/application-programming-fundamentals-with-kotlin/
⭐️ Course Contents ⭐️
1
(0:00) Introduction
2
(5:14) Mannequin View ViewModel (MVVM) Structure fundamentals and variations
(5:38) Is MVVM the right structure?
(7:41) Overview of MVVM with whiteboard instance
(12:11) Professionals and Cons of MVVM
(18:58) Bundle construction
3
(23:22) Learn how to create Vector Drawables
(24:22) Distinction between Raster (PNG, JPG, BMP) and Vector (SVG) Pictures?
(27:55) Uh Oh!
(28:41) Learn how to use Inkscape to create an SVG from a BMP/PNG
(30:07) Learn how to convert an SVG into an Android Studio Vector Asset
(32:29) Learn how to create easy animations utilizing animation lists and fade animations
4
(38:19) Materials Design Consumer Interface utilizing ConstraintLayout and Kinds
(41:00) Constructing an XML Structure utilizing ConstraintLayout
(51:09) Utilizing ConstraintLayout Chains
(55:43) Some recommendations on utilizing Kinds to create a cloth design look
5
(56:51) Learn how to use (and when to not use) the Android Navigation Part from Android Jetpack
(1:00:00) Including Protected Args to gradle
(1:01:15) Constructing a Navigation Graph utilizing the Navigation Editor (XML)
(1:11:00) Making a NavHostFragment to host the Navigation Part and including it to an Exercise
(1:15:29) Learn how to really change locations in our Fragments utilizing the Navigation Part (with protected args)
6
(1:20:00) Establishing Fragments as Views in MVVM utilizing Kotlin Artificial Properties
(1:25:32) Place to begin
(1:27:54) Importing an XML format to an Exercise/Fragment utilizing Kotlin Artificial Properties
(1:32:09) Learn how to reference Views within the Fragment utilizing artificial properties
(1:33:41) Including onClickListener to our views
(1:38:03) Intercepting OnBackPressed (NOTE: The API for this has modified since making this video. I’ve up to date the Repository appropriately)
(1:39:40) Learn how to observe the ViewModel utilizing LiveData callbacks
7
(1:43:22) ViewModels in MVVM with Kotlin Coroutines for Concurrency
(1:45:26) A take a look at my BaseViewModel class which comprises a part of the Coroutines Implementation (Coroutine Scope)
(1:49:25) Place to begin
(2:01:40) Dealing with occasions from the View within the ViewModel
(2:05:34) Utilizing the launch Coroutine Builder to entry information
(2:08:44) Learn how to replace the MutableLiveData fields to publish information to the View
8
(2:19:35) Fashionable RecyclerView implementation utilizing LiveData to deal with ItemTouchListener() callbacks
(2:22:49) Overview of the RecyclerView throughout the XML View with LinearLayoutManager
(2:26:53) What does the DiffUtil do?
(2:28:48) A take a look at the supply code of ListAdapter to raised perceive the way it works
(2:35:34) Writing the RecyclerView.ViewHolder class
(2:37:23) Why is it really referred to as a RecyclerView? What will get Recycled?
(2:37:58) Writing our RecyclerView.ListAdapter
(2:46:37) Learn how to use a MutableLiveData object to publish occasions from the onClickListener within the ViewHolders
(2:48:09) Overview of the Fragment which manages the RecyclerView, and how you can keep away from reminiscence leaks!
9
(2:53:17) FirebaseAuth for Consumer Authentication utilizing Google Signal In
(2:54:00) Learn how to arrange a brand new Firebase Mission utilizing Android Studio
(2:54:36) Enabling Authentication (FirebaseAuth) within the Firebase Console
(2:55:00) Establishing a debug signing certificates in your App in Firebase
(2:56:48) Gradle Configurations for FirebaseAuth
(2:58:00) Establishing GoogleSignInProvider
(2:59:24) Dealing with the end in onActivityResult
(3:01:06) Again FirebaseAuth Implementation utilizing Coroutines
10
(3:05:31) Native Database with Room Persistence Library and Coroutines
(3:06:17) Entities and Main Keys in Room
(3:08:50) Establishing a Dao (Knowledge Entry Object) in Room
(3:12:28) Overview of RoomDatabase implementation
(3:14:21) Learn how to construct your Database and get a reference to you Dao
(3:14:47) Learn how to get information out and in of the Dao utilizing droop features
11
(3:16:34) Establishing a Native and Distant Database utilizing Firebase’s Firestore NoSQL library
(3:17:33) Speaking with Firestore utilizing a Repository, with Coroutines
12
(3:21:59) Dependency Injection utilizing an AndroidViewModel, and ViewModelProvider.Manufacturing unit
(3:22:29) What’s dependency injection in easy phrases?
(3:23:36) Implementing Dependency Injection utilizing AndroidViewModel
(3:24:13) Fast take a look at utilizing a ViewModelProvider.Manufacturing unit to create our ViewModel with the Injected Repository
(3:24:27) Learn how to use our Dependency Injector from inside a Fragment or Exercise
source