4.58 out of 5
4.58
1000 reviews on Udemy

Kotlin for Android & Java Developers: Clean Code on Android

Become a professional Kotlin developer and write cleaner code in your Android apps than in Java, avoid boilerplate code
Instructor:
Peter Sommerhoff
4,776 students enrolled
English
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
  • Learn to use Kotlin the right way to actually improve your Android app code

  • Write null-safe, concise, and readable code in Kotlin using functional and object-oriented concepts

  • Work around unnecessary boilerplate code when using Android APIs (e.g. SQLite) using higher-order extension functions

  • Use Android Studio effectively to speed up your development workflow

  • Get your questions answered along the way should you ever get stuck


Why Take This Course?

I’ve been involved with Kotlin since late 2015, before it was released in its first stable version. As the instructor of the course “Kotlin for Beginners”, I know which topics students are interested in or get stuck with.

My first Kotlin course is recommended from the official Kotlin website and from the official Android website as a resource to learn Kotlin for Android. So you can be sure to get quality teaching here.

After this course, you’ll be able to confidently use Kotlin for any kind of project — but we’ll of course apply what we learn to Android app development in this course.

What Makes This Course Special?

Since Google’s #IO17 announcement to officially support Kotlin on Android, many new courses on the topic have been released — which is great because it further helps to spread the language.

What makes this course special is that while most other courses do not teach good coding style, this course will focus on producing clean code and teaches you to make use of Kotlin’s amazing features to actually write better code than in Java. This way, you will get a huge benefit using Kotlin instead of Java, e.g. by avoiding boilerplate code around many Android APIs.

What This Course Is NOT

This course is not an Android reference, I assume you already have at least some Android experience. Instead, you’ll learn to write cleaner code for your apps by applying Kotlin’s powerful language features to avoid unnecessary ceremony around Android APIs. Also, at the end of the course, you’ll be able to use Kotlin for any kind of project — not just for Android apps.

What Students Say About Me (taken from “Kotlin for Beginners”)

“TLDR; One of the best Kotlin course for beginners on Udemy! I took some time to write this review and wanted to finish the course THEN watch other courses offered here on Udemy and THEN want to see how good Peter was in teaching me basics of Kotlin so that I can apply the knowledge while writing actual android apps. And I am happy to report that it has helped me immensely. It wouldn’t be wrong if I say that the I was easily understanding the WHYs and WHATs even if the teacher wasn’t explaining in detail in other courses… Thank you Peter! You have taught me well! […]”

– Hasaan

 

Great introduction to Kotlin and programming for beginner programmers!”

– Per-Erik

 

Easy to follow, instructor goes at a great pace that’s friendly for beginners.”

– Ronaldo

 

beyond excellent!!!!

– Mike

 

“Great start so far. Looking forward to a great course. Best online course I have taken, by far!!

– James

 

“Found this to be a very good course to get an overview of Kotlin. Everything was explained clearly and the examples and exercises were very helpful. I’m glad that Peter is considering a course for Android using Kotlin since I’m curious about that subject.”

– James

 

What You’ll Learn

  • How to set up all you need for Android development using Kotlin (e.g. how to install Android Studio)

  • The basics of Kotlin: variables, null safety, immutability, conditionals, loops, functions, exception handling

  • Functional programming in Kotlin: higher-order functions, lambda expressions, lazy evaluation, lazy sequences, the Kotlin standard library

  • Object-oriented programming in Kotlin: all you know from Java + data classes, extension functions, smart casts, object declarations, differences from Java concerning inheritance

  • Android development with Kotlin: creating activities, layouts, menus, click listeners, working around unnecessarily complex Android APIs, improving SQLite transactions with extension functions, avoiding null in your code

 

——

What is Kotlin?

Kotlin is a modern language for the JVM, and the only officially supported language on Android beside Java. It’s developed by Jetbrains, the makers of IntelliJ on which Android Studio is based.

Since Google’s announcement to officially support Kotlin in 2017, interest in the language has radically increased — and with it the number of tutorials, courses, books, and also job offers for Kotlin. It’s a great time to dive into this modern language and get ahead of other Android developers!

With its modern language design that incorporates industry best practices, Kotlin allows you to write highly expressive, understandable and safe code — while being 100% interoperable with Java. You can use any Java classes and methods from Kotlin and the other way around.

This courses shows you what language features I mean, and how you can apply them in order to write world-class code.

Introduction

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

Get Ready

1
Introduction
2
Install the Java JDK 8
3
Install Android Studio
4
Set Up a Project in Android Studio
5
Recap

Kotlin Basics

1
Introduction
2
Variables and Data Types
3
Null Safety in Kotlin
4
Conditionals: "if" Expressions
5
Conditionals: "when" Expressions
6
Collections
7
"for" Loops
8
"while" Loops
9
Functions
10
Get Ready for Serious Kotlin Coding (Set up IntelliJ IDEA)
11
Create a main() Function
12
Challenge: Reading the User's Name from the Console
13
Challenge: Using Collections and Loops
14
Named Arguments & Default Parameter Values
15
Exceptions
16
Why No Checked Exceptions?
17
Recap

Functional Programming

1
Introduction
2
What is Functional Programming?
3
Functional Programming II
4
Lambdas & Higher-Order Functions
5
Use map() and flatMap()
6
Use take() and drop()
7
Use zip()
8
Challenge: Functional Programming for Data Analysis
9
Chain Functions Together
10
Lazy Sequences
11
Case Study: Performance of Lazy Sequences
12
Code Along: Infinite Lazy Sequence of All Prime Numbers
13
Use "let" Operator for Scoping and Nullables
14
Use "with" for Many Calls on the Same Object
15
Use "use" for Closeable (like try-with-resources)
16
Inline Functions
17
Recap

Object-Orientation in Kotlin

1
Introduction
2
Classes
3
Properties with Getters & Setters
4
Primary and Secondary Constructors
5
Methods
6
Extension Functions
7
Data Classes
8
Enums
9
Inheritance
10
Code Along: Inheritance Example
11
Abstract Classes
12
Interfaces
13
Overriding Rules
14
Smart Casts
15
Visibilities
16
Companion Objects for "Static" Members
17
Object Declarations as Singletons
18
Packages and Imports
19
Generic Classes
20
Generic Functions
21
Covariance
22
Covariance: Java vs Kotlin
23
Covariance vs Contravariance: "out" and "in"
24
Recap

Kotlin for Android -- Fundamentals

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

Kotlin for Android -- Implement a RecyclerView

1
Introduction
2
What is a RecyclerView?
3
Create the Data Class "Habit"
4
Implement the "HabitsAdapter" - Part I
5
Implement the "HabitsAdapter" - Part II
6
Implement the "HabitsAdapter" - Part III

Kotlin for Android -- Let Users Create Habits

1
Introduction
2
Add a Menu
3
Add a Second Activity
4
Use Intents to Switch Activities
5
Challenge: Build the Activity Layout
6
Challenge Solution
7
Let Users Choose an Image
8
Get the Selected Image Back (onActivityResult)
9
Show Error Messages to the User
10
Code Along: An Extension Function for "EditText"

Kotlin for Android -- Use SQLite the Kotlin Way!

1
Introduction
2
Introducing SQLite
You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
4.6
4.6 out of 5
1000 Ratings

Detailed Rating

Stars 5
530
Stars 4
362
Stars 3
87
Stars 2
14
Stars 1
7
3e2eb48855fbe8f607c9b2b263dd91e2
30-Day Money-Back Guarantee

Includes

9 hours on-demand video
8 articles
Full lifetime access
Access on mobile and TV
Certificate of Completion