Complete Kotlin Android Developer Tutorial

Tags: Kotlin

Learn Android Kotlin Development to build amazing apps: an Online Quiz App, a Pokemon Go clone, an E-Commerce App...

Last updated 2022-01-10 | 4.2

- Create Professional Kotlin Applications
- You’re taught step by step HOW to build Android apps for Google’s platform that will work on older Android versions
- Make pretty much any Android app you like (The sky is the limit)

What you'll learn

Create Professional Kotlin Applications
You’re taught step by step HOW to build Android apps for Google’s platform that will work on older Android versions
Make pretty much any Android app you like (The sky is the limit)
Become a professional Android app developer
take freelance gigs and work from anywhere in the world
Submit your apps to Google Play and generate revenue with Google Pay and Google Ads
Apply for a new job in a software company as an Android developer
Build real-world Android apps like Twitter clone
Facebook clone
Taxi App
media-player App
Hangman App
Weather app
and Quiz App and much more...
Work with New Firebase from Google and Web services (RESTful API calls)
Create connection from Android to PHP web services and MySQL database
Learn Object Oriented Kotlin programming
Learn Material Design Rules. Design amazing layout using Style
Color
Shape
Menus
Create Android SQLite Applications
Build production ready complex Android Kotlin applications

* Requirements

* ZERO programming experience is required! I will teach you everything step by step from scratch.
* You will need a computer running Microsoft Windows
* or Linux
* or a Mac running OS X.

Description

  • Create Professional Kotlin Applications
  • You’re taught step by step HOW to build Android apps for Google’s platform that will work on older Android versions
  • Make pretty much any Android app you like (The sky is the limit)
  • Become a professional Android app developer, take freelance gigs and work from anywhere in the world
  • Submit your apps to Google Play and generate revenue with Google Pay and Google Ads
  • Apply for a new job in a software company as an Android developer
  • Build real-world Android apps like Twitter clone,Facebook clone, Taxi App, media-player App, Hangman App, Weather app, and Quiz App and much more...
  • Work with New Firebase from Google and Web services (RESTful API calls)
  • Create connection from Android to PHP web services and MySQL database
  • Learn Object Oriented Kotlin programming
  • Learn Material Design Rules. Design amazing layout using Style, Color, Shape, Menus
  • Create Android SQLite Applications
  • Build production ready complex Android Kotlin applications

Course content

17 sections • 275 lectures

Watch the Videos in HD Quality Preview 02:37

Welcome Message Preview 00:35

Tools for Modern Android Development Preview 01:42

Set up Android Development on Mac OSX Preview 14:15

Set up Android Development on Windows operating system Preview 14:16

Set up emulator in Android Studio Preview 12:10

Section Goals! Preview 00:30

What is JDK? Why JDK? Preview 03:19

Let's Download and Install the Java Development Kit Preview 02:59

What is Android Studio? Why Android Studio? Preview 03:16

Let's Download and Install Android Studio for Mac, Windows and Linux! Preview 03:31

Android Studio 3.6 Newest Version! Preview 12:00

Update Android Studio to the latest version! Preview 00:42

Downloading Android SDK Packages Preview 06:08

Configure Android Studio Preview 06:10

Android Basic Activity Template Setup Preview 03:56

Downloading and Installing IntellijIDEA Preview 04:14

Creating our first Kotlin Project Preview 02:08

End of Section! Preview 01:09

Create your first Android Project in Android Studio 4.0 Preview 06:08

Hello and Hi World App! - Part 1 - Introduction to Android Studio 3 Preview 27:00

Hello and Hi World App! - Part 2 - LinearLayout and LayoutWeight Preview 10:39

Test your app on Android Virtual Device and learn to test it on your real device Preview 08:12

Test your Android App on a real Android Device Preview 05:33

Download and Install Genymotion and Virtual Box Preview 12:04

Run your app on Genymotion Virtual Device Preview 03:46

Bug Fixes! Preview 07:01

Android Studio 3.3 RelativeLayout Update 2019 Preview 04:06

Printing Values Preview 06:56

In this tutorial, students learn how to output values to the console by using the "print()" statement.

Printing Values Challenge! Preview 00:39

What is a Variable? How to implement it? Preview 04:16

A variable is a place holder for data. We use variables use in order to store our data and access them later.

Implementing Variables Challenge! Preview 00:39

Data types are inferred! Preview 05:15

Data types in kotlin are inferred by the compiler. This means you that don't have to worry about the data types of the variables you create. Thank you Compiler!

Inferred Datatypes Challenge! Preview 00:39

What is a Constant? Preview 04:39

A constant is a variable but its value can not be updated later in the code. In this tutorial what is exactly a constant and how to implement it.

Constants Challenge! Preview 00:49

Optionals Preview 04:46

Optionals play an important role in kotlin programming language because it allows variables to have null(meaningless or invalid) values.

Optionals Challenge Preview 01:06

Concatenating String Preview 01:12

By using the "+" operator we can concatenate values.

Concatenating String Challenge Preview 00:29

Get Input from the User Preview 11:06

Let's allow the user to interact with our console applications by using the "readLine()" statement.

Get Input from the User Challenge Preview 00:37

Null Safety Preview 03:51

Kotlin's type system is aimed at eliminating the danger of null references from code.

Null Safety Challenge Preview 00:20

Converting Data Types Preview 06:58

how to convert data types to other data types in programming


Basic Math Operations in Programming Preview 06:36

In this tutorial, students learn the basic math operations in kotlin.

Operation Precedence in Programming Preview 09:16

In this tutorial operations Precedence in programming is explained completely.

Primitive Data types Preview 07:31

At the end of this lecture, students will have mastered primitive data types in programming.

Incrementing and Decrementing Preview 09:44

At the end of this lecture, students will have mastered the "Increment" and "Decrement"  operators in programming.

Register the User App! Preview 04:31

At the end of this lecture, students will have created a new app called "RegisterTheUserApp" by using the technologies we have learned so far.

How to Debug Preview 05:15

At the end of this lecture, students will have mastered the debugging capabilities of the Modern IDEs.

If Statements Preview 04:57

At the end of this lecture, students will have mastered if statements in programming.

If Else Statements Preview 04:05

At the end of this lecture, students will have mastered IF Else statements in programming.

If Else If Statements Preview 07:18

At the end of this lecture, students will have mastered If Else If statements in Programming.

Nested If Statements Preview 03:46

At the end of this lecture, students will have mastered the Nested If statements in Programming.

When Statements Preview 09:09

At the end of this lecture, students will have mastered "When" statements in Kotlin.

Assigning Statements Preview 06:23

At the end of this lecture, students will have mastered Assigning If and When Statements in Kotlin.

Assigning When Expression Preview 03:31

At the end of this lecture, students will have mastered Assigning When Expressions in Kotlin.

For Loops Preview 08:33

At the end of this lecture, students will have mastered For Loops in Programming.

Nested For Loops! Preview 06:25

At the end of this lecture, students will have mastered Nested For Loops in Programming.

While Loops Preview 04:40

At the end of this lecture, students will have mastered While Loops in Programming.

Do While Loops Preview 02:55

At the end of this lecture, students will have mastered Do While Loops in Programming.

Break and Continue Statements Preview 06:34

At the end of this lecture, students will have mastered Break and Continue Statements.

Strings in Programming Preview 07:49

At the end of this lecture, students will have mastered Strings in Programming.

Arrays in Programming - Part 1 Preview 08:59

At the end of this lecture, students will have mastered Arrays in Programming.

Arrays in Programming - Part 2 Preview 06:49

At the end of this lecture, students will have mastered Arrays in Programming.

ArrayList Preview 11:06

At the end of this lecture, students will have mastered ArayList in Programming.

HashMap Preview 07:41

At the end of this lecture, students will have mastered HashMaps in Programming.

ArrayOf Function Preview 06:24

At the end of this lecture, students will have mastered the "ArrayOf" function in Kotlin.

HashmapOf Function Preview 02:00

At the end of this lecture, students will have mastered the "HashMapOf" function in Programming.

Set Collection Preview 04:22

At the end of this lecture, students will have mastered "Set" Collection in Programming.

Functions in Programming Preview 07:28

At the end of this lecture, students will have mastered Functions in Programming.

Functions that return values Preview 05:52

At the end of this lecture, students will have mastered creating the Functions that return values.

More about functions in Kotlin Preview 03:55

At the end of this lecture, students will have mastered all about functions in kotlin.

Function Overloading Preview 05:30

At the end of this lecture, students will have mastered Function Overloading in Programming.

Introduction to Polymorphism Preview 04:30

At the end of this lecture, students will have mastered Polymorphism in Programming.

Global and Local Variables Preview 02:53

At the end of this lecture, students will have mastered Global and Local variables in Programming.

Introduction to Object Oriented Programming Preview 01:19

Object Oriented Benefits Preview 02:44

Classes in Programming Preview 04:49

At the end of this lecture, students will have mastered Classes in Programming.

Creating Objects from Classes Preview 06:16

At the end of this lecture, students will have mastered Creating Objects in Programming.

Constructors Preview 06:29

Custom Constructors Preview 06:49

Inheritance in Programming Preview 11:06

Access Modifiers in Programming Preview 07:06

Overriding in Programming Preview 07:05

Casting in Programming Preview 11:33

Super and This Keywords Preview 15:57

Interface in Programming Preview 10:30

Abstraction in Programming Preview 10:09

Enum in Programming Preview 03:49

Generic in Programming Preview 03:48

Extension in Programming Preview 04:31

Package Preview 02:44

Nested Classes Preview 06:40

Singleton Design Pattern Preview 07:41

Try/Catch Block Preview 09:09

Wrting/Reading from an external file Preview 12:11

Multi-threading Preview 13:11

Kotlin Source Codes Preview 00:03

Goals of this Section Preview 00:07

Downloading Android SDK Packages Preview 05:04

Updating Kotlin Programming Language to the Latest Version Preview 03:24

App 1 - Online Quiz App - Part 1 - Let's create the App! Preview 15:42

App 1 - Online Quiz App - Part 2 - Introduction to Android Layouts Preview 05:32

App 1 - Online Quiz App - Part 3 - Add UI Widgets to your layouts Preview 15:12

App 1 - Online Quiz App - Part 4 Preview 10:26

App 1 - Online Quiz App - Part 5 - Handle a button click Preview 16:54

App 1 - Online Quiz App - Part 6 - Variables Preview 18:17

App 1 - Online Quiz App - Part 7 - Implementing Functions Preview 04:28

App 1 - Online Quiz App - Part 8 - Asynchronous Programming Preview 23:39

App 1 - Online Quiz App - Part 9 - Classes and Objects Preview 16:19

App 1 - Online Quiz App - Part 10 - Getters and Setters Preview 12:17

App 1 - Online Quiz App - Part 11 - Android Life Cycle Preview 22:29

App 1 - Online Quiz App - Part 12 - Collections in Android Preview 10:45

App 1 - Online Quiz App - Part 13 - Open Camera Intent Preview 27:51

App 1 - Online Quiz App - Part 14 - Open Photo Gallery Intent Preview 14:17

App 1 - Online Quiz App - Part 15 - Decision Making - If Statement Preview 28:35

App 1 - Online Quiz App - Part 16 - Decision Making - When Statement Preview 04:33

App 1 - Online Quiz App - Part 17 - Parsing JSON (Javascript Object Notation) Preview 20:13

App 1 - Online Quiz App - Part 18 - Retrieve Plant Objects Preview 09:58

App 1 - Online Quiz App - Model View Controller Design Pattern in Practice Preview 04:00

App 1 -Online Quiz App - Part 19 - Parsing JSON Data Preview 11:00

App 1 - Online Quiz App - Part 20 - Parsing JSON Data Preview 23:41

App 1 - Online Quiz App - Part 21 - Check for Internet Connection Preview 11:12

App 1 - Online Quiz App - Part 22 - Create Alert Preview 08:42

App 1 - Online Quiz App - Part 23 - Implement the doInBackground() of DPT class Preview 06:59

App 1 - Online Quiz App - Part 24 - Implement the onPostExecute of DPT Class Preview 18:24

App 1 - Online Quiz App - Part 25 - Solve Layout Issues and Override toString() Preview 06:11

App 1 - Online Quiz App - Part 26 - Implement the right and wrong answers! Preview 08:15

App 1 - Online Quiz App - Part 27 - Implement "DownloadingImageTask" inner class Preview 03:52

App 1 - Online Quiz App - Part 28 - Implement "downloadPlantPicture()" function Preview 05:23

App 1 - Online Quiz App - Part 29 - Implement doInBackground() of DIT class Preview 04:29

App 1 - Online Quiz App - Part 30 - Implement onPostExecute() of DIT class Preview 09:07

App 1 - Online Quiz App - Part 31 - Implement the FloatingAction Button Preview 07:54

App 1 - Online Quiz App - Part 32 - Implement the right and wrong answers! Preview 12:12

App 1 - Online Quiz App - Part 33 - Implement ProgressBar Preview 19:37

App 1 - Online Quiz App - Part 34 - Beautify the App - Implement the XML file Preview 11:16

App 1 - Online Quiz App - Part 35 - Implement the GradleDrawable Object in Code Preview 11:03

App 1 - Online Quiz App - Part 36 - Convert dip to pixels Preview 10:32

App 1 - Online Quiz App - Part 37- Displaying VS Not Displaying UI Widgets Preview 05:21

App 1 - Online Quiz App - Part 38 - Add Animations Effects (External Library) Preview 07:33

App 1 - Online Quiz App - Part 39 -Customize the look of status bar and toolbar Preview 01:09

App 1 - Online Quiz App - Part 40 - Now it's your turn!!! Preview 01:34

App 2 - TIC TAC TOE GAME! - Demo Preview 02:38

App 2 - TIC TAC TOE GAME! - Part 1 - Create the project and design the layout Preview 12:14

App 2 - TIC TAC TOE GAME! - Part 2 - Add the resources Preview 09:51

App 2 - TIC TAC TOE GAME! - Part 3 - OnclickListener and Background Color Preview 06:58

App 2 - TIC TAC TOE GAME! - Part 4 - Randomly change the background color Preview 05:13

App 2 - TIC TAC TOE GAME! - Part 5 - Create the Action function Preview 04:03

App 2 - TIC TAC TOE GAME! - Part 6 - Add implementations to action() function Preview 12:28

App 2 - TIC TAC TOE GAME! - Part 7 - Implement the second player logic Preview 04:14

App 2 - TIC TAC TOE GAME! - Part 8 - Specify the winner of game Preview 12:57

App 2 - TIC TAC TOE GAME! - Part 9 - Show an alert Preview 03:17

App 2 - TIC TAC TOE GAME! - Part 10 - Implementing the resetGame() method Preview 04:49

App 2 - TIC TAC TOE GAME! - Part 11 - Create the Draw state Preview 02:52

App 2 - TIC TAC TOE GAME! - Part 12 - Play with the computer Preview 16:36

App 2 - TIC TAC TOE GAME! - Final Part - Add background music Preview 10:22

App 2 Source Code Preview 00:02

App 3 - Calculator App - Demo Preview 01:23

App 3 - Calculator App - Part 1 - Create the project! Preview 01:36

App 3 - Calculator App - Part 2 - Design the layout Preview 08:55

App 3 - Calculator App - Margin (Outer Space) Preview 01:02

App 3 - Calculator App - Part 3 - Implement the "numberIsTapped()" function Preview 06:10

App 3 - Calculator App - Part 4 - Implement the "operatorIsTapped()" function Preview 19:14

App 3 - Calculator App - Part 5 - Implement the "Equal" operator Preview 08:15

App 3 - Calculator App - Part 6 - Implement the "percent" functionality Preview 05:10

App 3 - Calculator App - Part 7 - Implement the clear function Preview 01:35

App 3 - Calculator App - Final Part - Show the calculations to the user Preview 03:36

App 4 - Pokemon GO App - Demo Preview 00:42

App 4 - Pokemon GO App - Part 1 - Setup the google maps Preview 05:25

App 4 - Pokemon GO App - Part 2 - Location Access on the Map! Preview 04:42

App 4 - Pokemon GO App - Part 3 - Ask Runtime Permission Preview 07:33

App 4 - Pokemon GO App - Part 4 - Implement the LocationListener Interface Preview 13:38

App4 - Pokemon GO - Part 5 - Show the current location of the player on the map Preview 12:46

App 4 - Pokemon GO App - Part 6 - Create the Pokemon Character Preview 04:49

App 4 - Pokemon GO App - Part 7 - Initialize the Pokemon Character Preview 07:00

App 4 - Pokemon GO App - Part 8 - Refactoring our code (Encapsulation) Preview 05:25

App 4 - Pokemon GO App - Part 9 - Create a new thread of execution Preview 04:57

App 4 - Pokemon GO App - Part 10 - Debug the thread Preview 08:02

App 4 - Pokemon GO App - Part 11 - Show the Pokemon Characters on the Map! Preview 11:50

App 4 - Pokemon GO App - Final Part - Eliminate the Pokemon Characters Preview 08:48

App 4 Source Code Preview 00:02

App 5 - Celebrities App - Demo Preview 01:25

App 5 - Celebrities App - Part 1 - Create the Project! Preview 02:30

App 5 - Celebrities App - Part 2 - Supporting Multiple Screens Preview 08:25

App 5 - Celebrities App - Part 3 - Design the Celebrity Row Preview 09:53

App 5 - Celebrities App - Part 4 - Celebrity row finishing touches Preview 09:40

App 5 - Celebrities App - Part 5 - Create the Celebrity Database Preview 04:31

App 5 - Celebrities App - Part 6 - Adapter in Android Preview 11:02

App 5 - Celebrities App - Part 7 - Implement the abstract methods Preview 04:01

App 5 - Celebrities App - Part 8 - LayoutInflater and Reusability Preview 03:08

App 5 - Celebrities App - Part 9 - Implement the getView() finction Preview 07:55

App 5 - Celebrities App - Part 10 - Initialize the celebrityView Preview 11:09

App 5 - Celebrities App - Part 11 - Create the alive celebrity row Preview 06:36

App 5 - Celebrities App - Part 12 - Create the BioActivity Preview 11:21

App 5 - Celebrities App - Part 13 - Switching to another activity Preview 05:50

App 5 - Celebrities App - Part 14 - Retrieving data from intent Preview 06:18

App 5 - Celebrities App - Part 15 - Delete or Duplicate the row Preview 09:35

App 5 Source Code Preview 00:02

App 6 - Sports App - Demo Preview 01:00

App 6 - Sport App - Part 1 - Create GridView and Row Item Preview 09:18

App 6 - Sport App - Part 2 - Create the Sport Class Preview 01:26

App 6 - Sport App - Part 3 - Create the SportDatabase class Preview 03:52

App 6 - Sport App - Part 4 - Create the SportAdapter class Preview 11:27

App 6 - Sport App - Part 5 - Create the Sport Detail Activity Preview 12:23

App 6 - Sport App - Final Part - Change the Background Color Preview 02:09

App 6 Source Code Preview 00:02

Ecommerce App (Paypal Integration) - Part 1 - Installing XAMPP Preview 05:00

Ecommerce App (Paypal Integration) - Part 2 - XAMPP UI on Windows Preview 00:58

Ecommerce App (Paypal) - Part 3 - Web Application Programming Interface (API) Preview 04:12

Ecommerce App (Paypal) - Part 4 - Create the MySQL Database and Table Preview 06:44

Ecommerce App (Paypal) - Part 5 - Insert Product to Database via PHP Code! Preview 17:26

Ecommerce App (Paypal) - Part 6 - Insert Product to Database via PHP Code! Preview 10:14

Ecommerce App - Part 7 - Read, Retrieve and Present MySQL data as JSON Object Preview 15:55

Ecommerce App (Paypal) - Part 8 - Represent the MySQL Data as an JSON Array Preview 10:38

Ecommerce App (Paypal) - Part 9 - Radio Groups vs Radio Buttons Preview 07:45

Ecommerce App (Paypal) - Part 10 - SharedPreferences in Android Preview 08:00

Ecommerce App (Paypal) - Part 11 - SharedPreferences in Android Continued! Preview 09:01

Ecommerce App (Paypal)- Part 12 - Add an External Library like "Volley" your App Preview 03:03

Ecommerce App (Paypal) - Part 13 - Figure out the ip of your device! Preview 07:14

Ecommerce App - Part 14 - Get Data from Server and show it on the emulator Preview 14:02

Ecommerce App - Part 15 - Get an JSON Object From Server and Display in Android! Preview 10:39

Ecommerce App - Part 16 - Get an JSON Object From Server and Display in Android! Preview 14:00

Ecommerce App - Part 17 - Get All the JSON Objects and Display them in Android Preview 09:25

Ecommerce App - Part 18 - Get All the JSON Objects and Display them in Android Preview 14:18

Ecommerce App - Part 19 - Get an Image from Server and Show it in Android Preview 11:15

Ecommerce App - Part 20 - Master Recycler View - Design the Layout Preview 09:57

Ecommerce App (Paypal) - Part 21 - Master Recycler View - Design the Layout Preview 07:26

Ecommerce App - Part 22 - Master Recycler View - Create the Adapter and Model Preview 10:22

Ecommerce App (Paypal Integration) - Part 23 - Create the Product View Holder Preview 12:04

Ecommerce App (Paypal Integration) - Part 24 - Implement the Abstract Functions Preview 11:19

Ecommerce App (Paypal Integration) - Part 25 - Recycler View Finishing Touches Preview 08:56

Ecommerce App - (Paypal Integration) - Part 26 - Let's Start creating it! Preview 11:13

Ecommerce APP(Paypal Integration) - Part 27 - Add the user to the table in PHP Preview 08:44

Ecommerce App(Paypal Integration) - Add the Volley and PicassonLibraries Preview 04:22

Ecommerce App (Paypal Integration) - Part 29 - Login the User from the PHP File Preview 05:52

Ecommerce App (Paypal Integration) - Part 30 - Design the Login Layout Preview 09:43

Ecommerce App (Paypal Integration) - Part 31 - Design the Login Layout Preview 05:54

Ecommerce App (Paypal Integration) - Part 32 - Design the Sign Up Layout Preview 09:57

Ecommerce App (Paypal Integration) - Part 33 - Design the SignUp Layout Preview 12:33

Ecommerce App (Paypal Integration) - Part 34 - Sign Up the user via Android App Preview 08:22

Ecommerce App (Paypal Integration) - Part 35 -Implement the registration process Preview 10:45

Ecommerce App (Paypal Integration) - P36 - Finis the Registration Process Preview 02:25

Ecommerce App (Paypal Integration) - Part37 - Login the User via the Android App Preview 09:18

Ecommerce App - Part38 - Create the Intent for Login Preview Processing..

Ecommerce App - Part 39 - Keep track of the user who is signed up or logged in! Preview 01:51

Ecommerce App (Paypal Integration) -Part 40 -Create a table to hold the products Preview 06:09

Ecommerce App (Paypal Integration) - P41 -Get the Brands and show it on ListView Preview 13:13

Ecommerce App (Paypal Integration) - P42 - Create a Custom Row for the ListView Preview 04:35

Ecommerce App (Paypal Integration) - Part 43 - PHP Get Electronic Products Preview 06:09

Ecommerce App (Paypal Integration) -P44 - Android Fetch E-Products from Database Preview 40:57

Ecommerce App (Paypal Integration) - P45 - Initialize Row UI Components Preview 09:41

Ecommerce App- P46 - Implement the Abstract Methods of the EProductAdapter Class Preview 11:33

Ecommerce App-P47 -Create Temporary Order Table and Insert Object into it in PHP Preview 06:25

Ecommerce App - P48 - Dialog Fragment and Temporary Place Order Table Preview 35:27

Ecommerce App (Paypal Integration) -Part 49- PHP Get Temp Orders as JSON Objects Preview 08:32

Part 50 - Android Get Temporary Orders as JSON Objects Preview 14:01

Part 51 - Create a Menu for the CartProductsActivity Preview 09:29

Part 52 - PHP Delete objects from Temporary_Place_Order Table Preview 03:09

Part 53 - Android Decline the order by connecting to the database Preview 06:25

Part 54 - PHP Verify the Orders and Create the InVcoice Preview 22:01

Part 55 - Implement the verify_order PHP file in Android! Preview 06:34

Part 56 - Write PHP Codes to calculate the Total Price of the temp products Preview 07:36

Part 57 - Android Get the Total Price from the server! Preview 08:38

Part 58 - Paypal Integration Process Preview 32:45

E-Commerce App Source Code Preview 00:02

PHP Source Code Preview 00:02

E-Commerce App - POST Method Preview 07:41

Students will learn how to use POST method instead of GET when posting sensitive data.

Understanding Command Line Tool Preview 19:01

Understanding Version Control Preview 09:48

Understanding Git (Version Control Tool) Preview 38:39

Git Paralel Development Preview 47:32

Integrating Git into Android Studio Preview 17:00