Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

freeCodeCamp

Android Development Course - Build Native Apps with Kotlin Tutorial

via freeCodeCamp

Overview

Dive into native Android app development with Kotlin in this comprehensive tutorial. Master essential concepts including Android Jetpack, Firebase, Room, MVVM architecture, Navigation, LiveData, and Kotlin Coroutines. Explore vector drawables, material design principles, and ConstraintLayout for creating visually appealing user interfaces. Learn to implement modern RecyclerView, handle user authentication with FirebaseAuth, and manage local and remote databases using Room Persistence Library and Firebase Firestore. Gain hands-on experience in dependency injection, coroutines for concurrency, and best practices for building robust Android applications. Access the provided GitHub repository for code examples and follow along with the step-by-step guidance to create a fully functional Android app.

Syllabus

) Introduction.
) Model View ViewModel (MVVM) Architecture fundamentals and variations.
) Is MVVM the perfect architecture?.
) Overview of MVVM with whiteboard example.
) Pros and Cons of MVVM.
) Package structure.
) How to create Vector Drawables.
) Difference between Raster (PNG, JPG, BMP) and Vector (SVG) Images?.
) Uh Oh!.
) How to use Inkscape to create an SVG from a BMP/PNG.
) How to convert an SVG into an Android Studio Vector Asset.
) How to create simple animations using animation lists and fade animations.
) Material Design User Interface using ConstraintLayout and Styles.
) Building an XML Layout using ConstraintLayout.
) Using ConstraintLayout Chains.
) Some tips on using Styles to create a material design look.
) How to use (and when not to use) the Android Navigation Component from Android Jetpack.
) Adding Safe Args to gradle.
) Building a Navigation Graph using the Navigation Editor (XML).
) Creating a NavHostFragment to host the Navigation Component and adding it to an Activity.
) How to actually change destinations in our Fragments using the Navigation Component (with safe args).
) Setting up Fragments as Views in MVVM using Kotlin Synthetic Properties.
) Starting point.
) Importing an XML layout to an Activity/Fragment using Kotlin Synthetic Properties.
) How to reference Views in the Fragment using synthetic properties.
) Adding onClickListener to our views.
) Intercepting OnBackPressed (NOTE: The API for this has changed since making this video. I have updated the Repository appropriately).
) How to observe the ViewModel using LiveData callbacks.
) ViewModels in MVVM with Kotlin Coroutines for Concurrency.
) A look at my BaseViewModel class which contains part of the Coroutines Implementation (Coroutine Scope).
) Starting point.
) Handling events from the View in the ViewModel.
) Using the launch Coroutine Builder to access data.
) How to update the MutableLiveData fields to publish data to the View.
) Modern RecyclerView implementation using LiveData to handle ItemTouchListener() callbacks.
) Overview of the RecyclerView within the XML View with LinearLayoutManager.
) What does the DiffUtil do?.
) A look at the source code of ListAdapter to better understand how it works.
) Writing the RecyclerView.ViewHolder class.
) Why is it actually called a RecyclerView? What gets Recycled?.
) Writing our RecyclerView.ListAdapter.
) How to use a MutableLiveData object to publish events from the onClickListener in the ViewHolders.
) Overview of the Fragment which manages the RecyclerView, and how to avoid memory leaks!.
) FirebaseAuth for User Authentication using Google Sign In.
) How to set up a new Firebase Project using Android Studio.
) Enabling Authentication (FirebaseAuth) in the Firebase Console.
) Setting up a debug signing certificate for your App in Firebase.
) Gradle Configurations for FirebaseAuth.
) Setting up GoogleSignInProvider.
) Handling the result in onActivityResult.
) Back FirebaseAuth Implementation using Coroutines.
) Local Database with Room Persistence Library and Coroutines.
) Entities and Primary Keys in Room.
) Setting up a Dao (Data Access Object) in Room.
) Overview of RoomDatabase implementation.
) How to build your Database and get a reference to you Dao.
) How to get data in and out of the Dao using suspend functions.
) Setting up a Local and Remote Database using Firebase's Firestore NoSQL library.
) Communicating with Firestore using a Repository, with Coroutines.
) Dependency Injection using an AndroidViewModel, and ViewModelProvider.Factory.
) What is dependency injection in simple terms?.
) Implementing Dependency Injection using AndroidViewModel.
) Quick look at using a ViewModelProvider.Factory to create our ViewModel with the Injected Repository.
) How to use our Dependency Injector from within a Fragment or Activity.

Taught by

freeCodeCamp.org

Reviews

Start your review of Android Development Course - Build Native Apps with Kotlin Tutorial

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.