The Complete Android 12 & Kotlin Development Masterclass

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

  • Denis Panjuta
  • 4.53
  • (8958 reviews)
  • 47 hrs
  • 299 lectures
  • Udemy
The Complete Android 12 & Kotlin Development Masterclass

What you will 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'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

Your trainer

Denis Panjuta

Hi. I'm Denis. I have a degree in engineering from the University for Applied Science Konstanz in Germany and discovered my love for programming there.

Currently over 100,000 students learn from my courses. This gives me a lot of energy to create new courses with the highest quality possible. My goal is to make learning to code accessible for everyone, as I am convinced, that IT is THE FUTURE!

So join my courses and learn to create apps, games, websites or any other type of application. The possibilities are limitless.

299 lessons

Easy to follow lectures and videos covering subject details.

47 hours

This course includes hours of video material. Watch on-demand, anytime, anywhere.

Certificate of Completion

You will earn a Certificate of Completion at the end of this course.

Course curriculum

  • What you will learn in this course and how is it structured17:08
  • Thanks a lot for taking the course00:57
  • How to get most out of this course04:23
  • New Feature: Learning Paths00:09
  • Udemy Reviews Update00:25
  • BONUS: additional resources00:34
  • Introduction to the chapter00:58
  • Install Android Studio on Windows06:14
  • Install Android Studio on Mac03:30
  • Install Android Studio on Linux00:04
  • Our first project - the UI and how to change the size of the text12:25
  • Setting up the Emulator08:44
  • Hello World10:20
  • People Counter App21:21
  • Testing The App On Your Phone02:59
  • Outro - Setup00:52
  • Join Our Discord Channel!00:09
  • Get the most from Tutorials.EU00:16
  • Introduction to the chapter01:28
  • Variables and difference between val and var09:33
  • Datatypes of numbers08:49
  • Datatypes bool, char and string06:48
  • Code for Variables and Datatypes00:51
  • Exercise Variables And Datatypes00:19
  • Solution For The Exercise Variables And Datatypes00:14
  • String Interpolation - String Templates03:23
  • Quiz Variables And Datatypes6 questions
  • Arithmetic Operators and why the type is important08:43
  • Comparison Operators08:35
  • assignment, incriment and decrement operators06:36
  • Code: Operators00:38
  • If Statements11:37
  • If Statements Part 203:53
  • Note - If Statemens as Expressions00:48
  • When Expressions - Including Exercises12:32
  • Quiz If Statements and When Expressions4 questions
  • Code Of If Statements And When Expressions00:57
  • Note - When Statements as Expressions00:30
  • While Loop07:34
  • Do While Loop03:26
  • More On While Loops03:42
  • For Loops05:14
  • Code: Loops00:44
  • Exercise Loops00:18
  • Solution For Exercise: Loops00:10
  • Quiz - Loops5 questions
  • Break and Continue04:32
  • Functions - Parameters - Arguments and Return - Exercise Included13:18
  • Code: Functions00:24
  • Nullables In Kotlin10:01
  • Nullables - Elvis Operator - Not Null Assertion05:27
  • Code: Nullables01:32
  • Quiz - Fundamentals Kotlin5 questions
  • Summary - Kotlin Fundamentals I01:29
  • Introduction to the chapter01:23
  • Introduction to OOP06:04
  • Classes and Objects04:52
  • Classes And Initializers07:09
  • Exercise Classes and Objects00:13
  • Solution for Exercise Classes and Objects00:14
  • Scope And Shadowing05:14
  • Member Variables - Functions And Constructors13:07
  • Lateinit Plus Setters And Getters10:20
  • Code - Classes02:20
  • Data Classes08:53
  • Challenge Classes00:24
  • Solution: Challenge Classes00:19
  • Inheritance15:16
  • Interfaces11:14
  • Abstract Classes06:01
  • Typecasting07:50
  • Summary Of Classes And OOP01:23
  • Quiz - Object Oriented Programming5 questions
  • Introduction to the chapter01:32
  • Overview Collections02:19
  • Arrays16:17
  • Lists09:19
  • Sets and Maps10:33
  • ArrayLists05:48
  • Exercise ArrayLists00:08
  • Solution For Exercise: ArrayLists00:14
  • Lambda Expressions04:36
  • Visibility Modifiers - public - private- internal - protected and the keyword op10:54
  • Nested and Inner Classes04:46
  • Safe Cast and Unsafe Cast Operator05:05
  • Exception Handling With Try And Catch15:35
  • Quiz On More Fundamentals Of Kotlin4 questions
  • Summary Of This Chapter01:32
  • Useful Links Additional Info00:08
  • Intro Age in Minutes Calculator - Android 1201:31
  • Setting up the UI for the age calculator18:49
  • Adding more TextViews and Understanding SP, DP and Pixels14:22
  • Finalizing the UI of our Age Calculator App06:44
  • Adding a DatePickerDialog and OnDateSetListener13:15
  • Using the selected Date to display it and looking into simpledateformat and date12:00
  • Finalizing The Age In Minutes App12:19
  • Summary Age In Minutes App01:16
  • Intro Calculator App01:06
  • What you will build in this chapter05:03
  • Building The Calculator UI using Linear Layouts part 117:32
  • Building The Calculator UI using Linear Layouts part 207:49
  • Using OnClick and Implementing the CLR Functionality09:07
  • Adding the onDecimalPoint Function05:43
  • Adding the OnOperator Functionality using Contains and StartsWith on Strings11:58
  • Adding Subtraction - Using split and substring methods on Strings15:15
  • Adding the Missing Operations and Finalizing the App07:17
  • Summary Of The Calculator Chapter01:06
  • Intro Quiz App03:02
  • Preparing The Projects Style and Manifest03:47
  • Setting up the ui and using cardview and disable the statusbar17:59
  • Creating the question Model And Preparing the questions20:11
  • Setting Up The QUestion UI ANd Connecting the UI to the model part 111:42
  • Setting up The questions UI and Connecting the UI to the Model Part 218:30
  • Adding The button Functionality to the questions activity23:51
  • Selecting the Right and Wrong Answer and Displaying the next question13:06
  • TODO - Register For Activity RESULT DEMO00:00
  • Preparing the UI for the Result activity05:48
  • Final Touches And Sending Data Via Intent - putExtra18:01
  • Generate a Signed APK00:07
  • Summary Quiz App01:37
  • Introduction - Kids Drawing App03:00
  • What You Will Build In This Chapter01:34
  • Setting Up The Kids Drawing App - Drawing View Part 119:16
  • Setting Up The Kids Drawing App - Drawing View Part 219:17
  • Let The Lines Persist On The View03:53
  • Adding A Little Border Around The Canvas03:10
  • Preparing the BrushSizeSelector and How To Use DisplayMetrics05:54
  • Selecting the Brush Size From A Custom Dialog That we Created19:13
  • Adding the color pallet using custom drawables that we created17:59
  • Adding the Color selection11:02
  • Adding the Background Image07:09
  • Adding The Gallery ImageButton To The UI04:05
  • Permissions Demo22:44
  • Snackbar - AlertDialog - CustomDialogs Demo Part 108:23
  • CustomDialogs Demo Part 205:48
  • Custom Progress Bar Dialogs06:08
  • Adding Permission requests to our KidsDrawing App14:56
  • Selecting An Image from the gallery using it as a background10:19
  • Adding an undo button and functionality06:12
  • Do something in the Background using Coroutines13:44
  • Adding a provider - path and a image sandwitch maker to our app13:49
  • Saving an Image on The Phone using Coroutines and OutPutStreams18:39
  • Displaying The Custom Progress Dialog and Hiding it When done04:57
  • Adding a Share Feature To Share The Image Via-Email - Whatsapp etc.07:04
  • Intro to 7 Minute Workout App02:20
  • Setting up the UI17:08
  • Using Viewbinding and getting rid of our actionbar07:50
  • Adding The Exercise Screen - Intents and Customizing our Toolbar12:11
  • Implementing Custom UI Elements For A PRogressbar To Tick Counterclock wise15:30
  • DEMO - Timers07:24
  • Using CountDownTimers To Display The Seconds remaining10:09
  • Adding the Exercise Timer13:26
  • Adding the Model, Our Constants For The Exercises and Testing It Part 112:22
  • Adding the Model, Our Constants For The Exercises and Testing It Part 213:33
  • Adding the Upcoming Exercise Text To the restview07:09
  • TextToSpeech Demo11:00
  • Challenge TextToSpeech00:08
  • Adding Text to speech to our application05:19
  • Adding a Media Player to play a sounds once an exercise is over07:14
  • Intro to RecyclerViews09:04
  • Viewbinding with Recyclerviews23:39
  • Preparing The RecyclerView For The Bottom To Display Exercise Numbers07:21
  • Creating our own custom recyclerviewadapter and viewholder10:21
  • Displaying the Recyclerview with the Exercise Numbers12:16
  • Displaying at witch exercise we currently are11:30
  • Creating the finish activity15:17
  • Setting up the CustomDialog for the Backbutton10:09
  • Preparing the BMI Screen08:03
  • BMI Screen for the Metric system22:37
  • Adding Custom RadioGroups with Custom RadioButtons07:00
  • Adding the US View Elements16:20
  • FInalizing the BMI Calcutator with the us system07:00
  • Adding the History UI and Activity09:33
  • Looking at Lambdas once again03:23
  • Room Database Demo Part 1 - Introduction to Room Database04:16
  • Room Database Demo Part 2 - Setting up the Data Class - Room Entity09:27
  • Room Database Demo Part 3 - The Dao Interface and the Database Class16:36
  • Room Database Demo Part 4 - CREATE and store data20:31
  • Room Database Demo Part 5 - Preparing the ItemAdapter with Listeners12:43
  • Room Database Demo Part 6 - Displaying the Database entries09:42
  • Room Database Demo Part 7 - Updating and Deleting database entries22:17
  • Adding the Room Database to Our Workout App - Inserting Workouts24:17
  • Fetching Data from our Database and displaying it in the log09:26
  • Displaying the Workout History on our Recyclerview18:21
  • Summary - 7 Minutes Workout App01:55
  • Introduction to the chapter01:53
  • Concept of the App01:50
  • Setting Up The Happy Places App14:27
  • Adding The Add HappyPlaceActivity and using dimens, string, color15:06
  • Adding Calendar Picker And Populate Our Date Edit Text11:23
  • Using Third Party Libraries05:15
  • Using The Third Party Library DEXTER For Permission Handling19:47
  • DEMO - Taking Images With The Camera App and Using It In Our App12:49
  • Adding The Gallery Picking Functionality09:09
  • Adding Camera Picking Functionality05:31
  • Storing The Images On The Device11:36
  • Preparing The Database Handler And Creating Our Happy Place Model13:33
  • Saving A Happy Place Via SQLite07:59
  • Reading The Data From Our Local DB11:52
  • Preparing The RecyclerView04:23
  • Using A Third Party Library For Nice Rounded Images18:55
  • Adding ActivityForResult In Order To Update The List Dynamically07:33
  • Adding An OnClickListener To RecyclerView Element - Best Practice14:46
  • Passing Whole Objects from One Activity To Another - Serializable vs Parcalable11:53
  • Adding Swipe To Edit Functionality using ItemTouchHelper18:14
  • Fixing The Updating Duplication Bug09:10
  • Adding Swipe To Delete Functionality10:34
  • Using The Google Places API19:02
  • Adding a Map Intent07:34
  • Displaying A Marker On The Map And Zooming In With An Animation16:25
  • Adding The Select Current Location Button And Permissions11:15
  • Getting The Users Location15:24
  • Getting The Address From The Latitude And Longitude21:46
  • Steps to integrate AdMob in your Android App in Kotlin00:07
  • Summary - Happy Places01:20
  • Introduction - Weather App01:07
  • JSON And Tools - Introduction07:48
  • DEMO - Downloading A Website And Its Text in Android16:46
  • How Read And Use JSON Objects10:46
  • Sending Post Requests07:38
  • Using The GSON Library to Make Working With JSON Easier09:32
  • Introduction To OpenWeatherMap And General Overview08:08
  • Preparing The Project And Checking If Location Provider Is Turned On10:02
  • Preparing Permissionrequests Using Dexter11:47
  • Preparing the Internet Connection For RETROFIT And The API Calls12:35
  • Preparing The Models Based On The API11:21
  • Creating The API Call with Retrofit and Getting A Response23:18
  • Creating A Custom Dialog And Testing Different Internet Speeds08:20
  • Adding The UI And Setting It Up19:41
  • Adding The Sunrise And Sunset Time11:36
  • Changing The UI Depending On The Weather Data From The API05:03
  • Adding A Refresh Button In The Menu07:42
  • Storing The Data Via SharedPreferences And Preloading It12:25
  • Summary - Weather App02:18
  • Introduction to the chapter03:04
  • Concept of the App02:03
  • Setting Up The Splashscreen, Using Custom Fonts And How To Find Them15:28
  • Setting Up The Intro Screen And Moving To It After 2 Second12:34
  • Designing The SignUp Activity15:51
  • Challenge - Seting Up The SignIn Activity05:29
  • Setting Up The BaseActivity For Reuse Functions21:22
  • Preparing The Signup Feature in Firebase And In The App12:51
  • Registering The User Via Email in Firebase11:59
  • Signing In The User13:04
  • Using The FireStore Database to Store The User Details Part 112:46
  • Using The FireStore Database to Store The User Details Part 212:15
  • Signing In And Getting The User Data07:43
  • Auto Login05:33
  • Preparing The XML For The Drawer And Navigation Part 114:33
  • Preparing The XML For The Drawer And Navigation Part 214:08
  • Adding The Drawer Functionality In Code13:03
  • Loading The Image And Username To Display It In The Drawer13:18
  • Preparing The Profile Screen12:39
  • Populating The Profile Activity With User Data07:48
  • Image Chooser For The Profile Image16:56
  • Uploading An Image To Storage19:06
  • Updating the User Data Via HashMap In The FireStore Database17:50
  • Updating The MainActivit Profile Details via ActivityForResult05:40
  • The Create Board Activity09:11
  • Select A Board Image06:45
  • Creating A Board Image16:03
  • Creating A Board13:30
  • Creating The Board In The Firestore Database22:51
  • Preparing The Boards Recyclerview Adapter And UI Elements17:54
  • Loading The Boards Into The Recyclerview04:02
  • Updating The BoardsList After Creating A New Board05:51
  • The TasklistActivity16:24
  • Loading The Board in The TaskListActivity16:08
  • Preparing The Tasklist Adapter21:47
  • Creating Lists Inside A Board16:29
  • Creating A List Inside A Board Part 212:18
  • Editing And Deleting Lists14:39
  • Adding The Cards To Lists20:51
  • Displaying The Cards09:23
  • Preparing The MembersActivity07:32
  • Creating The Member Item And The Toolbar08:33
  • Fetching And Displaying The Members Of A Board15:42
  • Adding New Members - UI12:21
  • Adding A New Member To A Board - Logic22:29
  • Reloading The Board Details On Change10:59
  • Adding A Detail Screen For Cards15:47
  • Loading Card Details To Set The Title Of The Card11:34
  • Adding The Delete Card Menu Icon ANd Populating The EditText Of The Card08:17
  • Deleting Cards18:45
  • Preparing The Cards Color Dialog And Adapter24:18
  • Selecting The Color And Updating The Card10:01
  • Adding Colors To Our Cards06:15
  • Passing The Memberslist To The Card08:52
  • Preparing And Displaying The Card Members Dialog23:14
  • Prepare The Add Members Feature18:49
  • Finish The Add Members Feature11:45
  • Displaying The Assigned Users Per Card On The List Level14:00
  • Adding A Due Date To The App10:47
  • Adding The Drag And Drop Feature14:10
  • Preparing The Notification Feature19:54
  • Adding The Token To The DB14:17
  • Adding The Notifications Part 127:12
  • Final Steps For The Notification Feature13:43
  • Outro01:42
  • How To Learn More00:37
  • Options To Make Money00:44
  • How to Publish Your App00:04
  • Thanks a lot for taking the course02:02
  • How to Build Games for Android00:14
Online Courses

Learning Kotlin doesn't have to be hard. Here is our curated list of recommended online courses that will guide you step-by-step in the learning process.

Learn more
Books

Are you an avid book reader? Do you prefer paperback, or maybe Kindle version? Take a look at our curated list of Kotlin related books and take yourskills to the next level.

Learn more
YouTube videos

The number of high-quality and free Kotlin video tutorials is growing fast. Check this curated list of recommended videos - there is no excuse to stop learning.

Learn more