The Complete Android 14 & Kotlin Development Masterclass

The Complete Android 14 & Kotlin Development Masterclass

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 501 lectures (66h 21m) | 39.11 GB

Learn Android 14 App Development From Beginner to Advanced Developer. Build Apps like Trello, 7Min Workout, Weather App

Unlock Your Dream Career with Our Comprehensive Android Masterclass!

Dreaming of a lucrative career in Android development? Or perhaps you have a killer app idea but don’t know how to bring it to life? Look no further! Whether you’re a complete beginner or a programmer looking to diversify your skill set, our course is designed just for you.

All-Encompassing Curriculum: From Kotlin to Firebase, you’ll gain mastery over all critical aspects of Android development.

Hands-On Experience: Our course is jam-packed with exercises, example applications, and demos to solidify your learning.

Become Proficient in:

  • Kotlin and Object-Oriented Programming
  • Control flows and Data Structures
  • Networking & Asynchronous API Calls
  • Third-Party Libraries: GSON, Google Places, RETROFIT, and more
  • Device Features: Camera, Gallery, SQLite, GPS
  • Best Practices in Kotlin and Android Development
  • What Will You Build?

In Android 14:

  • A Unit Converter
  • A Shopping List APP
  • A GeoLocation Application
  • A Music Application
  • And still more to come!

In Android 12:

  • A Trello Clone
  • A Quiz App
  • A 7-Minute Workout App
  • A Weather App
  • A Drawing App
  • And many more!

What you’ll learn

  • You can build any Android app you can think of. No matter if it is an idea that you or your friends have, or if it is a contract job that you need to develop.
  • You will build Apps for your portfolio to apply for jr. Android developer Jobs.
  • You Will Be Proficient in XML
  • You Will Be Proficient using Jetpack Compose
  • You’ll be able to work as an Android freelancer and work from anywere in the world.
  • Publish your apps on Google Play and generate revenue with Google Pay and Google Ads
  • You’ll be able to develop cloud apps using Google Firebase
  • You will be very confident using Kotlin and programming in general
Table of Contents

Day 1 – Setting Everything Up
What you will learn in this course and how is it structured
Thanks a lot for taking the course
How to get most out of this course
Day 1 – Downloading Android Studio
Day 1 Installing Android Studio
Install Android Studio on Linux
Day 1 – Setting up our First Project
Day 1 – Overview of the Android Studio Interface
Day 1 – Understanding Gradle
Day 1 – Changing the Scaling in Android Studio
Day 1 – Setting up our Emulator
Day 1 – Tip of the Day
Day 1 – Changing our code for the first time
Day 1 – Understanding Preview
Day 1 – Imports and Packages
Day 1 – Understanding the MainActivity OnCreate and Composable
Let’s test your initial understanding and see if you are ready for the next day!
Day 1 – Finishing Day 1
New Feature Learning Paths

Day 2 – Rock Paper Scissors and Kotlin Basics
Day 2 – Welcome to Day 2
Day 2 – Overview of what Rock Paper Scissors is build of
Day 2 – Overview of what variables are
Day 2 – Int data type
Day 2 – Running Hello World
Day 2 – Val vs Var and print ints on the console
Coding Exercise – Understanding Variable Types and Printing in Kotlin
Day 2 – Int, Long, Short, Byte and specifying the type manually
Day 2 – Float and Double
Coding Exercise – Demonstrate the use of floating point data types in Kotlin
Day 2 – Unsigned Integers
Day 2 – Booleans true false negation
Coding Exercise – Understanding Booleans in Kotlin
Day 2 – Char, Unicode and Backslash escape character
Day 2 – Strings
Day 2 – If Else Statements
Day 2 – Readln and toInt to convert strings into int variables
Day 2 – Else if and the in keyword
Coding Exercise – Exploring if-else if-else in Kotlin
Day 2 – Rock Paper Scissors Part 1 – Getting The Computers choice
Day 2 – Rock Paper Scissors Part 2 – Finding out the winner
Day 2 – Rock Paper Scissors Part 3 – Presenting the Winner
Day 2 – While loops with counters
Day 2 – While loops with user input
Coding Exercise -String to Integer Conversion and Basic Input Handling in Kotlin
Coding Exercise – Validate Player Input in Rock-Paper-Scissors Game
Day 2 – Finishing Day 2
Summary of Day 2

Day 3 – Functions, Objects and Coffee Machines
Day 3 – Welcome to Day 3
Day 3 – Amy and her Coffee Function
Day 3 – Adding Sugar – Functions with Parameters
Sugar Spoon Grammar
Day 3 – Quiz Challenge Solution – 1 Spoon 2 Spoons
Coding Exercise – Enhancing the Coffee Machine in Kotlin
Day 3 – Quiz Challenge Solution – Who is the coffee for
Day 3 – BONUS Quiz Challenge Solution – Who is the coffee for with user input
Day 3 – Functions that return something
Coding Exercise – User Input Arithmetic in Kotlin
Day 3 – Quiz Challenge Solution – Get User Input to Add two numbers
Day 3 – More about Return types
Day 3 – Limitations of Output – Return Types
Day 3 – Classes Story Time
Day 3 – Creating our First Class and Object
Day 3 – Understanding Constructors and Default Values
Coding Exercise -Implementing a Kotlin Class with Constructors and Default Value
Day 3 – Accessing and Changing Properties
Day 3 – Data Classes and Coffee
Day 3 – Finishing Day 3
Summary of Day 3

Day 4 – Lists and Objects
Day 4 – Welcome to Day 4
Day 4 – Multiline Comments
Day 4 – Listof and MutableListOf
Day 4 – Index in Lists
Day 4 – Modifying specific items in a List
Day 4 – Set Method on Lists
Day 4 – Contains Method – Check if item is in the list
Coding Exercise – List Manipulation Practice in Kotlin
Day 4 – For Loops with Lists
Day 4 – Getting the Index in a for loop
Coding Exercise – Looping Through Lists in Kotlin
Day 4 – BankAccountApp – Private Keyword and Defining List Type
Day 4 – BankAccountApp – Implementing the functionality
Coding Exercise – Enhancing the BankAccount Class in Kotlin
Day 4 – Finishing Day 4
Summary of Day 4

Day 5 – Our First App – Unit Converter
Day 5 – Welcome to Day 5
Day 5 – XML and Jetpack Compose
Day 5 – Creating a Project and Understanding the Code with our New Knowledge
Day 5 – Creating our own Composables and Understanding Column
Day 5 – OutlinedTextField and Anonymous Functions
Day 5 – Adding a Preview
Coding Exercise – Implementing and Previewing Composables in Jetpack Compose
Day 5 – Button, onClick and Toast
Day 5 – Box, Icons and DropDownMenus
Day 5 – Modifier, VerticalArrangement and HorizontalAlignment
Day 5 – Spacer vs Padding
Coding Exercise – Exploring Spacing Padding vs Spacer in Jetpack Compose
Day 5 – Adding DropdownMenus and DropDownMenuItems
Day 5 – Finishing Day 5
Summary of Day 5

Day 6 – Unit Converter Part 2 and Understanding State
Welcome to Day 6
Day 6 – State – Recomposition – Remember and MutableState
Day 6 – Captains Remember States and Treasures
Coding Exercise Enhancing the Captain Game with Additional Features
Day 6 – Challenge Solution – Storm or Treasure
Day 6 – Understanding the by keyword
Day 6 – Implementing State to our OutlinedTextField
Day 6 – Implementing iExpanded for DropdownMenu and collapse it
Day 6 – Converting and Finishing the DropDownMenu Input
Day 6 – Taking Care of the right output and Bug fixing
Day 6 – Changing the Font of our Text
End of Day 6
Summary of Day 6
DOWNLOAD SOURCE – UNIT CONVERTER

Day 7 – Shopping List App – Learning Loads of UI Features
Welcome to Day 7
Day 7 – The Shopping List App
Day 7 – Starting with the Shopping List UI by adding a button
Day 7 – Lucy’s Infinite Bookshelf and Jamies LazyColumn
Day 7 – Adding the LazyColumn and the Data Class
Day 7 – Moving our ShoppingListApp Code into a separate file
Day 7 – Understanding and setting up the AlertDialog
Day 7 – Modifying our AlertDialog and Understanding that there
Day 7 – Finishing our AlertDialog and saving the Shoppinglist item
Day 7 – Setting up how a listitem should look like
Day 7 – A little more on Lambda expressions
Day 7 – Finishing our ShoppingListItem Composable using IconButtons
Day 7 – ShoppingItemEditor
Day 7 – Map Keyword
Day 7 – Copy Method
Day 7 – let and nullable
Day 7 – Finalizing the App
Understanding the Shopping List App Composable Structure
Day 7 – Finishing Day 7
Summary of Day 7
DOWNLOAD SOURCE – SHOPPING LIST APP

Day 8 – MVVM – Model View ViewModel – Architecture – Counter App Part 2
Welcome to Day 8
Day 8 – Kingdom of Appdom and The Royal Orchestra MVVM
Coding Exercise – Implement a Counter App using ViewModel in Kotlin
Day 8 – Counter App – Rotating Phone and Losing State
Day 8 – Converting Counter App with MVVM
Day 8 – Functions that didn’t exist and could be called
Day 8 – Inheritance 2 – Override and Super Keywords
Day 8 – Interfaces – learning from multiple sources
Day 8 – Why Interfaces
Day 8 – Setting up the Model and the Repository for MVVM
Day 8 – Why MVVM and Why Repository
Day 8 – Finishing Day 8
Summary of Day 8

Day 9 – JSON, Retrofit, HTTP Requests and Restful APIs – Recipe App
Welcome to Day 9
Day 9 – The Scroll of DataVille – JSON Analogy
Day 9 – JSON – what it really stands for
Day 9 – Understanding the Structure of JSON
Understanding JSON and Data Classes in Kotlin
Day 9 – TheMealDB and how we will use it
Day 9 – Adding Dependencies for ViewModel, Network Calls JSON
Day 9 – Setting up our Categories Data Classes
Day 9-Using Retrofit, the Suspend Key and Coroutines to get Access to Categories
Day 9 – Try And Catch And Finally
Day 9 – Setting up Our MainViewModel and Fetching Data
Day 9 – Preparing our RecipeScreen
Day 9 – How each Category Item should look like
Day 9 – Adding Internet Permission and Running the App
Day 9 – Going through the whole flow of our application
Day 9 – Finishing Day 9
Summary of Day 9
DOWNLOAD SOURCE – MY RECIPE APP

Day 10 – Navigation in Android
Welcome to Day 10
Day 10 – Setting up First Screen for Navigation
Day 10 – Setting up The Second Screen for Navigation
Day 10 – NavHost NavController and Navigating
Coding Exercise – Add a 3rd Screen to navigate to and do so
Day 10 – Passing Variables from One Screen To Another
Coding Exercise – Pass Age as well
Day 10 – Setting up the CategoryDetailScreen for our Recipe App
Day 10 – Preparing our UI for Navigation
Day 10 – Setting up the Routes with a Sealed Class
Day 10 – Implementing the Navigation and Passing Objects
Day 10 – Serialization and Deserialization with Parcelable
Day 10 – Finishing Day 10
Summary of Day 10

Day 11 – Location App
Welcome to Day 11
Day 11 – Adding Permissions for Coarse and Fine Location in the AndroidManifest
Day 11 – Checking if we have access to the location permissions
Day 11 – Story about Context
Day 11 – RememberLauncherForActivityResult – Starting the Permission request
User Interface & Location Permissions
Day 11 – Requesting for Permission and Seeing the Popup
Day 11 – Seeing Permissions under the hood in the Android Settings
Day 11 – Preparing the ViewModel for Location Loading
Day 11 – Reading the Latitude and Longitude and displaying it
Day 11 – Setting up a Route and Understanding Location on our Emulator
Day 11 – Displaying the Address based on Latitude and Longitude
Unraveling Geo-decoding From Coordinates to Addresses
Day 11 – Finishing Day 11
Summary of Day 11

Day 12 – Adding Maps and Location to our Shopping App
Welcome to Day 12
Day 12 – Adding the required Dependencies to our Shopping List App
Day 12 – Setting up the API Key for Google Maps
Day 12 – Adding Geocoding API and testing our API Key
Day 12 – Restricting your API Key
Day 12 – Mapping the API Response to Data Classes
Day 12 – Prepping our LocationSelectionScreen
Day 12 – Adding GoogleMaps to LocationSelectionScreen
Day 12 – Adding the LocationViewModel
Day 12 – Reusing our LocationUtils from the previous lectures
Day 12 – Changing our ShoppingItems
Day 12 – Adding the permission request
Day 12 – Adding the GeocodingApiService
Day 12 – Finalizing Retrofit elements
Day 12 – Putting everything together and testing the app
Navigating Android Composables and Location Services
Day 12 – Finishing Day 12
Summary of Day 12
DOWNLOAD SOURCE – SHOPPING LIST APP FINAL

Day 13 – Wishlist App
Welcome to Day 13
Day 13 – Setting up the Dependencies
Day 13 – HomeView and Scaffold
Day 13 – Understanding HEX and Colors in Depth
Day 13 – Adding A NavigationIcon to our AppBar
Day 13 – Only Show the BackIcon when not on the MainScreen
Day 13 – FloatingActionButton (FAB)
Day 13 – Adding our Wish and WishItem
Day 13 – Displaying Dummy Data
Day 13 – Preparing the Navigation
Day 13 – Starting with the AddEditDetailView
Day 13 – Designing our own OutlinedTextField
Day 13 – ViewModel and AddDetailView
Day 13 – Finalizing Navigation to Move to the Add Screen
Day 13 – Adding the NavigateUp Functionality to our BackIcon
Android 14 Navigation Implementing Back Button Functionality
Day 13 – Finishing Day 13
Summary of Day 13
DOWNLOAD SOURCE – WISH LIST APP

Day 14 – Room Database, DAO, @Entity – Wishlist App
Welcome to Day 14
Day 14 – Quick Overview Of Storage Options – Reading the book
Day 14 – Setting up the @Entity for our Data Class Wish
Day 14 – Setting Up the DAO and Understanding Queries
Day 14 – The Room WishDatabase Class
Day 14 – Understanding and Using a Repository
Day 14 – Prepping our ViewModel understanding Dispatchers and lateinit Var
Day 14 – Initializing our Database
Day 14 – Dependency Injection
Day 14 – Understanding Singleton and our Graph Object
Day 14 – Adding the Application Class and Using our Graph
Day 14 – Using the Graphs Repository as a Default in Our WishViewModel
Day 14 – Adding a Wish And using Snackbars
Day 14 – Reading all entry from the db and displaying them
Day 14 – Click on a Wish and see it on the detail View
Day 14 – Update An Existing Item
Day 14 – Swipe to Delete
Day 14 – Swipe to Delete Background
End of Day 14
Summary of Day 14
DOWNLOAD SOURCE – WISH LIST APP FINAL

Day 15 – Navigation and Menus with a Music App
Welcome to Day 15
Day 15 – Setting up the TopAppBar
Day 15 – Adding Resource Icons and Prepping our DrawerItem for the Drawer
Day 15 – Making the drawer appear
Day 15 -Making the DrawerItemsClickable -Setting up our Navigation and ViewModel
Day 15 – Add Account Dialog
Day 15 – AccountView
Day 15 – Subscription View
Day 15 – Finishing Day 15
Summary of Day 15
DOWNLOAD SOURCE -MUSIC APP PART 1

Day 16 – Navigation and Menus with a Music App Part 2
Welcome to Day 16
Day 16 – Setting up the BottomBar
Day 16 – Adding the Navigation Routes
Day 16 – Setting up the Home Screen – StickyText
Coding Exercise – Create a Browse Screen Using Lazy Vertical Grid in Compose
Day 16 – Challenge Solution – Browse Screen
Day 16 – Setting up the Library Screen
Day 16 – Fixing the Bottom Bar Selected Color
Day 16 – ModalBottomSheetLayout Setup
Day 16 – Adding Actions to our Scaffold
Day 16 – Taking care of updating the Title
Day 16 – Finishing Day 16
Summary of Day 16
DOWNLOAD SOURCE -MUSIC APP PART 2

Day 17 – GET STARTED EARLY with the Firebase Chatbot APP!
Day 17 – Building a chat room app EARLY ACCESS-
Day 17- Create a Firebase Project
Day 17 – Adding an Android Project
Day 17 – Firebase Email Authentication
Day 17 – Finalizing Email Authentication

Day 18 – Building a chat room app EARLY ACCESS- Part 2
Day 18 – Chatroom Lists
Day 18 – Adding functionality to our app
Day 18 – Chatrooms
Day 18 – Setting up our Chatrooms
DOWNLOAD SOURCE COMPLETE CHATROOM APP

Introduction
Udemy Reviews Update
BONUS additional resources

Getting ready with Android Studio
Our first project – the UI and how to change the size of the text
Setting up the Emulator
Hello World
People Counter App
Testing The App On Your Phone

Kotlin Fundamentals
If Statements
Note – If Statemens as Expressions

More Fundamentals of Kotlin
Introduction to the chapter
Overview Collections
Arrays
Lists
Sets and Maps
ArrayLists
Exercise ArrayLists
Solution For Exercise ArrayLists
Lambda Expressions
Visibility Modifiers – public – private- internal – protected and the keyword op
Nested and Inner Classes
Safe Cast and Unsafe Cast Operator
Exception Handling With Try And Catch
Summary Of This Chapter
Useful Links Additional Info

Age in Minutes Calculator – Android 12 – XML
Intro Age in Minutes Calculator – Android 12
Setting up the UI for the age calculator
Adding more TextViews and Understanding SP, DP and Pixels
Finalizing the UI of our Age Calculator App
Adding a DatePickerDialog and OnDateSetListener
Using the selected Date to display it and looking into simpledateformat and date
Finalizing The Age In Minutes App
Summary Age In Minutes App

Calculator App – Learning XML and how to create a UI – Android 12
Intro Calculator App
What you will build in this chapter
Building The Calculator UI using Linear Layouts part 1
Building The Calculator UI using Linear Layouts part 2
Using OnClick and Implementing the CLR Functionality
Adding the onDecimalPoint Function
Adding the OnOperator Functionality using Contains and StartsWith on Strings
Adding Subtraction – Using split and substring methods on Strings
Adding the Missing Operations and Finalizing the App
Summary Of The Calculator Chapter

Quiz App Android 12
Intro Quiz App
Preparing The Projects Style and Manifest
Setting up the ui and using cardview and disable the statusbar
Creating the question Model And Preparing the questions
Setting Up The QUestion UI ANd Connecting the UI to the model part 1
Setting up The questions UI and Connecting the UI to the Model Part 2
Adding The button Functionality to the questions activity
Selecting the Right and Wrong Answer and Displaying the next question
Preparing the UI for the Result activity
Final Touches And Sending Data Via Intent – putExtra
Summary Quiz App

Drawing App – How to use Canvas, import Images and Export them – Android 12
Introduction – Kids Drawing App
What You Will Build In This Chapter
Setting Up The Kids Drawing App – Drawing View Part 1
Setting Up The Kids Drawing App – Drawing View Part 2
Let The Lines Persist On The View
Adding A Little Border Around The Canvas
Preparing the BrushSizeSelector and How To Use DisplayMetrics
Selecting the Brush Size From A Custom Dialog That we Created
Adding the color pallet using custom drawables that we created
Adding the Color selection
Adding the Background Image
Adding The Gallery ImageButton To The UI
Permissions Demo
Snackbar – AlertDialog – CustomDialogs Demo Part 1
CustomDialogs Demo Part 2
Custom Progress Bar Dialogs
Adding Permission requests to our KidsDrawing App
Selecting An Image from the gallery using it as a background
Adding an undo button and functionality
Do something in the Background using Coroutines
Adding a provider – path and a image sandwitch maker to our app
Saving an Image on The Phone using Coroutines and OutPutStreams
Displaying The Custom Progress Dialog and Hiding it When done
Adding a Share Feature To Share The Image Via-Email – Whatsapp etc

Minute Workout App Android 12 Version
Intro to 7 Minute Workout App
Setting up the UI
Using Viewbinding and getting rid of our actionbar
Adding The Exercise Screen – Intents and Customizing our Toolbar
Implementing Custom UI Elements For A PRogressbar To Tick Counterclock wise
DEMO – Timers
Using CountDownTimers To Display The Seconds remaining
Adding the Exercise Timer
Adding the Model, Our Constants For The Exercises and Testing It Part 1
Adding the Model, Our Constants For The Exercises and Testing It Part 2
Adding the Upcoming Exercise Text To the restview
TextToSpeech Demo
Challenge TextToSpeech
Adding Text to speech to our application
Adding a Media Player to play a sounds once an exercise is over
Intro to RecyclerViews
Viewbinding with Recyclerviews
Preparing The RecyclerView For The Bottom To Display Exercise Numbers
Creating our own custom recyclerviewadapter and viewholder
Displaying the Recyclerview with the Exercise Numbers
Displaying at witch exercise we currently are
Creating the finish activity
Setting up the CustomDialog for the Backbutton
Preparing the BMI Screen
BMI Screen for the Metric system
Adding Custom RadioGroups with Custom RadioButtons
Adding the US View Elements
FInalizing the BMI Calcutator with the us system
Adding the History UI and Activity
Looking at Lambdas once again
Room Database Demo Part 1 – Introduction to Room Database
Room Database Demo Part 2 – Setting up the Data Class – Room Entity
Room Database Demo Part 3 – The Dao Interface and the Database Class
Room Database Demo Part 4 – CREATE and store data
Room Database Demo Part 5 – Preparing the ItemAdapter with Listeners
Room Database Demo Part 6 – Displaying the Database entries
Room Database Demo Part 7 – Updating and Deleting database entries
Adding the Room Database to Our Workout App – Inserting Workouts
Fetching Data from our Database and displaying it in the log
Displaying the Workout History on our Recyclerview
Summary – 7 Minutes Workout App

Happy Places App – Location, GPS, Google Maps API – Android 10
Introduction to the chapter
Concept of the App
Setting Up The Happy Places App
Adding The Add HappyPlaceActivity and using dimens, string, color
Adding Calendar Picker And Populate Our Date Edit Text
Using Third Party Libraries
Using The Third Party Library DEXTER For Permission Handling
DEMO – Taking Images With The Camera App and Using It In Our App
Adding The Gallery Picking Functionality
Adding Camera Picking Functionality
Storing The Images On The Device
Preparing The Database Handler And Creating Our Happy Place Model
Saving A Happy Place Via SQLite
Reading The Data From Our Local DB
Preparing The RecyclerView
Using A Third Party Library For Nice Rounded Images
Adding ActivityForResult In Order To Update The List Dynamically
Adding An OnClickListener To RecyclerView Element – Best Practice
Passing Whole Objects from One Activity To Another – Serializable vs Parcalable
Adding Swipe To Edit Functionality using ItemTouchHelper
Fixing The Updating Duplication Bug
Adding Swipe To Delete Functionality
Using The Google Places API
Adding a Map Intent
Displaying A Marker On The Map And Zooming In With An Animation
Adding The Select Current Location Button And Permissions
Getting The Users Location
Getting The Address From The Latitude And Longitude
Steps to integrate AdMob in your Android App in Kotlin
Summary – Happy Places

Weather App – Downloading Website, JSON, GSON, Using APIs – Android 10
Introduction – Weather App
JSON And Tools – Introduction
DEMO – Downloading A Website And Its Text in Android
How Read And Use JSON Objects
Sending Post Requests
Using The GSON Library to Make Working With JSON Easier
Introduction To OpenWeatherMap And General Overview
Preparing The Project And Checking If Location Provider Is Turned On
Preparing Permissionrequests Using Dexter
Preparing the Internet Connection For RETROFIT And The API Calls
Preparing The Models Based On The API
Creating The API Call with Retrofit and Getting A Response
Creating A Custom Dialog And Testing Different Internet Speeds
Adding The UI And Setting It Up
Adding The Sunrise And Sunset Time
Changing The UI Depending On The Weather Data From The API
Adding A Refresh Button In The Menu
Storing The Data Via SharedPreferences And Preloading It
Summary – Weather App

Trello Clone – Firebase – User Management – Drag And Drop – Online Database AN10
Introduction to the chapter
Concept of the App
Setting Up The Splashscreen, Using Custom Fonts And How To Find Them
Setting Up The Intro Screen And Moving To It After 2 Second
Designing The SignUp Activity
Challenge – Seting Up The SignIn Activity
Setting Up The BaseActivity For Reuse Functions
Preparing The Signup Feature in Firebase And In The App
Registering The User Via Email in Firebase
Signing In The User
Using The FireStore Database to Store The User Details Part 1
Using The FireStore Database to Store The User Details Part 2
Signing In And Getting The User Data
Auto Login
Preparing The XML For The Drawer And Navigation Part 1
Preparing The XML For The Drawer And Navigation Part 2
Adding The Drawer Functionality In Code
Loading The Image And Username To Display It In The Drawer
Preparing The Profile Screen
Populating The Profile Activity With User Data
Image Chooser For The Profile Image
Uploading An Image To Storage
Updating the User Data Via HashMap In The FireStore Database
Updating The MainActivit Profile Details via ActivityForResult
The Create Board Activity
Select A Board Image
Creating A Board Image
Creating A Board
Creating The Board In The Firestore Database
Preparing The Boards Recyclerview Adapter And UI Elements
Loading The Boards Into The Recyclerview
Updating The BoardsList After Creating A New Board
The TasklistActivity
Loading The Board in The TaskListActivity
Preparing The Tasklist Adapter
Creating Lists Inside A Board
Creating A List Inside A Board Part 2
Editing And Deleting Lists
Adding The Cards To Lists
Displaying The Cards
Preparing The MembersActivity
Creating The Member Item And The Toolbar
Fetching And Displaying The Members Of A Board
Adding New Members – UI
Adding A New Member To A Board – Logic
Reloading The Board Details On Change
Adding A Detail Screen For Cards
Loading Card Details To Set The Title Of The Card
Adding The Delete Card Menu Icon ANd Populating The EditText Of The Card
Deleting Cards
Preparing The Cards Color Dialog And Adapter
Selecting The Color And Updating The Card
Adding Colors To Our Cards
Passing The Memberslist To The Card
Preparing And Displaying The Card Members Dialog
Prepare The Add Members Feature
Finish The Add Members Feature
Displaying The Assigned Users Per Card On The List Level
Adding A Due Date To The App
Adding The Drag And Drop Feature
Preparing The Notification Feature
Adding The Token To The DB
Adding The Notifications Part 1
Final Steps For The Notification Feature
Outro

Where To Go Now
How To Learn More
Options To Make Money
How to Publish Your App
Thanks a lot for taking the course
How to Build Games for Android

Thank you for completing the course!
YOUR SPECIAL BONUS

Homepage