Mastering Kotlin for Android Development
3.5 (12 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
58 students enrolled

Mastering Kotlin for Android Development

Master the features of Kotlin by creating stunning Android applications
3.5 (12 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
58 students enrolled
Created by Packt Publishing
Last updated 10/2017
English
English [Auto]
Current price: $86.99 Original price: $124.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 2.5 hours on-demand video
  • 1 downloadable resource
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Explore Language Syntax extensively
  • Understand Lambdas and Higher Order Functions
  • Get the grips on Extension functions and Data classes
  • Learn about generics (Types with parameters)
  • Understand OO Programming with Kotlin
  • Explore the Null safety features of Kotlin
  • Grasp the Kotlin Standard Library API
  • Learn Async Programming with Coroutines
  • Use Kotlin to build a DSL
Course content
Expand all 35 lectures 02:33:25
+ Introduction to Kotlin
5 lectures 19:16

This video provides an overview of the entire course.

Preview 03:04

In this video, we will see what are the language features and how does it look like compared to Java.

Kotlin’s Primary Features
07:15

This video explains what are the language features, how does it look like compared to Java.

Kotlin Compiles to Java Bytecode
01:51

What can you build with Kotlin?

  • Use of Kotlin in Android apps
  • Use of Kotlin in web apps
  • Use of Kotlin in desktop apps 
Kotlin Applications
03:36

How to setup the IDE?

  • Install Kotlin plugin
  • Configure Gradle for Kotlin
  • Create first Kotlin file 
Using Kotlin in Android Studio
03:30

Now that you are done with the videos of section 1, let’s assess your learning. Here, are a few questions, followed by 4 options, out of which 1 is the correct option. Select the right option and validate your learning! The answers are provided in a separate sheet

Introduction to Kotlin
3 questions
+ Kotlin Basics
5 lectures 21:53

In this video, we will see what the properties in Kotlin are and learn how they are different from Java.

Preview 05:37

What are the functions and function variables in Kotlin?

  • Learn to declare a function and explore keywords for declaring variables
  • Explore default visibility modifiers and study the read only and mutable variables
  • Understand the use of functions in Kotlin and use variables inside the functions 
Functions
04:32

What are default function arguments?

  • Learn default functions arguments
  • Annotate functions to be used from Java
  • Explore calling functions with default arguments 
Default Function Arguments
02:19

What are named function arguments?

  • Learn to define named function arguments
  • Understand how to call them in Kotlin
  • Explore calling functions with named arguments 
Named Function Arguments
01:11

What are Control flow structures in Kotlin and how are they different from Java?

  • Explore If and When statements in Kotlin
  • Study Do/While loops and For loops
  • Learn to handle exceptions with try/catch/finally 
Control Flow
08:14

Now that you are done with the videos of section 1, let’s assess your learning. Here, are a few questions, followed by 4 options, out of which 1 is the correct option. Select the right option and validate your learning! The answers are provided in a separate sheet

Kotlin Basics
3 questions
+ Classes and OOP
7 lectures 34:00

What are classes and constructors?

  • Learn to declare a class
  • Declare primary and secondary constructor
  • Initialize classes 
Classes and Constructors
05:48

In this video, we will see which visibility modifiers are available.

Visibility Modifiers, Differences from Java
03:01

What are the Interfaces in Kotlin?

  • Explore interface declaration
  • Implement the interfaces
  • Learn the overriding methods 
Interfaces
03:59

In this video, we will learn what is object Oriented programming in Kotlin and extending classes.

OOP, Extending Classes
05:16

What is Kotlin’s null safety?

  • Achieve null safety in Kotlin
  • Explore operators for dealing with null able types
  • Understand smart casting 
Null Safety and Smart Casts
05:33

What are compiler generated methods?

  • Define data classes
  • Explore hashCode, equals and toString methods generation
  • Understand equals and reference equals checks  
Data Classes
04:22

What is object keyword in Kotlin?

  • Learn to create singletons
  • Create companion objects
  • Create anonymous inner classes 
Object Keyword
06:01

Now that you are done with the videos of section 1, let’s assess your learning. Here, are a few questions, followed by 4 options, out of which 1 is the correct option. Select the right option and validate your learning! The answers are provided in a separate sheet

Classes and OOP
4 questions
+ Lambdas and Higher Order Functions
6 lectures 29:07

What are lambdas and how they improve the readability of the code?

  • Explore the code without lambdas and its verbosity
  • Learn about lambda syntax
  • Defining lambdas 
Lambdas
07:02

What are the Function types in Kotlin?

  • Declaring a function type
  • Invoking function types
  • Explore member references 
Higher Order Functions and Member References
05:00

What are the useful functions from the standard library API?

  • Explore the collection extension functions
  • Learn about functional like programing with collections extension functions
  • Explore other useful functions 
Standard Library API
07:48

What is the functionality in existing types?

  • Explore extension functions syntax
  • Calling extension functions
  • Calling extension functions from Java 
Extension Functions
03:20

How to invoke lambdas on a “Receiver” object?

  • Learn about receiver functions syntax
  • Invoking receiver functions
  • Explore receiver functions from standard library 
Receiver Functions
02:29

What are inline functions and how do they reduce the overhead of lambdas?

  • Explore inline functions syntax
  • See how in lining works
  • Learn about in lining restrictions  
Inline Functions
03:28

Now that you are done with the videos of section 1, let’s assess your learning. Here, are a few questions, followed by 4 options, out of which 1 is the correct option. Select the right option and validate your learning! The answers are provided in a separate sheet

Lambdas and higher order functions
3 questions
+ Advanced Kotlin
5 lectures 19:46

What are Generics in Kotlin?

  • Understand the basics of Generics
  • Explore Classes and methods with generic type parameters
  • Putting constraints to generic types 
Generics
06:19

How to avoid Type erasure limitations?

  • Explore type erasure
  • Access generic parameter at runtime with reified generics
  • Implement reified generics  
Reified Generics
02:32

What is operator overloading in Kotlin?

  • Understand the functioning of operator overloading in Kotlin
  • Explore syntax for operator overloading
  • Learn from the examples of overloaded operators with collections 
Operator Overloading
03:19

What are delegated properties and what are their benefits?

  • Reusing code with delegated properties
  • Explore delegated properties requirements and syntax
  • Implement delegated properties with Kotlin compiler 
Delegated Properties
04:19

What are the differences between Java and Kotlin type system?

  • Understand the Kotlin base type
  • Explore List and map interfaces in Kotlin
  • Use reflection on Kotlin types 
Kotlin Type System
03:17

Now that you are done with the videos of section 1, let’s assess your learning. Here, are a few questions, followed by 4 options, out of which 1 is the correct option. Select the right option and validate your learning! The answers are provided in a separate sheet

Advanced Kotlin
3 questions
+ Concurrency and Coroutines
4 lectures 17:14

In this video, we will understand the options provided by Kotlin for concurrent programming.

Preview 02:49

The aim of this video is to explain coroutines.

Coroutines Explained
04:55

In this video, we will use library functions to start coroutines.

Building Coroutines
05:04

This video will help you learn from the examples of Coroutine usage in Android.

Coroutines in Action
04:26

Now that you are done with the videos of section 1, let’s assess your learning. Here, are a few questions, followed by 4 options, out of which 1 is the correct option. Select the right option and validate your learning! The answers are provided in a separate sheet

Concurrency and Coroutines
3 questions
+ Kotlin DSL
3 lectures 12:09

In this video, we will understand what domain specific languages are.

Domain Specific Languages
02:24

In this video, you will learn how to use Kotlin to build a validation DSL.

Building a DSL in Kotlin
03:31

The aim of this video is to explain Kotlin features that make building DSLs easy.

Kotlin DSL Constructs
06:14

Now that you are done with the videos of section 1, let’s assess your learning. Here, are a few questions, followed by 4 options, out of which 1 is the correct option. Select the right option and validate your learning! The answers are provided in a separate sheet

Kotlin DSL
3 questions
Requirements
  • Basic knowledge of Java is recommended.
Description

Kotlin is a programming language intended to be a better Java, and it's designed to be usable and readable across large teams with skill and discipline variances. Kotlin is a language that helps developers build amazing applications in an easy and effective way.

The video begins by giving you strong grasp of the Kotlin features in context, independent of any platform. We continue by exploring all the features of Kotlin language that make the language better alternative to Java. It will show you the environment setup, and the difficulty level will grow steadily with the features covered next.

Moving on, we’ll introduce you to using the IntelliJ IDE, which plays an integral role in Kotlin development. We’ll cover Kotlin’s basic programming concepts such as functions, lambdas, properties, object-oriented code, safety aspects, type parameterization, and finally concurrency, which will guide you to write Kotlin’s code to production. By the end of the video, you will be proficient in using Kotlin for any kind of app development.

About the author

Marko Devcic is a Software Engineer currently working as an Android Developer for Austrian company mySugr in Vienna. He has a Master's degree in Engineering from University of Zagreb in Croatia. Over the years, he has worked with various technologies and languages, mostly C# and Java.

He is passionate about technology and software development. He loves reading about programming languages and writing simple and clean code.

In his spare time, he writes code for his personal projects, and contributes to open source projects. You can follow him on Github (username deva666). He also likes to write about Kotlin, C#, and programming in general on his web page.

Who this course is for:
  • The video is for developers who want to learn Kotlin.
  • The course is intended for all levels, and developers with prior knowledge can benefit because the course also covers advanced topics of Kotlin.