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