Kotlin Essentials

This 2-day course introduces Kotlin, a new language for Android development. We will cover Kotlin development techniques, language principles, and how to migrate existing Java projects to Kotlin. We will also show why Google has pinned Kotlin as the future of Android development.

The Basics

Understand writable and read-only properties and take a look at Kotlin’s type system Work with conditionals and control flow statements and gain the additional support of control flow statements as assignable expressions Learn about nullable and non-nullable types and how to work with null safely Understand exceptions and how they may be safely handled

Collections and Functions

Learn how to represent series of data with mutable and read-only collection types See how to work with data for loops, while loops, break, and continue Take a closer look at collections, including destructuring, type checking, smart casting, and type parameter constraints Learn about defining package- and file-level functions and specifying their return types See how to pass functions as arguments, lambda notation, function references, and function inlining by example Use functional paradigms to clean up code, including map, flatMap, filter, and reduce, as well as how to define your own functional operators

Objects, Inheritance, and Extensions

Work with object-oriented programming concepts Learn about primary and secondary constructors, equality, and preconditions for object construction Learn how to use data classes and enums to represent data and algebraic data types Override classes, and define abstract, open or closed classes Understand extension functions to safely add behavior to classes you don't control

Advanced Kotlin

Learn how to interoperate with Java classes and supports Java compatibility Take a peek at the future of multithreading with coroutines Use extensions with receivers to define a domain-specific language