New Posts New threads Most reply threads Most viewed threads Top threads

Resource icon

Udemy Udemy - Kotlin for Android & Java Developers: Clean Code on Android Full Course Learn Online 2019-04-15

Kotlin for Android & Java Developers
Clean Code on Android
Udemy Course

Signup to Download

Become a professional Kotlin developer and write cleaner code in your Android apps than in Java

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

Course content


  • What You'll Learn in this Course
  • Make the Most of this Course!
  • Who's Using Kotlin?
–Get Ready
  • Introduction
  • Install the Java JDK 8
  • Install Android Studio
  • Set Up a Project in Android Studio
  • Recap
–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
  • 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
–Functional Programming
  • 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
–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 Contravariance: "out" and "in"
  • Recap
–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"
  • Challenge: Set Texts and Image Source Programmatically
  • Challenge Solution
–Kotlin for Android -- Implement a RecyclerView
  • 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
–Kotlin for Android -- Let Users Create Habits
  • 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"
–Kotlin for Android -- Use SQLite the Kotlin Way!
  • 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)
  • Bonus Lecture: Where to Go From Here


  • Some programming experience (e.g. Java)
  • At least some Android experience
  • 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?
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

"use -ktx for kotlin", advantages of kotlin, amazon kotlin, android app development course for beginners, android app development tutorial vogella, android apprentice pdf, android development with kotlin course, android development with kotlin packt, android kotlin vs java, android language tutorial, android o and kotlin, android online tutorial, android studio 3.0 tutorial, bandhook kotlin, best android kotlin course, best book to learn kotlin, best kotlin books, best programming language for mobile apps, complete kotlin tutorial, convert java code to kotlin online, convert kotlin back to java, developer udacity, devslopes kotlin, download kotlin, flutter cookbook pdf download, head first kotlin: a brain-friendly guide, hello world in kotlin android, java vs kotlin future, kotlin advanced tutorial, kotlin android best practices, kotlin android github, kotlin android javatpoint, kotlin android login example, kotlin android tutorial for beginners, kotlin android tutorial javatpoint, kotlin android tutorial pdf, kotlin android tutorial video, kotlin android udemy free, kotlin android video, kotlin android wiki, kotlin app development, kotlin appcompatactivity, kotlin apps android, kotlin beginner, kotlin blueprints, kotlin bootcamp for programmers, kotlin code examples, kotlin course free, kotlin course in bangalore, kotlin developer, kotlin developer masterclass build 12 apps, kotlin download, kotlin for android, kotlin for android & java developers, kotlin for android & java developers clean code on android download, kotlin for android beginner to advanced, kotlin for android developer free download, kotlin for android developers, kotlin for android developers 6th edition pdf, kotlin for android developers amazon, kotlin for android developers antonio leiva pdf download, kotlin for android developers antonio leiva pdf free download, kotlin for android developers book free download, kotlin for android developers book free pdf, kotlin for android developers book pdf, kotlin for android developers download, kotlin for android developers ebook, kotlin for android developers ebook free, kotlin for android developers full pdf, kotlin for android developers pdf, kotlin for android developers pdf free download, kotlin for android developers review, kotlin for android developers tutorial, kotlin for android: beginner to advanced, kotlin for beginners, kotlin for beginners book, kotlin for java developers, kotlin for java developers download, kotlin in action, kotlin in action chapters, kotlin ios, kotlin javatpoint, kotlin lectures, kotlin programming: the big nerd ranch guide, kotlin runtime size, kotlin sample project android github, kotlin syllabus, kotlin tim buchalka, kotlin tutorial udacity, kotlin udacity, kotlin udemy, kotlin usage statistics, kotlin use example, kotlin vs android, kotlin vs java, kotlin vs java android stackoverflow, kotlin vs java server side, kotlin vs java stackoverflow, kotlin vs java which is better, kotlin vs native, kotlin w3schools, learn android app development kotlin, learn kotlin for android, learn kotlin from scratch, learning kotlin for android development, prerequisite for learning kotlin, programming kotlin, programming kotlin book, the complete android kotlin developer course 2018, the complete kotlin developer course, top books to learn kotlin, udacity android development, udemy android animation, udemy android app, udemy android masterclass, udemy kotlin bootcamp from basics to advanced, udemy kotlin course, udemy kotlin free course, udemy kotlin masterclass, why is android moving to kotlin, kotlin android tutorial, kotlin android extensions, kotlin android studio, kotlin android app, kotlin android coroutines, kotlin android example, kotlin android book, kotlin android log, kotlin android library, kotlin android development, kotlin android app development, kotlin android api, kotlin android activity, kotlin android application class, kotlin android async, kotlin android asynctask, kotlin android app github, kotlin android adoption, kotlin android annotations, kotlin android button, kotlin android best practices, kotlin android background thread, kotlin android bluetooth, kotlin android basics, kotlin android button onclick, kotlin android boilerplate, kotlin android beginner, kotlin android binding, kotlin android custom view, kotlin android camera, kotlin android callback, kotlin android calendar, kotlin android context, kotlin android certification, kotlin android code, kotlin android cheat sheet, kotlin android development tutorial, kotlin android data binding, kotlin android developer salary, kotlin android development book, kotlin android database, kotlin android developer jobs, kotlin android dialog, kotlin android date, kotlin android dependencies, log.d in kotlin android, kotlin android extensions fragment, kotlin android extensions github, kotlin android extensions viewholder, kotlin android example github, kotlin android extensions custom view, kotlin android extensions vs databinding, kotlin android ebook, kotlin in android, kotlin android fundamentals, kotlin android findviewbyid, kotlin android fragment, kotlin android framework, kotlin android for beginners, kotlin android features, kotlin android firebase, kotlin android for loop, kotlin android fab, kotlin android file, kotlin android game, kotlin android gradle, kotlin android guide, kotlin android google, kotlin android github, kotlin android game development, kotlin android gui, kotlin android get context, kotlin android google maps, kotlin android gitignore, kotlin android http request, kotlin android http client, kotlin android handler, kotlin android http, kotlin android hide keyboard, kotlin android http post, kotlin android hello world github, androidhive kotlin, kotlin android history, kotlin android ios, kotlin android ide, kotlin android intellij, kotlin android introduction, kotlin android interface, kotlin android instrumentation test, kotlin android ios example, kotlin android intdef, kotlin i android, kotlin i android studio, kotlin android javatpoint, kotlin android json, kotlin android java, kotlin android jni, kotlin android json example, kotlin android javascript, kotlin android junit, kotlin android java 8, kotlin android jvm, kotlin android keystore, kotlin android kapt, kotlin android ktx, kotlin android kurs, android kotlin koin, kotlin koans android studio, kotlin.kotlinnullpointerexception android, android kotlin room foreign key, kotlin kotlin-android-extensions, kotlin android listview, kotlin android login example, kotlin android logger, kotlin android layout, kotlin android latest version, kotlin android login, kotlin android language, kotlin android launch, kotlin android mvvm, kotlin android mvp, kotlin android menu example, kotlin android medium, kotlin android mysql, kotlin android map, kotlin android mvc, kotlin android main thread, kotlin android min sdk, kotlin android mvvm github, kotlin android ndk, kotlin android native, kotlin android navigation, kotlin android networking, kotlin android notification, kotlin android not found, kotlin android nfc, kotlin android news, kotlin android navigation drawer, kotlin android new intent, kotlin android onclicklistener, kotlin android official language, kotlin android onclick, kotlin android orm, kotlin android online, kotlin android official support, kotlin android open source, kotlin android opengl, kotlin android onresume, kotlin android online course, kotlin android programming, kotlin android plugin, kotlin android projects, kotlin android parcelize, kotlin android project structure, kotlin android permissions, kotlin android popularity, kotlin android project github, kotlin android programming tutorial, kotlin android preferences, android p kotlin, kotlin android questions, kotlin android quiz app, kotlin android quora, kotlin android quickstart, kotlin android que es, kotlin android qiita, android kotlin qr code, android kotlin qr code scanner, android kotlin question mark, kotlin android recyclerview, kotlin android room, kotlin android resources, kotlin android read file, kotlin android retrofit, kotlin android reddit, kotlin android rest api, kotlin android release, kotlin android room example, unresolved reference r kotlin android, kotlin android, kotlin android r, kotlin android r.string, kotlin android studio tutorial, kotlin android service, kotlin android sdk, kotlin android sample, kotlin android synthetic, kotlin android studio plugin, kotlin android shared preferences, kotlin android timer, kotlin android tag, kotlin android training, kotlin android tutorial for beginners, kotlin android tutorial pdf, kotlin android tutorial example, kotlin android tricks, kotlin android ui, kotlin android udemy, kotlin android udacity, kotlin android unit tests, kotlin android unresolved reference, kotlin android ui design, kotlin android udemy free, kotlin android ui thread, kotlin android unresolved reference r, kotlin update android studio, kotlin android view, kotlin android version, kotlin android vs java, kotlin android version support, kotlin android view constructors, kotlin android vs android studio, kotlin android viewmodel, kotlin android video tutorial, kotlin android view dsl, kotlin android viewholder, kotlin android wiki, kotlin android webview, kotlin android widget, kotlin android write to file, kotlin android wait, kotlin android wear, kotlin android websocket, kotlin android why, kotlin with android studio, kotlin with android tutorial, kotlin android xml, android kotlin xml parser, android kotlin xml onclick, android kotlin xml parsing, android kotlin vs xamarin, android kotlin string.xml, telegram x android kotlin, androidx kotlin, kotlin android youtube, kotlin android ya, kotlin android tutorial youtube, learn kotlin android youtube, kotlin y android studio, kotlin para android ya, android y kotlin desde cero a profesional, kotlin y android, android zxing kotlin, android kotlin 1.3, kotlin 1.3 android studio, kotlin 1.2 android studio, android kotlin 1.3 coroutines, android 10 kotlin, kotlin android 2019, kotlin android 2018, kotlin android dagger 2, kotlin android studio 2.3, kotlin android studio 2.0, kotlin android tutorial 2018, android kotlin dagger 2 mvvm, kotlin vs java android 2019, android kotlin dagger 2 retrofit, android kotlin mvp dagger 2, dagger 2 kotlin android, retrofit 2 kotlin android, kotlin / android 3.0 studio essentials, kotlin android 3.0, kotlin android 3d, kotlin android studio 3, kotlin android studio 3.2, kotlin android studio 3.0.1, kotlin / android studio 3.0 pdf, kotlin plugin android studio 3.1, kotlin android studio 3.0, android 3 kotlin, kotlin android 4.4, kotlin for android developers pdf, kotlin for android developers, kotlin for android developers antonio leiva pdf, kotlin for android beginner to advanced, kotlin for android developers free download, kotlin for android tutorial, kotlin for android developers download, kotlin android 4, kotlin android 5.1, kotlin android 5, kotlin android 6, kotlin android 7, android 8.1 kotlin, masterclass kotlin und android 8, android 8 kotlin, android 9 kotlin, android 9 kotlin in android studio 3.2
First release
Last update
0.00 star(s) 0 ratings

More resources from murugans1011

Share this resource