The Complete Android Kotlin Development Masterclass: 4-in-1
4.1 (10 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.
61 students enrolled

The Complete Android Kotlin Development Masterclass: 4-in-1

Apply Kotlin's next-gen concepts for Android applications to make your Android development consistent, faster, and much
4.1 (10 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.
61 students enrolled
Created by Packt Publishing
Last updated 8/2018
English
English [Auto]
Current price: $139.99 Original price: $199.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 12 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 the different parameters and functions in Kotlin and know how to mimic the concept of static in Kotlin using companion objects along with Object-Oriented Kotlin programming
  • Learn how Kotlin tackles many of the drawbacks of Java such as verbosity and null safety
  • Implement Lambdas and higher-order functions in Kotlin
  • Learn how to incorporate Kotlin into new/existing Android Java-based projects
  • Build a Stock Trading app using higher-order functions in Kotlin
  • Use Anko to make your code clean and easy to read, and smooth out the rough edges in the Android SDK for Java
  • Build amazing apps and projects, and deploy/publish them on Google Play Store to get to grips with the Kotlin language
Course content
Expand all 115 lectures 12:09:36
+ Learn Kotlin Programming
41 lectures 04:28:21

This video provides an entire overview of the course. 

Preview 03:52

Get a big picture of Kotlin                         

  • Get a Kotlin Overview

  • Understand the Evolution of Kotlin

  • Learn Where to use Kotlin

Introduction to Kotlin
07:14

Install the following software’s on your Windows system                         

  • Install Java Development Kit ( JDK ) for JVM

  • Install IntelliJ IDEA

Installing Software on Windows
08:19

Install the following software’s on your MAC  system                         

  • Install Java Development Kit ( JDK ) for JVM

  • Install IntelliJ IDEA

Installing Software on Mac
06:51

Install the following software’s on your  Linux system                         

  • Install Java Development Kit ( JDK ) for JVM

  • Install IntelliJ IDEA

Installing Software on Linux
10:09

Create and run your first Kotlin app in IntelliJ IDEA                         

  • Understand what is main function

  • Understand what is a Comment

  • Understand How to print a String and numbers

Writing Your First Kotlin Program
11:16

Learn what happens behind the curtain when you compile and run a Kotlin file                         

  • Understand How Kotlin compiler compiles code

  • Understand How Byte Code is executed in runtime environment

Exploring Your First App
03:05

Explore variables and data types in Kotlin                         

  • Explore how much memory each data type consumes

  • Understand the Difference between mutable and immutable values

Exploring Variables and Data Types
07:26

Get hands-on experience on how to use variables and data types in IntelliJ IDEA                         

  • Understand what are Variables and Data Types

  • Learn about Immutable and Mutable Values

Demo – Variables and Data Types
08:05

Print messages using String templates by applying interpolation                         

  • Understand what are String templates and Interpolation

Playing with String Templates
05:47

Explore IF ELSE conditional statements along with IF expressions                         

  • Learn all about conditional If else statements

Kotlin Expressions – If
06:13

Explore WHEN conditional statements, Ranges and using WHEN as expression                         

  • Learn all the in and outs of the WHEN conditional statements

Kotlin Expressions – When
08:29

Explore various types of Loops in Kotlin along with example                         

  • Use FOR Loop

  • Use WHILE Loop

  • Use DO WHILE Loop

Using Loops in Kotlin
09:20

Learn how to handle exceptions in Kotlin                         

  • Explore try, catch and finally block

  • Check out how to organise files in an Kotlin project using Packages

Handling Exceptions
08:14

Explore functions in Kotlin                         

  • Understand what is a function

  • Understand why we need functions

  • Learn How to declare  functions

Introduction to Kotlin Functions
04:29

Get hands-on experience on how to use and declare a function in IntelliJ IDEA                         

  • Write programs using functions

Declaration of Functions
07:07

Explore what is meant by default parameters                         

  • Assign default values to the formal parameters of functions

Exploring the Default Parameters
02:59

Explore the advantages to using Named Parameters to avoid errors                         

  • Learn all about Named Parameters

Using Named Parameters
03:33

Implement Tail Recursive functions in Kotlin                         

  • Explore problem statement while using recursions

  • Find a solution to avoid Stack Overflow Exception

Avoiding Stack Overflow Exception by Using Tail Recursive Function
06:28

Get introduced to Object Oriented Programming in Kotlin                         

  • Understand what is a Class

  • Learn How to create objects

  • Understand the  properties and function in a class?

Defining a Class in Kotlin
08:58

Use primary constructor and init block to initialise properties of a class                         

  • Learn how to use a Constructor

  • Understand what is a init block

Working with Constructors and init Block
09:17

In this video, we will see how Kotlin has great support for Inheritance.                         

  • Explore why do we need inheritance

  • Syntax and basics to implement Inheritance in Kotlin

Exploring Inheritance
07:51

In this video, we will see how Kotlin supports Interface similar to any other OOPs language                         

  • Explore abstract methods in Interface

  • Explore open methods of Interface

  • Define abstract property in Interface

Exploring Interface
11:06

Sometimes we create class to hold data. You’ll explore how to create such classes in this video.                         

  • Explore how to compare data of two class objects using data classes

Using Data Classes
06:18

In this video, we will see that Kotlin has its own way to declare static variables and functions.                         

  • What is singleton?

  • What is object declaration?

  • What is companion object?

Understanding Kotlin Statics
05:49

In this video, we will learn that an object declaration is a way  to define singleton objects in Kotlin which is very similar to Statics  in Java.                         

  • Learn how to declare objects

‘object’ Declaration
05:30

In this video, we will learn that when an object is declared within a class then it is marked companion.                         

  • Explore another way to declare static variables and function in Kotlin.

Using Companion Object
04:00

Explore what is a Lambda expression and Higher-Order Function.                         

  • Check out basics and syntax to declare a Lambda Expression.

  • Learn How to pass a lambda to a Higher-Order function

Introduction to Higher-Order Functions and Lambda Expressions
07:22

Explore the implementation of Lambda expression and Higher-Order Function.                         

  • Get a hands on demo for implementing Higher order functions and Lambdas

Using Higher Order Function and Lambda
07:49

In this video, we will learn what are Closures and how to access a outer scope variable within a Lambda                         

  • Understand that closures are variables defined in outer scope of lambda expression

Working with Closures
04:15

Explore how to use ‘it’ keyword when we have one parameter in a Lambda expression                         

  • Understand all about the “it” keyword

Implement ‘it’ keyword
04:17

Explore using ‘with’ and ‘apply’ keyword to initialise a objects properties.                         

  • Explore the difference between ‘with’ and ‘apply’ keywords.

Implement ‘with’ and ‘apply’ Keywords
03:55

Learn to implement Arrays in Kotlin                         

  • Get Section overview.

  • Explore how elements are indexed in an Array.

  • Explore different variants of for loop to print out elements of an Array

Introduction to Arrays
10:44

In this video, we will understand that the most basic component of a Collection framework in Kotlin is a List.                        

  • Learn how to implement mutable and immutable lists.

  • Perform basic operations on List such as add, remove, replace and delete all.

Exploring Lists – Mutable and Immutable
07:40

In this video, we will understand that Collection framework  provides a special method of ‘filter’ to get the desired elements from a  Collection.                         

  • Explore how to use ‘filter’ on a list.

Filtering Data
04:26

In this video, we will learn that The elements of a collection can be modified using ‘map’ function.                         

  • Learn how to create a new Collection by modifying the values from the original Collection.

Modifying Data
03:42

In this video, we will learn that A Set is a unordered collection of elements that does not support duplicate elements.                         

  • Learn to perform basic operations on Set such as add, remove, replace and clear all.

Exploring Set
04:08

In this video, we will learn that A Map is a Collection that holds object in the form of key-value pair.                         

  • Learn to perform basic operations on Map such as add, delete, replace and clear all.

Exploring Map
06:44

In this video, we will see how Kotlin has great support for Nullable types.                         

  • Explore how to handle null values and avoid Null Pointer Exception.

  • Implement Safe Calls, Safe Calls with Let and Non-null assertion operator.

Handling Null Values
08:23

In this video, we will learn how Kotlin supports extensions which  allow developers to add a function to an existing class without  modifying the class itself.                         

  • Understand Extension functions

Exploring Extension Functions
03:33

In this video we will summarise the course                         

  • Course Summary

Putting it all together: the Power of Kotlin
03:38
Test your knowledge
5 questions
+ Kotlin for Android Developers
26 lectures 02:06:48

This video gives an overview of the entire course.   

Preview 02:33

In this video, we will set up the tools we need to work with Android Studio.                         

  • Explore the various features of Android Studio

  • Learn how to download the installation file

  • Learn how to install Android Studio

Downloading Android Studio
03:38

In this video, we will create, modify, and run our first application.                         

  • Create a new Kotlin enabled application in Android Studio

  • Modify existing code in the Android Studio to print ‘Hello, Kotlin world’ in the emulator

Setting Up Your Project with Kotlin Support
03:17

In this video, we will understand how to create and invoke a simple function in Kotlin and run the application.                         

  • Learn how to create and invoke a simple function in Kotlin

  • Build and run the application

Building Your First Kotlin App
01:50

In this video, we will learn the basic syntaxes in Kotlin and  understand how method overloading and constructor overloading can be  achieved in Java.                         

  • Discuss the basic syntaxes in Kotlin comparing it to Java

  • How Method overloading can be achieved in Kotlin using named arguments

  • Learn how to create constructor in Java and how to implement changes in the primary constructor using init block

Syntax – Classes, Functions, Variables, and Comments
11:18

In this video, we will understand the difference between mutable and immutable variables.                         

  • Use ‘var’ keyword to access the parameters of a constructor throughout the class but not modify it

  • Use ‘val’ keyword to access the parameters of a constructor throughout the class and also modify it

  • Run the application

Mutable and Immutable Variables
04:51

The aim of the video is to explain that data classes are a better substitute for POJOs.                         

  • Discuss the POJOs and how tedious they are to implement/update

  • Understand the downside of POJOs

  • Understand the upside of data classes

From POJOs to Data Classes
07:32

The aim of the video is to explain the four visibility modifiers  in Kotlin and the difference between default modifier in Kotlin and in  Java.                         

  • Understand the four  types of visibility modifiers in Kotlin

  • See the difference between default modifier in Kotlin and default modifier in Java

Visibility Modifiers
02:49

In this video, we will learn what are interfaces and its similarity with Java.                         

  • Discuss interfaces in Java

  • Understand the similarity between interfaces in Kotlin and interfaces in Java 7 and Java 8

Interfaces
05:33

This video explains the four principles of object oriented programming in Kotlin.                         

  • Discuss the encapsulation in Kotlin with examples

  • Discuss the inheritance in Kotlin with examples

  • Discuss the abstraction in Kotlin with examples

  • Discuss the polymorphism in Kotlin with examples

Object Oriented Support and Extending Classes
04:09

This video explains the benefit that Kotlin has of being null-safe.                         

  • Discuss Null safety in Kotlin

  • How to explicitly allow nulls and NPE

  • Discuss Elvis operator and Smart casts in Kotlin

Null Safety and Smart Casts
13:05

This video aims to show how simple it is to make a singleton class and the Kotlin version of anonymous classes.                         

  • Discuss “object” keyword in relation to anonymous classes in Java

  • Discuss “Singletons” in Java

Object Keyword and Singletons
07:00

This video aims to explain the various forms of functions that Kotlin has to offer.                         

  • Understand what are single expression functions and their optional return types

  • Discuss extension functions

  • Discuss infix notation

Functions
07:05

In this video, we will learn what default function arguments are and how it reduces the number of overloads.                         

  • Discuss what are default function arguments

  • Understand how they help in simplifying function overloading

Default Function Arguments
03:33

In this video, we will learn what are named function arguments and how it reduces the number of overloads.                         

  • Discuss what are named function arguments

  • Understand how they help in simplifying function overloading

Named Function Arguments
02:12

In this video we will discuss the control statements in Kotlin                         

  • Discuss “if” expressions in Kotlin with examples

  • Discuss “when” expressions in Kotlin with examples

  • Discuss “for loops” in Kotlin with examples

Control Flow
07:17

The aim of the video is to understand the difficulties of using  findViewById and how Kotlin Android extensions allows to recover views.                         

  • Understand the tediousness of using findViewById

  • Learn what are Kotlin Android extensions

  • Go through a practical example of Kotlin Android extensions

Life after findViewById
03:44

The aim of the video is to understand how Kotlin Android extensions can be integrated in our code.                         

  • Enable Kotlin Android extension

  • Import from Kotlinx in the MainActivity, which is the library for Kotlin Android extensions

Integrating Kotlin Android Extensions in Our Code
01:50

The aim of the video is to understand how to recover views in Kotlin using findViewById and using Kotlin Android extensions.                         

  • Recover views in Kotlin using findViewById

  • Recover views in Kotlin using Kotlin Android extensions

Recovering Views from XML
03:44

The aim of the video is to learn how Kotlin Android extensions works by looking at Java version of one of the classes.                         

  • Learn how to see Java representation of any Kotlin class

  • Understand how Kotlin Android extensions works by investigating the Java version of the Kotlin class

The Magic behind Kotlin Android Extensions
04:15

The aim of the video is to understand how to recover views in Fragments and its effect in Kotlin Android extensions.                         

  • Create a new class extending fragment

  • Understand what happens in the ‘OnDestroyView’ method

  • Decompile the Kotlin class to see its Java version

Kotlin Android Extensions on Fragments
02:56

The aim of the video is to understand that benefits of creating a  custom view and make it compatible with Kotlin Android extensions.                         

  • Understand why is it tedious to set the name and price of the stock manually

  • Create a custom View to cleanly display a stock’s information

  • Modify the custom View to be compatible with Kotlin Android extensions

Kotlin Android Extensions on a Custom View
06:07

The aim of the video is to understand how nested Views are handled by Kotlin Android extensions.                         

  • Understand why we can only recover the views within a container that are direct children of that container

  • Prove that by looking at Kotlin Bytecode and recovering the java file

Recovering Views from Another View
02:26

The aim of the video is to explore some of the new features  available in v1.1.4 of Kotlin Android extensions and how to implement  them.                         

  • Discuss some of the new features in v1.1.4 of Kotlin Android extensions

  • Learn how to enable the experimental features but updating the build.gradle file

Kotlin Android Extensions in 1.1.4
01:45

The aim of the video is how wecan implement Parcelable interface easily using Kotlin Android Extensions                         

  • Learn what the Parcelable interface does

  • Understand how Kotlin Android extensions v1.1.4 can be used to implement the Parcelable interface easily

Kotlin Android Extensions to Implement Parcelable
09:05

The aim of the video is to understand how to customize the way the cache is built.                         

  • Annotate the container with the keyword “ContainerOptions” and pass a CacheImplementation object to it

Customizing the Cache Build
03:14
Test your knowledge
5 questions
+ Applied Kotlin for Android Application Development
20 lectures 02:23:32

This video gives an overview of the entire course. 

Preview 03:45

The aim of the video is to understand lambda expression in Kotlin.           

  • Learn the expression syntax of Lambda

  • Explore Lambda as the last parameter in a function

  • Explore the implicit name for Lambda expression – it

Lambdas
06:11

In this video, we will explore functions in Kotlin and learn more about higher order functions.           

  • Understanding that functions are first class citizens in Kotlin

  • Explore higher order functions

Higher Order Functions
04:57

In this video, we will learn how we can use a special declaration  known as extension functions to extend a class with a new functionality  without inheriting from any class or by using design patterns. 

  • Learn how to add new functionality without using decorator pattern

  • Understand extension functions in detail

  • Learn how to use nullable receivers for extension functions

Extension Functions
04:42

The aim of the video is to understand how we overcome the shortcomings of higher order functions by inlining the parameters. 

  • Understand what are inline functions

  • Explore how to inline only certain parameters

Inline Functions
12:00

This video introduces the concept of interface in Kotlin and also explains how we can implement an interface with an example.

  • Understand the concept of interface

  • Learn how to implement an interface

  • Implementing Interfaces

Implementing Interfaces
04:50

Unlike Java, in Kotlin we can declare properties in interface.  This video helps us to understand how to add properties to an interface  and accessing them.

  • How to add properties to an interface

  • Understand how to access properties from an interface

  • Explain the properties of interfaces

Properties in Interfaces
02:07

In Kotlin, a class can implement multiple interfaces. In this  video, we will learn how this can be achieved. This video also helps us  to understand how to resolve overriding conflicts that might arise while  implementing them.

  • Learn how to implement multiple interfaces

  • How to resolve overriding conflicts while implementing multiple interfaces

  • Resolve overriding conflicts

Resolving Overriding Conflicts
05:21

The aim of the video is to understand how we can implement  operator overloading in Kotlin with an example and learn more about  unary and arithmetic operators.           

  • Implement operator overload

  • Discuss unary operators

  • Discuss increments and decrements

Operator Overload
09:39

The aim of the video to understand what is implementation by delegation in Kotlin and how we can override the interface members.           

  • Understand implementation by delegation

  • Override interface members

Delegation
06:32

In Kotlin, we can implement a certain kind of properties only once  and put them in a library. This video explains the concept using  property and lazy delegates.           

  • Understand what is primary delegation

  • Explore Lazy delegate

Property Delegation
08:05

Just like in Java, null pointer exception is a pitfall in Kotlin.  In this video, we will learn how to deal with it Kotlin and discuss safe  call and Elvis operator in Kotlin.           

  • Understand how to deal with null pointer exception in Kotlin

  • Understand the differences between nullable and non nullable references

  • Discuss safe call operators

Null Safety
11:06

Unlike Java, in Kotlin have sealed classes, which is an abstract  class and allows to be extended by subclasses only within the sealed  class. This video explores sealed class and explains the benefits of  using it.           

  • Explore sealed classes

  • Understand the benefits of using sealed classes

Sealed Classes
09:48

When a fixed set of constants are required in Kotlin, we can use  enum. This video helps us to understand how to initialize enum classes  in Kotlin and working with enum constants.           

  • Understand how to initialize enum classes in Kotlin

  • Discuss anonymous classes with enum constants

  • Explore working with enum constants

Enum Classes
10:00

In this video, we will learn about the library Anko and how it can help us build apps more easily.

  • Explain what Anko is (it’s a library)

  • Discuss some of the components of Anko

  • Show how to add it to our project

What Is Anko?
06:09

In this video, we will learn how to create Intents in a less verbose way than normal.

  • Show how to add commons library

  • Walk through typical way of making an intent

  • Show how to make an intent with Anko

Simple Intents, Finally!
08:27

In this video, we will learn a simple way to show dialogs and toasts using Anko.

  • Show how to add commons library and design library

  • Walk through typical way of showing a toast

  • Show examples of toasts, snackbar, alerts, progress dialogs using Anko

Dialogs and Toasts
11:46

In this video, we will learn how to incorporate flexible logging into our app using Anko.

  • Show how to add commons library and design  artifact

  • Walk through typical way of showing a log in Android

  • Show how to use a simple Anko log

  • Show how to customize the tag name for the logs

Logging
04:16

In this video, we will show how to use AsyncTask in Kotlin, and how to use bg() which is much simpler.

  • Implement an arbitrary AsyncTask

  • Change the AsyncTask to a bg function

Background Threads
03:28

In this video, we will learn how to create a signed APK of our app and publish it to Google Play.

  • Create a signed APK using the wizard

  • Create a page for our app on Google Play

  • Upload the APK file to our app page

  • See our app published on Google Play

Preparing for Google Play
10:23
Test your knowledge
5 questions
+ Android App Development with Kotlin
28 lectures 03:10:55

This video gives an overview of the entire course. 

Preview 05:35

Get a big picture of Kotlin.                         

  • Get an Overview of Kotlin

  • Understand Evolution of Kotlin

  • Understand Where to use Kotlin

Introduction to Kotlin
07:23

Install the following softwares on your Windows or Mac or Linux.                         

  • Know your software requirements

  • Setup Android Studio

Installing Softwares on Windows, Mac, and Linux
06:11

Get started with creating Android apps using Kotlin.                         

  • Create your first Android app

  • Setup Android Virtual Device or Emulator

  • Setup Android SDK

Creating Your First Android App Using Kotlin
10:13

Learn to run your Android app in Emulator.                         

  • Walk through the project folders and files

Running Your First Android App Using Kotlin
07:28

Explore the important project files and directories.                         

  • Section conclusion

Exploring Project Structure
07:12

Get introduced to basics of Android app.                         

  • Understand what is a Activity

  • Understand what is a Layout or User Interface

  • Understand what are Views

Activity, User Interface, and Views
08:27

Learn to design layouts in Android and handle Button click events.                         

  • Learn about Log Cat

  • Learn to display Toast to user

Design Layout and Make App Functional
07:55

Create a new Activity and navigate to it.                         

  • Create a new Activity

  • Design Layout for it

  • Navigate to the the new Activity

Navigating Between Activities
11:11

Learn how to pass data from one Activity to another.                         

  • Get introduced to Explicit intent to share data within app

Using Explicit Intent to Share Data
08:34

Learn how to pass data from one Activity to outside apps such as Whatsapp, Gmail, Hike.                         

  • Get introduced to Implicit intent to share data outside the app

Using Implicit Intent to Share Data
09:10

Get introduced to RecyclerView and CardView.                         

  • Learn various variants of RecyclerView

  • Understand How does RecyclerView and CardView looks like

Introduction to RecyclerView and CardView
06:22

Add RecyclerView and CardView dependency in your project.                         

  • Learn how to add RecyclerView

  • Learn how to add CardView

Adding RecyclerView and CardView
05:08

Use data class to create model class for list items.                         

  • Create a static data supplier to supply list of objects

Define Model Class
02:57

Create a custom adapter class for RecyclerView.                         

  • Define custom adapter class

  • Create the adapter class

Creating Adapter Class
07:04

Provide a Layout orientation to the RecyclerView.                         

  • Learn how to set an adapter to a RecyclerView

Link RecyclerView and Custom Adapter
08:29

Perform code cleanup.                         

  • Learn to use Kotlin Standards and code convention

Code Cleanup
07:08

Implement Extension function.                         

  • Understand what is Extension function

  • Learn the implementation of the extension 

Implementing Extension Function
05:22

Implement Default Parameters in Android project.                         

  • Understand how to use Default parameters

Using Default Parameters
02:07

Learn to make your code robust by using Null Safety Operators.                         

  • Use Safe Call Operator

  • Use Safe Call with Let

Applying Null Safety
04:06

Define Static variables in Kotlin.                         

  • Use Object Declaration

  • Use Companion Object

Using Object Declaration and Companion Object
08:18

In this video, you will learn to Localize Strings in your Application and make it usable by people of different Locale.                         

  • Integrate French Language in your app

Performing String Localization
11:30

Learn to update application Launcher icon.                         

  • Use Image Asset Manager

Updating App Launcher Icon
05:19

Customize the app’s colors.                         

  • Update Primary Color

  • Update Primary Color Dark 

  • Update App Accent Color

Styling App – Material Design Colors
06:08

Customize the app’s Theme.                         

  • Learn to apply predefined themes to your app

Styling App – Applying Themes
03:02
Creating a Developer Account
01:53

Export Signed APK.                         

  • Explore what is APK

  • Learn how to use Key Store File to generate APK

Creating APK – Exporting our App
05:15

Make your app live in Google Play Store.                         

  • Learn to take screenshot of your application using Screen Capture

  • Fill details of app on Developer Console

Publishing App to Google Play Store
11:28
Test your knowledge
4 questions
Requirements
  • No prior knowledge of Kotlin is required.
Description

Kotlin is a statically typed language whose syntax is more expressive and concise. Kotlin has been adopted by Google as a first-class language for developing Android apps. Since then, Kotlin has gained a huge popularity worldwide among developers due to its highly appreciable features, which you'll be learning in this course. If you're a developer who wish to build Android apps in an easy and effective way then migrate to Kotlin with this much effective course.

In this comprehensive 4-in-1 course, you will learn step by step the basics of Kotlin and will be ready to take the plunge into a more advanced stage. This learning path teaches you how to easily build Android applications using the Kotlin-Android extension plugin. You will also learn how to style your application, publish it on Google Play Store, and make it available to the world. It is a seamless blend of text, videos, code examples, and assessments that will help you, master Kotlin for Android development efficiently as you progress.

This training program includes 4 complete courses, carefully chosen to give you the most comprehensive training possible.

The first course, Learn Kotlin Programming, begins with showing you how to set up Kotlin environment and install Intellij IDEA to write Kotlin code. You will then dive into the basics of Kotlin such as variables, data types, string templates, expressions, null values, and loops. You will also explore object-oriented programming aspect such as interfaces, Kotlin classes and will be able to write functions in Kotlin. Next, you will learn functional programming in Kotlin using Lambdas and higher-order functions. Finally, you will explore the collection framework and perform operations such as filtering and sorting using predicates and flatMaps in Kotlin.

 The second course, Kotlin for Android Developers, starts off with introducing you to Android Studio where you will build your first application in Kotlin. You will then delve into the Kotlin Toolbox for Kotlin-Android extensions. You will also see the comparison between classes and functions, and control flow and loops. Next, you will understand how Kotlin fixes Java's drawbacks such as verbosity and null safety. Finally, you will learn how to build a Stock Trading app entirely in Kotlin while comparing some parts with Java to ease the transition.

 The third course, Applied Kotlin for Android Application Development, starts off with explaining some of the things that makes Kotlin stand out such as inline functions and null safety.  You will then learn about Anko, a Kotlin library library which makes Android application development faster and easier.You will understand how Anko makes your code clean and easy to read and smoothest out the rough edges in the Android SDK for Java. You will also publish the app you built during the course to get an overall end-to-end experience of Kotlin Android application development.

 The fourth course, Android App Development with Kotlin, will help you master Kotlin and build effective Android applications. This course teaches you how to easily create Android applications using the Kotlin-Android extension plugin. You will then learn how to implement Kotlin features such as Object-oriented features, companion objects, and Kotlin classes in your Android applications. You will also learn how to style your applications, publish it on Google Play Store, and make it available to the world.

By the end of this Learning Path, you will be proficient in using Kotlin for Android application development.

Meet Your Expert(s):

We have the best work of the following esteemed author(s) to ensure that your learning journey is smooth:

Book of Brains creates and distributes high-quality technology training content. They aim to teach technology the way it is used in industry and the professional world. Their trained team of professionals delivers hands-on workshops and training content for mobile as well web development technologies. They constantly monitor current industry trends and keep their training materials and workshops up to date. 

Yusuf Saber is an Android developer with over 5 years of professional experience. Yusuf earned his Master's degree in Computer Engineering from Ryerson University in 2011 and started his career as a .NET developer before quickly turning to Android. He has worked for a large range of Android apps, from social to multimedia to B2B and more!

Who this course is for:
  • This Learning Path is for programmers who wish to learn Kotlin for Android development. This Learning Path is also for Android developers who wish to create their own Android applications with Kotlin.