Completed
) Introduction
Class Central Classrooms beta
YouTube videos curated by Class Central.
Classroom Contents
Android Development Course - Build Native Apps with Kotlin Tutorial
Automatically move to the next video in the Classroom when playback concludes
- 1 ) Introduction
- 2 ) Model View ViewModel (MVVM) Architecture fundamentals and variations
- 3 ) Is MVVM the perfect architecture?
- 4 ) Overview of MVVM with whiteboard example
- 5 ) Pros and Cons of MVVM
- 6 ) Package structure
- 7 ) How to create Vector Drawables
- 8 ) Difference between Raster (PNG, JPG, BMP) and Vector (SVG) Images?
- 9 ) Uh Oh!
- 10 ) How to use Inkscape to create an SVG from a BMP/PNG
- 11 ) How to convert an SVG into an Android Studio Vector Asset
- 12 ) How to create simple animations using animation lists and fade animations
- 13 ) Material Design User Interface using ConstraintLayout and Styles
- 14 ) Building an XML Layout using ConstraintLayout
- 15 ) Using ConstraintLayout Chains
- 16 ) Some tips on using Styles to create a material design look
- 17 ) How to use (and when not to use) the Android Navigation Component from Android Jetpack
- 18 ) Adding Safe Args to gradle
- 19 ) Building a Navigation Graph using the Navigation Editor (XML)
- 20 ) Creating a NavHostFragment to host the Navigation Component and adding it to an Activity
- 21 ) How to actually change destinations in our Fragments using the Navigation Component (with safe args)
- 22 ) Setting up Fragments as Views in MVVM using Kotlin Synthetic Properties
- 23 ) Starting point
- 24 ) Importing an XML layout to an Activity/Fragment using Kotlin Synthetic Properties
- 25 ) How to reference Views in the Fragment using synthetic properties
- 26 ) Adding onClickListener to our views
- 27 ) Intercepting OnBackPressed (NOTE: The API for this has changed since making this video. I have updated the Repository appropriately)
- 28 ) How to observe the ViewModel using LiveData callbacks
- 29 ) ViewModels in MVVM with Kotlin Coroutines for Concurrency
- 30 ) A look at my BaseViewModel class which contains part of the Coroutines Implementation (Coroutine Scope)
- 31 ) Starting point
- 32 ) Handling events from the View in the ViewModel
- 33 ) Using the launch Coroutine Builder to access data
- 34 ) How to update the MutableLiveData fields to publish data to the View
- 35 ) Modern RecyclerView implementation using LiveData to handle ItemTouchListener() callbacks
- 36 ) Overview of the RecyclerView within the XML View with LinearLayoutManager
- 37 ) What does the DiffUtil do?
- 38 ) A look at the source code of ListAdapter to better understand how it works
- 39 ) Writing the RecyclerView.ViewHolder class
- 40 ) Why is it actually called a RecyclerView? What gets Recycled?
- 41 ) Writing our RecyclerView.ListAdapter
- 42 ) How to use a MutableLiveData object to publish events from the onClickListener in the ViewHolders
- 43 ) Overview of the Fragment which manages the RecyclerView, and how to avoid memory leaks!
- 44 ) FirebaseAuth for User Authentication using Google Sign In
- 45 ) How to set up a new Firebase Project using Android Studio
- 46 ) Enabling Authentication (FirebaseAuth) in the Firebase Console
- 47 ) Setting up a debug signing certificate for your App in Firebase
- 48 ) Gradle Configurations for FirebaseAuth
- 49 ) Setting up GoogleSignInProvider
- 50 ) Handling the result in onActivityResult
- 51 ) Back FirebaseAuth Implementation using Coroutines
- 52 ) Local Database with Room Persistence Library and Coroutines
- 53 ) Entities and Primary Keys in Room
- 54 ) Setting up a Dao (Data Access Object) in Room
- 55 ) Overview of RoomDatabase implementation
- 56 ) How to build your Database and get a reference to you Dao
- 57 ) How to get data in and out of the Dao using suspend functions
- 58 ) Setting up a Local and Remote Database using Firebase's Firestore NoSQL library
- 59 ) Communicating with Firestore using a Repository, with Coroutines
- 60 ) Dependency Injection using an AndroidViewModel, and ViewModelProvider.Factory
- 61 ) What is dependency injection in simple terms?
- 62 ) Implementing Dependency Injection using AndroidViewModel
- 63 ) Quick look at using a ViewModelProvider.Factory to create our ViewModel with the Injected Repository
- 64 ) How to use our Dependency Injector from within a Fragment or Activity