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
Deleting Cards
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock