Android Development Course - Build Native Apps with Kotlin Tutorial

Android Development Course - Build Native Apps with Kotlin Tutorial

freeCodeCamp.org via freeCodeCamp Direct link

) Introduction

1 of 64

1 of 64

) Introduction

Class Central Classrooms beta

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

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.