Autoplay
Autocomplete
Previous Lesson
Complete and Continue
The Complete Android 12 & Kotlin Development Masterclass
Section 1 : Introduction
What you will learn in this course and how is it structured (17:08)
Thanks a lot for taking the course (0:57)
How to get most out of this course (4:23)
New Feature: Learning Paths
Udemy Reviews Update
BONUS: additional resources
Section 2: Getting ready with Android Studio
Introduction to the chapter (0:58)
Install Android Studio on Windows (3:22)
Install Android Studio on Mac (3:30)
Install Android Studio on Linux
Our first project - the ui and how to change the size of the text (9:27)
Setting up the Emulator (9:04)
Hello World (8:32)
People Counter App (15:48)
Testing The App On Your Phone (5:49)
Outro - Setup (0:52)
Get the most from Tutorials.EU
Section 3: Kotlin Fundamentals
Introduction to the chapter (1:28)
Variables and difference between val and var (7:47)
Datatypes of numbers (8:49)
Datatypes bool, char and string (6:48)
Code for Variables and Datatypes
Exercise Variables And Datatypes
Solution For The Exercise Variables And Datatypes
String Interpolation - String Templates (3:23)
Quiz 1: Quiz Variables And Datatypes
Arithmetic Operators and why the type is important (8:43)
Comparison Operators (8:35)
Assignment, increment and decrement operators (6:35)
Code: Operators
If Statements (11:37)
If Statements Part 2 (3:53)
Note - If Statemens as Expressions
When Expressions - Including Exercises (12:32)
Quiz 2: If Statements and When Expressions
Code Of If Statements And When Expressions
Note - When Statements as Expressions
While Loop (7:34)
Do While Loop (3:26)
More On While Loops (3:42)
For Loops (5:14)
Code: Loops
Exercise Loops
Solution For Exercise: Loops
Quiz 3: Loops
Break and Continue (4:32)
Functions - Parameters - Arguments and Return - Exercise Included (13:18)
Code: Functions
Nullables In Kotlin (10:01)
Nullables - Elvis Operator - Not Null Assertion (5:27)
Code: Nullables
Quiz 4: Fundamentals Kotlin
Summary - Kotlin Fundamentals I (1:29)
Section 4: Object Oriented Programming Basics In Kotlin
Introduction to the chapter (1:23)
Introduction to OOP (6:04)
Classes and Objects (4:52)
Classes and Initializers (7:09)
Exercise Classes and Objects
Solution for Exercise Classes and Objects
Scope and Shadowing (5:14)
Member Variables - Functions And Constructors (13:07)
Lateinit Plus Setters And Getters (10:20)
Code- Classes
Data Classes (8:53)
Challenge Classes
Solution: Challenge Classes
Inheritance (15:16)
Interfaces (11:14)
Abstract Classes (6:01)
Typecasting (7:50)
Summary Of Classes And OOP (1:23)
Quiz 5: Object Oriented Programming
Section 5: More Fundamentals of Kotlin
Introduction to the chapter (1:32)
Overview Collections (2:19)
Arrays (16:17)
Lists (9:19)
Sets and Maps (10:32)
ArrayLists (5:48)
Exercise ArrayLists
Solution For Exercise: ArrayLists
Lambda Expressions (4:36)
Visibility Modifiers - public - private- internal - protected and the keyword op (10:54)
Nested and Inner Classes (4:46)
Safe Cast and Unsafe Cast Operator (5:05)
Exception Handling With Try And Catch (15:35)
Quiz 6: On More Fundamentals Of Kotlin
Summary Of This Chapter (1:32)
Useful Links Additional Info
Section 6: Age In Minutes App
READ THIS please
Introduction to the chapter (1:31)
Setting up the UI for the age calculator and how we can adjust the looks of our (14:43)
Adding more TextViews and understanding the difference of SP, DP and Pixels (14:44)
Finalizing the UI of our Age Calculator App (5:05)
Adding a DatePickerDialog and OnDateSetListener (13:22)
Using the selected Date to display it and looking into SimpleDateFormat and Date (11:17)
Finalizing The Age in Minutes App (10:13)
Challenge - Age in Days
Summary - Age in Minutes App (1:16)
Quiz 7: Age In Minutes App
Section 7: Calculator App - Learning XML and how to create a UI
Important note
Introduction to the chapter (1:06)
What You Will Build In This Chapter (5:03)
Building the Calculator UI using LinearLayouts and layout_weight and onClick (14:36)
Using onClick And Implementing The CLR Functionality (3:52)
Adding The onDecimalPoint Function (5:08)
Adding The onOperatorFunctionality Using Contains And startsWith On Strings (8:05)
Adding Subtraction - Using Split And Substring Methods On Strings (12:59)
Adding The Missing Operations And Finalizing The App (10:16)
Summary Of The Calculator Chapter (1:06)
Section 8: Quiz App
Important note
Introduction - Quiz App (3:02)
Preparing The Projects Style And Manifest (7:33)
Setting Up The UI Using Cardview And Disable The Statusbar (16:40)
Creating The Question Model And Preparing The Questions (15:57)
Setting Up The Question UI And Connecting The UI To The Model Part 1 (9:46)
Setting Up The Question UI And Connecting The UI To The Model Part 2 (12:56)
Adding The Button Functionality To The Questions Activity (20:36)
Selecting The Right And Wrong Answers And Displaying The Next Question (16:30)
DEMO - StartActivityForResult (19:23)
Preparing The UI For The Result Activity (6:42)
Final Touches And Sending Data Via Intent - putExtra (15:09)
Generate a Signed APK in Android Studio and upload it on Google Play Store
Summary - Quiz App (1:37)
Section 9: Drawing App - How to use Canvas, import Images and Export them - Android 10
Important note
Introduction - Kids Drawing App (3:00)
What You Will Build In This Chapter (1:34)
Setting Up The Kids Drawing App - Drawing View Part 1 (19:15)
Setting Up The Kids Drawing App - Drawing View Part 2 (19:17)
Let The Lines Persist On The View (3:52)
Adding A Little Border Around The Canvas (3:10)
Preparing The BrushSizeSelector And How To Use DisplayMetrics (5:32)
Selecting The Brush Size From A Custom Dialog That We Created (21:03)
Adding The Color Pallet Using Custom Drawables That We Created (19:01)
Adding The Color Selection (14:34)
Adding The Background Image (9:33)
Adding The Gallery ImageButton To The UI (5:27)
Side Note
Permissions Demo (23:46)
Snackbar - AlertDialog - CustomDialogs Demo Part 1 (8:23)
CustomDialogs Demo Part 2 (5:48)
Custom Progress Bar Dialogs (6:08)
Adding Permissionrequest To Our KidsDrawing App (15:24)
Selecting An Image From The Gallery Using It As A Background (10:16)
Adding An Undo Button And Functionality (5:31)
AsyncTask Demo - Do Something In The Background (8:36)
Adding A Provider - Path And An Image Sandwitch Maker (13:49)
Saving An Image On The Phone Using AsingTask and OutputStream (16:28)
Displaying The Custom Progress Dialog And onPreExecute (4:57)
Adding A Share Feature To Share The Image Via E-Mail - Whatsapp etc. (8:19)
Introduction to the chapter (2:20)
Section 10: 7 Minute Workout App - UI - Timers - Multiple Activities - Making Money with Apps
Important Note
Structure of the App (1:52)
Setting up the UI (20:37)
How To Get Rid Of The Actionbar (1:27)
Adding The Exercise Screen - Intents And Customizing Our Toolbar (12:50)
Implementing Custom UI Elements For A Progressbar to Tick Counterclock Wise (14:02)
DEMO Timers (7:24)
Using CountDownTimers To Display The Seconds Remaining (11:05)
Challenge - Implementing The ExerciseTimer (14:18)
Adding The Model, Our Constants For The Exercises And Testing It Part 1 (14:36)
Adding The Model, Our Constants For The Exercises And Testing It Part 2 (12:31)
Adding The Upcoming Exercise Text To The RestView (6:33)
DEMO Text To Speech (8:26)
Challenge - Add Text To Speech
Adding Text To Speech To Our App (15:24)
Adding A Media Player To Play A Sound Once The Exercise Is Over (6:17)
Intro - RecyclerView (9:04)
DEMO - RecyclerView (22:22)
Preparing The RecyclerView For The Bottom To Display Exercise Numbers (6:28)
Creating Our Own Custom RecyclerViewAdapter And ViewHolder (11:14)
Displaying The RecyclerView With The Exercise Numbers (13:45)
Displaying At Which Exercise We Currently Are (11:48)
Creating The Finish Activity (18:41)
Setting Up The CustomDialog For The BackButton (10:49)
Preparing The BMI Screen (8:39)
BMI Screen For The Metric System (20:32)
Adding Custom RadioGroups With Custom RadioButtons (9:00)
Adding The US View Elements (18:19)
Difference Between View Gone And View Invisible (2:11)
Finalizing The BMI Calculator With The US System (7:49)
Adding The History UI And Activity (8:59)
SQLITE Demo Part 1 - Overview Of The Project And UI (10:53)
SQLITE DEMO Part 2 - Primary Key, How To Create a Table And Datatypes in SQLite (14:46)
SQLITE DEMO Part 3 - The Database Class - How Tables Work - CRUD Operations etc. (16:41)
SQLITE DEMO Part 4 - Checking the SQL Database on the Deveice Outside Of the App (18:57)
Adding The SqliteOpenHelper And Storing Date In The DB (14:20)
Reading The Database Entries And Preparing The Listview Item Layout (11:24)
Adding The RecyclerView And Finishing The App (15:24)
Summary - 7 Minutes Workout App (2:20)
Section 11: Age in Minutes Calculator - Android 12
Intro Age in Minutes Calculator - Android 12 (1:31)
Setting up the UI for the age calculator (18:49)
Adding more TextViews and Understanding SP, DP and Pixels (14:22)
Finalizing the UI of our Age Calculator App (6:44)
Adding a DatePickerDialog and OnDateSetListener (13:15)
Using the selected Date to display it and looking into simpledateformat and date (12:00)
Finalizing The Age In Minutes App (12:19)
Summary Age In Minutes App (1:16)
Section 12: Calculator App - Learning XML and how to create a UI - Android 12
Intro Calculator App (1:06)
What you will build in this chapter (5:03)
Building The Calculator UI using Linear Layouts part 1 (17:32)
Building The Calculator UI using Linear Layouts part 2 (7:49)
Using OnClick and Implementing the CLR Functionality (9:07)
Adding the onDecimalPoint Function (5:43)
Adding the OnOperator Functionality using Contains and StartsWith on Strings (11:58)
Adding Subtraction - Using split and substring methods on Strings (15:15)
Adding the Missing Operations and Finalizing the App (7:17)
Summary Of The Calculator Chapter (1:06)
Section 13: Quiz App Android 12
Intro Quiz App (3:02)
Preparing The Projects Style and Manifest (3:47)
Setting up the ui and using cardview and disable the statusbar (17:59)
Creating the question Model And Preparing the questions (20:11)
Setting Up The QUestion UI ANd Connecting the UI to the model part 1 (11:42)
Setting Up The QUestion UI ANd Connecting the UI to the model part 2 (18:30)
Adding The button Functionality to the questions activity (23:51)
Selecting the Right and Wrong Answer and Displaying the next question (13:06)
TODO - Register For Activity RESULT DEMO
Preparing the UI for the Result activity (5:48)
Final Touches And Sending Data Via Intent - putExtra (18:01)
Generate a Signed APK
Summary Quiz App (1:37)
Section 14: Drawing App - How to use Canvas, import Images and Export them - Android 12
Introduction - Kids Drawing App (3:00)
What You Will Build In This Chapter (1:34)
Setting Up The Kids Drawing App - Drawing View Part 1 (19:15)
Setting Up The Kids Drawing App - Drawing View Part 2 (19:17)
Let The Lines Persist On The View (3:52)
Adding A Little Border Around The Canvas (3:10)
Preparing the BrushSizeSelector and How To Use DisplayMetrics (5:54)
Selecting the Brush Size From A Custom Dialog That we Created (19:13)
Adding the color pallet using custom drawables that we created (17:59)
Adding the Color selection (11:02)
Adding the Background Image (7:09)
Adding The Gallery ImageButton To The UI (4:05)
Permissions Demo (22:44)
Snackbar - AlertDialog - CustomDialogs Demo Part 1 (8:23)
CustomDialogs Demo Part 2 (5:48)
Custom Progress Bar Dialogs (6:08)
Adding Permission requests to our KidsDrawing App (14:56)
Selecting An Image from the gallery using it as a background (10:19)
Adding an undo button and functionality (6:12)
Do something in the Background using Coroutines (13:44)
Adding a provider - path and a image sandwich maker to our app (13:49)
Saving an Image on The Phone using Coroutines and OutPutStreams (18:39)
Displaying The Custom Progress Dialog and Hiding it When done (4:57)
Adding a Share Feature To Share The Image Via-Email - Whatsapp etc. (7:04)
Section 15: 7 Minute Workout App Android 12 Version
Intro to 7 Minute Workout App (2:20)
Setting up the UI (17:08)
Using Viewbinding and getting rid of our actionbar (7:50)
Adding The Exercise Screen - Intents and Customizing our Toolbar (12:11)
Implementing Custom UI Elements For A PRogressbar To Tick Counterclock wise (15:30)
DEMO - Timers (7:24)
Using CountDownTimers To Display The Seconds remaining (10:09)
Adding the Exercise Timer (13:26)
Adding the Model, Our Constants For The Exercises and Testing It Part 1 (12:22)
Adding the Model, Our Constants For The Exercises and Testing It Part 2 (13:33)
Adding the Upcoming Exercise Text To the restview (7:09)
TextToSpeech Demo (11:00)
Challenge TextToSpeech
Adding Text to speech to our application (5:19)
Adding a Media Player to play a sounds once an exercise is over (7:14)
Intro to RecyclerViews (9:04)
Viewbinding with Recyclerviews (23:39)
Preparing The RecyclerView For The Bottom To Display Exercise Numbers (7:21)
Creating our own custom recyclerviewadapter and viewholder (10:21)
Displaying the Recyclerview with the Exercise Numbers (12:16)
Displaying at witch exercise we currently are (11:30)
Creating the finish activity (15:17)
Setting up the CustomDialog for the Backbutton (10:09)
Preparing the BMI Screen (8:03)
BMI Screen for the Metric system (22:37)
Adding Custom RadioGroups with Custom RadioButtons (7:00)
Adding the US View Elements (16:20)
FInalizing the BMI Calcutator with the us system (7:00)
Adding the History UI and Activity (9:33)
Looking at Lambdas once again (3:23)
Room Database Demo Part 1 - Introduction to Room Database (9:27)
Room Database Demo Part 2 - Setting up the Data Class - Room Entity (9:27)
Room Database Demo Part 3 - The Dao Interface and the Database Class (16:36)
Room Database Demo Part 4 - CREATE and store data (20:31)
Room Database Demo Part 5 - Preparing the ItemAdapter with Listeners (12:43)
Room Database Demo Part 6 - Displaying the Database entries (9:42)
Room Database Demo Part 7 - Updating and Deleting database entries (22:17)
Adding the Room Database to Our Workout App - Inserting Workouts (24:17)
Fetching Data from our Database and displaying it in the log (9:26)
Displaying the Workout History on our Recyclerview (18:21)
Summary - 7 Minutes Workout App (1:55)
Section 16: Happy Places App - Location, GPS, Google Maps API
Introduction to the chapter (1:53)
Concept of the App (1:50)
Setting Up The Happy Places App (14:27)
Adding The Add HappyPlaceActivity and using dimens, string, color (15:06)
Adding Calendar Picker And Populate Our Date Edit Text (11:23)
Using Third Party Libraries (5:15)
Using The Third Party Library DEXTER For Permission Handling (19:47)
DEMO - Taking Images With The Camera App and Using It In Our App (12:49)
Adding The Gallery Picking Functionality (9:09)
Adding Camera Picking Functionality (5:30)
Storing The Images On The Device (11:36)
Preparing The Database Handler And Creating Our Happy Place Model (13:33)
Saving A Happy Place Via SQLite (7:59)
Reading The Data From Our Local DB (11:52)
Preparing The RecyclerView (4:23)
Using A Third Party Library For Nice Rounded Images (18:55)
Adding ActivityForResult In Order To Update The List Dynamically (7:33)
Adding An OnClickListener To RecyclerView Element - Best Practice (14:46)
Passing Whole Objects from One Activity To Another - Serializable vs Parcalable (11:53)
Adding Swipe To Edit Functionality using ItemTouchHelper (18:14)
Fixing The Updating Duplication Bug (9:10)
Adding Swipe To Delete Functionality (10:34)
Using The Google Places API (19:02)
Adding a Map Intent (7:34)
Displaying A Marker On The Map And Zooming In With An Animation (16:25)
Adding The Select Current Location Button And Permissions (11:15)
Getting The Address From The Latitude And Longitude (21:46)
Getting The Users Location (15:24)
Steps to integrate AdMob in your Android App in Kotlin
Summary - Happy Places (1:20)
Section 17: Weather App - Downloading Website, JSON, GSON, Using APIs
Introduction - Weather App (1:07)
JSON And Tools - Introduction (7:48)
DEMO - Downloading A Website And Its Text in Android (16:46)
How Read And Use JSON Objects (10:46)
Sending Post Requests (7:38)
Using The GSON Library to Make Working With JSON Easier (9:32)
Introduction To OpenWeatherMap And General Overview (8:08)
Preparing The Project And Checking If Location Provider Is Turned On (10:02)
Preparing Permissionrequests Using Dexter (11:47)
Preparing the Internet Connection For RETROFIT And The API Calls (12:35)
Preparing The Models Based On The API (11:21)
Creating The API Call with Retrofit and Getting A Response (23:18)
Creating A Custom Dialog And Testing Different Internet Speeds (8:20)
Adding The UI And Setting It Up (19:41)
Adding The Sunrise And Sunset Time (11:36)
Changing The UI Depending On The Weather Data From The API (5:03)
Adding A Refresh Button In The Menu (7:42)
Storing The Data Via SharedPreferences And Preloading It (12:25)
Summary - Weather App (2:18)
Section 18: Trello Clone - Firebase - User Management - Drag And Drop - Online Database AN10
Introduction to the chapter (3:04)
Concept of the App (2:03)
Setting Up The Splashscreen, Using Custom Fonts And How To Find Them (15:28)
Setting Up The Intro Screen And Moving To It After 2 Second (12:34)
Designing The SignUp Activity (15:51)
Challenge - Seting Up The SignIn Activity (5:29)
Setting Up The BaseActivity For Reuse Functions (21:22)
Preparing The Signup Feature in Firebase And In The App (12:51)
Registering The User Via Email in Firebase (11:59)
Signing In The User (13:04)
Using The FireStore Database to Store The User Details Part 1 (12:46)
Using The FireStore Database to Store The User Details Part 2 (12:15)
Signing In And Getting The User Data (7:43)
Auto Login (5:33)
Preparing The XML For The Drawer And Navigation Part 1 (14:33)
Preparing The XML For The Drawer And Navigation Part 2 (14:08)
Adding The Drawer Functionality In Code (13:02)
Loading The Image And Username To Display It In The Drawer (13:18)
Preparing The Profile Screen (12:39)
Populating The Profile Activity With User Data (7:48)
Image Chooser For The Profile Image (16:56)
Uploading An Image To Storage (19:06)
Updating the User Data Via HashMap In The FireStore Database (17:50)
Updating The MainActivit Profile Details via ActivityForResult (5:40)
The Create Board Activity (9:11)
Select A Board Image (6:45)
Creating A Board Image (16:03)
Creating A Board (13:30)
Creating The Board In The Firestore Database (22:51)
Preparing The Boards Recyclerview Adapter And UI Elements (17:54)
Loading The Boards Into The Recyclerview (4:02)
Updating The BoardsList After Creating A New Board (5:51)
The TasklistActivity (16:24)
Loading The Board in The TaskListActivity (16:08)
Preparing The Tasklist Adapter (21:47)
Creating Lists Inside A Board (16:29)
Creating A List Inside A Board Part 2 (12:18)
Editing And Deleting Lists (14:39)
Adding The Cards To Lists (20:51)
Displaying The Cards (9:23)
Preparing The MembersActivity (7:32)
Creating The Member Item And The Toolbar (8:33)
Fetching And Displaying The Members Of A Board (15:42)
Adding New Members - UI (12:21)
Adding A New Member To A Board - Logic (22:29)
Reloading The Board Details On Change (10:59)
Adding A Detail Screen For Cards (15:47)
Loading Card Details To Set The Title Of The Card (11:34)
Adding The Delete Card Menu Icon ANd Populating The EditText Of The Card (8:17)
Deleting Cards (18:45)
Preparing The Cards Color Dialog And Adapter (24:18)
Selecting The Color And Updating The Card (8:53)
Adding Colors To Our Cards (6:15)
Passing The Memberslist To The Card (8:52)
Preparing And Displaying The Card Members Dialog (23:14)
Prepare The Add Members Feature (18:49)
Finish The Add Members Feature (11:45)
Displaying The Assigned Users Per Card On The List Level (14:00)
Adding A Due Date To The App (10:47)
Adding The Drag And Drop Feature (14:10)
Preparing The Notification Feature (19:54)
Adding The Token To The DB (14:17)
Adding The Notifications Part 1 (27:12)
Final Steps For The Notification Feature (13:43)
Outro (1:42)
Section 19: Where To Go Now
How To Learn More
Options To Make Money
How to Publish Your App
Thanks a lot for taking the course (2:02)
How to Build Games for Android
YOUR SPECIAL BONUS
GET YOUR BONUS
Preparing The RecyclerView For The Bottom To Display Exercise Numbers
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock