Kotlin for Android & Java Developers: Clean Code on Android
4.7 (27 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
427 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Kotlin for Android & Java Developers: Clean Code on Android to your Wishlist.

Add to Wishlist

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
New
4.7 (27 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
427 students enrolled
Created by Peter Sommerhoff
Last updated 9/2017
English
Current price: $10 Original price: $195 Discount: 95% off
5 hours left at this price!
30-Day Money-Back Guarantee
Includes:
  • 9 hours on-demand video
  • 15 Articles
  • 2 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • 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
View Curriculum
Requirements
  • Some programming experience (e.g. Java)
  • At least some Android experience
Description
  • 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

...and much more! This course will grow based on your feedback.

 

------

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.

Who is the target audience?
  • Android developers
  • Java developers
  • Anyone with some programming experience who wants to learn Kotlin for Android
Students Who Viewed This Course Also Viewed
Curriculum For This Course
105 Lectures
09:17:35
+
Introduction
3 Lectures 10:25

Make the Most of this Course!
02:43

Who's Using Kotlin?
02:51
+
Get Ready
5 Lectures 24:38
Introduction
01:44

Install the Java JDK 8
03:11

Install Android Studio
07:11

Set Up a Project in Android Studio
12:04

Recap
00:28
+
Kotlin Basics
17 Lectures 01:28:22
Introduction
01:26

Variables and Data Types
08:26


Conditionals: "if" Expressions
08:20

Conditionals: "when" Expressions
08:35

Collections
09:41

"for" Loops
05:15

"while" Loops
03:41

Functions
06:22

Get Ready for Serious Kotlin Coding (Set up IntelliJ IDEA)
04:59

Create a main() Function
02:32

Challenge: Reading the User's Name from the Console
00:26

Challenge: Using Collections and Loops
00:26


Exceptions
06:12

Why No Checked Exceptions?
05:31

Recap
01:52
+
Functional Programming
17 Lectures 01:37:55
Introduction
01:22

What is Functional Programming?
03:10

Functional Programming II
04:14


Use map() and flatMap()
07:46

Use take() and drop()
06:27

Use zip()
04:44

Challenge: Functional Programming for Data Analysis
00:41


Lazy Sequences
08:17

Case Study: Performance of Lazy Sequences
08:10

Code Along: Infinite Lazy Sequence of All Prime Numbers
12:28

Use "let" Operator for Scoping and Nullables
06:26

Use "with" for Many Calls on the Same Object
03:55


Inline Functions
06:59

Recap
02:23
+
Object-Orientation in Kotlin
24 Lectures 02:32:54
Introduction
01:58

Classes
02:26

Properties with Getters & Setters
06:01

Primary and Secondary Constructors
08:26

Methods
03:46


Data Classes
09:50

Enums
06:12

Inheritance
05:21

Code Along: Inheritance Example
05:57

Abstract Classes
05:46

Interfaces
07:18

Overriding Rules
08:52


Visibilities
08:47

Companion Objects for "Static" Members
06:31

Object Declarations as Singletons
05:09

Packages and Imports
04:15

Generic Classes
07:52

Generic Functions
04:59

Covariance
07:06

Covariance: Java vs Kotlin
10:34

Covariance vs Contravariance: "out" and "in"
09:44

Recap
01:46
+
Kotlin for Android -- Fundamentals
7 Lectures 33:14
Introduction
02:50

Create the App Project
04:51

Understand the Android Versions
03:08

Create a CardView Layout and Add UI Elements
09:43


Challenge: Set Texts and Image Source Programmatically
00:17

Challenge Solution
03:30
+
Kotlin for Android -- Implement a RecyclerView
6 Lectures 28:58
Introduction
01:01

What is a RecyclerView?
05:17

Create the Data Class "Habit"
04:22

Implement the "HabitsAdapter" - Part I
05:00

Implement the "HabitsAdapter" - Part II
03:35

Implement the "HabitsAdapter" - Part III
09:43
+
Kotlin for Android -- Let Users Create Habits
10 Lectures 48:42
Introduction
01:36

Add a Menu
01:57

Add a Second Activity
03:09

Use Intents to Switch Activities
07:14

Challenge: Build the Activity Layout
00:29

Challenge Solution
08:01

Let Users Choose an Image
06:44

Get the Selected Image Back (onActivityResult)
08:11

Show Error Messages to the User
07:39

Code Along: An Extension Function for "EditText"
03:42
+
Kotlin for Android -- Use SQLite the Kotlin Way!
15 Lectures 01:11:53
Introduction
01:11

Introducing SQLite
01:28

Define the Contracts
04:14

Implement the Database Helper
06:32

Store a Habit to SQLite
08:03

Implementing Secure Transactions (that support Rollback)
04:08


Clean Code: Further Improving Transactions and Performance
06:33

Store the Habit in "CreateHabitActivity"
09:22

Read All Habits from SQLite
09:00

Challenge: Improve SQLiteDatabase.query(...)
00:11

Challenge Solution
04:27

Challenge: Improve Cursor.getString(...)
00:13

Challenge Solution
07:58

Add Files to the Virtual Device (Excursus)
01:42
+
Bonus
1 Lecture 00:18
What's to Come
00:18
About the Instructor
Peter Sommerhoff
4.5 Average rating
2,015 Reviews
24,345 Students
5 Courses
Developer & Software Engineer - With 20,000+ Happy Students

Hi, it's Peter, glad you made it here! If you're anything like me, you want to always keep learning, master new skills, and ultimately achieve your life goals -- whether that's a well-paying career, traveling the world, working from the comfort of your home, or sharing your expertise with and helping other people.

Does that sound like you? Then make sure to enroll in one my courses and learn about awesome programming languages, software design, productivity, or anything else you're interested in!

I feel honored for every student I have and will make sure you have a great learning experience. You can always ask me personally if you get stuck or have anything at all I can help you with.

So please check out my courses below and I'll see you there!