Course Highlights
  • Write clean code with Kotlin
  • Avoid ceremony and boilerplate code around Android APIs
  • Use functional programming to write concise, expressive code
  • Create Android apps with Kotlin
  • Write readable SQLite transactions using extension functions in Kotlin
  • Use the Kotlin Android Extensions to avoid findViewById()
  • Create multiple activities, layouts and menus
Curriculum

3 Topics
What You'll Learn in this Course
Make the Most of this Course!
Who's Using Kotlin?

5 Topics
Introduction
Install the Java JDK 8
Install Android Studio
Set Up a Project in Android Studio
Recap

17 Topics
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
Challenge: Reading the User's Name from the Console
Challenge: Using Collections and Loops
Named Arguments & Default Parameter Values
Exceptions
Why No Checked Exceptions?
Recap

17 Topics
Introduction
What is Functional Programming?
Functional Programming II
Lambdas & Higher-Order Functions
Use map() and flatMap()
Use take() and drop()
Use zip()
Challenge: Functional Programming for Data Analysis
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
Recap

24 Topics
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 Contravariance: "out" and "in"
Recap

7 Topics
Introduction
Create the App Project
Understand the Android Versions
Create a CardView Layout and Add UI Elements
Use the "Kotlin Android Extensions"
Challenge: Set Texts and Image Source Programmatically
Challenge Solution

6 Topics
Introduction
What is a RecyclerView?
Create the Data Class "Habit"
Implement the "HabitsAdapter" - Part I
Implement the "HabitsAdapter" - Part II
Implement the "HabitsAdapter" - Part III

10 Topics
Introduction
Add a Menu
Add a Second Activity
Use Intents to Switch Activities
Challenge: Build the Activity Layout
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"

15 Topics
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: Improve SQLiteDatabase.query(...)
Challenge Solution
Challenge: Improve Cursor.getString(...)
Challenge Solution
Add Files to the Virtual Device (Excursus)

1 Topic
Bonus: Reach Your Full Potential As A Software Developer

  Write a Review

Kotlin for Android & Java Developers: Clean Code on Android

Go to Paid Course