Table of Content
 

Kotlin Pre-requisites

  • Introduction
  • Install the Java JDK 8
  • Install Android Studio
  • Set Up a Project in Android Studio

Kotlin Basics

  • Introduction
  • Variables and Data Types
  • Null Safety in Kotlin
  • Conditionals: "if" Expressions
  • Conditionals: "when" Expressions
  • Collections
  • "for" Loops
  • "while" Loops
  • Functions
  • Get Ready for Serious Kotlin Coding (Set up IntelliJ IDEA)
  • Create a main() Function
  • Named Arguments & Default Parameter Values
  • Exceptions
  • Why No Checked Exceptions?

Functional Programming

  • Introduction
  • What is Functional Programming?
  • Functional Programming II
  • Lambdas & Higher-Order Functions
  • Use map() and flatMap()
  • Use take () and drop()
  • Use zip ()
  • Chain Functions Together
  • Lazy Sequences
  • Case Study: Performance of Lazy Sequences
  • Code Along: Infinite Lazy Sequence of All Prime Numbers
  • Use "let" Operator for Scoping and Nullables
  • Use "with" for Many Calls on the Same Object
  • Use "use" for Closeable (like try-with-resources)
  • Inline Functions

Object-Orientation in Kotlin

  • Introduction
  • Classes
  • Properties with Getters & Setters
  • Primary and Secondary Constructors
  • Methods
  • Extension Functions
  • Data Classes
  • Enums
  • Inheritance
  • Code Along: Inheritance Example
  • Abstract Classes
  • Interfaces
  • Overriding Rules
  • Smart Casts
  • Visibilities
  • Companion Objects for "Static" Members
  • Object Declarations as Singletons
  • Packages and Imports
  • Generic Classes
  • Generic Functions
  • Covariance
  • Covariance: Java vs Kotlin
  • Covariance vs. Contra variance: "out" and "in"

Kotlin for Android Fundamentals

  • Introduction
  • Create the App Project
  • Understand the Android Versions
  • Create a CardView Layout and Add UI Elements
  • Use the "Kotlin Android Extensions"

Android RecyclerView

  • Introduction
  • What is a RecyclerView?
  • Create the Data Class "Habit"
  • Implement the "HabitsAdapter"

Android Activity

  • Introduction
  • Add a Menu
  • Add a Second Activity
  • Use Intents to Switch Activities
  • Challenge Solution
  • Let Users Choose an Image
  • Get the Selected Image Back (onActivityResult)
  • Show Error Messages to the User
  • Code Along: An Extension Function for "EditText"

Kotlin and SQLite

  • Introduction
  • Introducing SQLite
  • Define the Contracts
  • Implement the Database Helper
  • Store a Habit to SQLite
  • Implementing Secure Transactions (that support Rollback)
  • Clean Code: Improving Transactions in Kotlin
  • Clean Code: Further Improving Transactions and Performance
  • Store the Habit in "CreateHabitActivity"
  • Read All Habits from SQLite
  • Challenge Solution
  • Challenge Solution
  • Add Files to the Virtual Device


Apply for certification

https://www.vskills.in/certification/kotlin-developer