Exceptional Training

Kotlin Training Course

28 Jan London
request info

Capita Marks and Spencer Telefonica Cisco BBC Lloyds Sony

Kotlin training course (code: KOTLIN)

Develop Android Apps or Java Backend applications with Kotlin - Reach A Growing And Powerful Mobile Web Audience



Our Kotlin training course will focus on teaching Kotlin from beginner to an intermediate/advanced level.

Typically Kotlin is used for Development of Android Apps or Backend applications with Java.

This course will help delegates understand the pure Kotlin Language and Best practices for using it in anger. Delegates can choose to keep Labs as "vanilla" Kotlin, or to apply to Android or Java development.

In this course we will focus on practical Kotlin development. We will briefly go over the Kotlin language in the ways it is equivalent to Java. We will spend a bit of time introducing concepts that Kotlin provides that are not found in Java.

Following that, we will begin to learn Kotlin development by creating an Android application using all of the modern libraries and technologies that are necessary for a successful commercial application.

We will set up a strong foundation by putting in place an MVP architecture that is both flexible and scalable. We will use reactive programming (RxAndroid) to achieve the network communication on background threads. Interactions between the View and the Presenter will be done via RxBinding methods to further decouple the Presenter. Finally, we will be implementing unit testing for our presenters, as well as UI testing.

This will allow us to build an application that is scalable, and that allows for Continuous Integration and Continuous Delivery to be set up.

In addition to that, this methodology of development allows for large team collaboration using Git and a versioning system (GitHub). It will allow us to be adaptable and flexible and permit using Agile development methodologies like Scrum or Kanban.



Software developers with Java or equivalent language skills looking to develop commercial applications on Google's Android platform or Backend Applications with Kotlin


Basics of Kotlin

    Objects and variables
    Type inference
    Nullability and smart casting
    Composite data types
    Control structures

Object-Oriented Programming FOR KOTLIN

    Classes and properties, interfaces, abstract classes, enums, overriding methods and properties
    Primary constructors and initialization blocks
    Secondary constructors
    Data classes
    Object expressions
    Object declarations and companion objects
    Nested classes
    Visibility modifiers
    Sealed classes


    Vararg parameters
    Single-expression functions
    Default arguments and named argument syntax
    Top-level functions and properties
    Local functions

Function-oriented programmingFOR KOTLIN

    Functional type
    Anonymous functions
    Lambda expressions
    Simpler lambda notation
    Lambda functions under the hood
    Higher-Order Functions
    Last lambda in argument convention
    Inline functions
    Java Single Abstract Method lambda interface and usage of them in Java methods


    Extension functions
    Extension properties
    Function type with receiver, function literal with receiver, referencing extension functions
    Predefined functional literals with a receiver

Domain Specific Language

    Spannables generation
    Making your own DSL

Working with collections and texts

    Collection literals
    Basic collection processing functions
    Collection predicates
    Making collection flat and grouping it
    Accumulating collections
    Converting between collection types
    Functions used to process texts and to accumulate collections to texts


    Covariance, contravariance, and invariance
    Common issues with bounded wildcards in Java
    Declaration-site variance, use-site variance, and type projection
    Declaring single and multiple constraints on types


    Referencing types, classes, functions, and properties
    Kotlin references vs Java references
    Structure and types of references

Interoperability Between Kotlin and Java

    Guidelines for mixed language codebases
    Calling Java libraries from Kotlin
    Preparing Kotlin to be used from Java
    Annotations to work with Java annotation processing libraries

Android KTX


  • Basics of Kotlin
  • Object-Oriented Programming
  • Functions
  • Function-oriented programming
  • Extensions
  • Domain Specific Language
  • Working with collections and texts
  • Generic
  • Reflection
  • Interoperability Between Kotlin and Java
  • Android KTX
Receive the latest version of this course into your inbox


28th Jan 2019 - 3 days £1795

see all dates


Show Discount for this course


  Bring a JBI course to your office
  and train a whole team onsite
  0800 028 6400
or request quote

  You can customise this course to
  suit your exact needs here
  0800 028 6400 or request quote

Get in touch
0800 028 6400

You may also be interested in ...

Show all related courses

Excellent feedback, consistently !

►"great tips help reduce build times"
► "we got access to exclusive content"
► "Short course meant less time off"

►"what an inspiring trainer !"
► "colleagues at 2 sites joined via web"
► "I passed my exam the next day"

Newsletter ! Get exclusive news about upcoming programs, technical insights & special offers