Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA Amazon AWS CompTIA Security+ AWS Certified Developer - Associate
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Personal Development Mindfulness Meditation Personal Transformation Life Purpose Emotional Intelligence Neuroscience
Web Development JavaScript React CSS Angular PHP WordPress Node.Js Python
Google Flutter Android Development iOS Development Swift React Native Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Google Analytics
SQL Microsoft Power BI Tableau Business Analysis Business Intelligence MySQL Data Modeling Data Analysis Big Data
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Online Business Business Plan Startup Blogging Freelancing Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
30-Day Money-Back Guarantee
Development Mobile Development Kotlin

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
Rating: 4.6 out of 54.6 (1,169 ratings)
5,728 students
Created by Peter Sommerhoff
Last updated 11/2020
English
English
30-Day Money-Back Guarantee

What you'll 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
Curated for the Udemy for Business collection

Course content

10 sections • 105 lectures • 9h 17m total length

  • Preview04:51
  • Make the Most of this Course!
    02:43
  • Who's Using Kotlin?
    02:51

  • 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

  • Introduction
    01:26
  • Variables and Data Types
    08:26
  • Null Safety in Kotlin
    Preview08:55
  • 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:25
  • Challenge: Using Collections and Loops
    00:26
  • Preview05:43
  • Exceptions
    06:12
  • Why No Checked Exceptions?
    05:31
  • Recap
    01:52

  • Introduction
    01:22
  • What is Functional Programming?
    03:10
  • Functional Programming II
    04:14
  • Lambdas & Higher-Order Functions
    Preview10:05
  • Use map() and flatMap()
    07:46
  • Use take() and drop()
    06:27
  • Use zip()
    04:44
  • Challenge: Functional Programming for Data Analysis
    00:40
  • Preview06:19
  • 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
  • Preview04:29
  • Inline Functions
    06:59
  • Recap
    02:23

  • Introduction
    01:58
  • Classes
    02:26
  • Properties with Getters & Setters
    06:01
  • Primary and Secondary Constructors
    08:26
  • Methods
    03:46
  • Preview06:23
  • 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
  • Smart Casts
    Preview07:55
  • 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

  • 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
  • Use the "Kotlin Android Extensions"
    Preview08:55
  • Challenge: Set Texts and Image Source Programmatically
    00:19
  • Challenge Solution
    03:30

  • 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

  • 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:30
  • 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

  • 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
  • Preview06:51
  • 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:12
  • Challenge Solution
    04:27
  • Challenge: Improve Cursor.getString(...)
    00:13
  • Challenge Solution
    07:58
  • Add Files to the Virtual Device (Excursus)
    01:42

  • Bonus: Reach Your Full Potential As A Software Developer
    00:15

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

 

------

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 this course is for:

  • Android developers
  • Java developers
  • Anyone with some programming experience who wants to learn Kotlin for Android

Featured review

Alexander Conner
Alexander Conner
71 courses
10 reviews
Rating: 5.0 out of 5a year ago
Concise, well spoken, and very informative. As a Java Android developer I feel like this is very well paced and I I'm learning a lot of new things without having to sit through things I already knew. The Android example is engaging and I definitely learned a lot about how to create cleaner, more readable code using some of the new benefits Kotlin provides. Thanks Pete!

Instructor

Peter Sommerhoff
Developer & Software Engineer - With 45,000+ Happy Students
Peter Sommerhoff
  • 4.5 Instructor Rating
  • 10,777 Reviews
  • 60,939 Students
  • 6 Courses

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!

  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Impressum Kontakt
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.