The Kotlin edition is roughly 100+ pages thicker than the Java edition. It has more worked examples than the previous edition. BTW, it isn’t (just) about Android Studio; the book has 3 learning curves, 1) Android SDK 2) Kotlin and 3) Android Studio. Chapters 1-7 are about Kotlin and chapters 8-20 are about Android programming (SDK). So, it’s a good introductory book if you’re new to Kotlin or Android programming.
Chapter 1 “Getting into Kotlin” introduces the language. It tells you how to setup Kotlin in various ways on the 3 major platforms macOS, Linux and Windows. It also contains instructions on how to create, configure and run a project in IntelliJ — this is the IDE I used to create all the Kotlin code samples for chapters 1-7.
Chapter 2 “Kotlin Basics” dives into the language fundamentals of Kotlin. You’ll learn the basic building blocks of a Kotlin program e.g. Strings, control structures, exception handling, basic data types. You’ll also see some of Kotlin’s features that are very different from Java, like it’s treatment of nullable and non-nullable types.
Chapter 3 “Functions”. There’s a whole chapter dedicated to functions because Kotlin’s functions have something new up its sleeves. It has all the trimmings of a modern language like default and named parameters, infix functions and operators; and with Kotlin, we can also create extension functions. Extension functions lets you add behavior to and existing class, without inheriting from it and without changing its source
Chapter 4 “Working with Types”. This chapter deals with object-oriented topics. You’ll learn how Kotlin treats interfaces, classes and access modifiers. We’ll also learn about the new data classes in Kotlin. It also talks about object declarations — it’s the replacement for Java’s static keyword.
Chapter 5 “Lambdas and Higher Order Functions”. Now we go to Kotlins’s functional programming capabilities. It discusses how to create and use higher-order functions, lambdas and closures.
Chapter 6 “Collections” walks through the classic collection classes of Java and how to use them in Kotlin.
Chapter 7 “Generics”. Using generics in Kotlin isn’t that much different in Java. If generics is old hat for you, then most of this chapter will be a review. But try to read through it still because it talks about reified generics, which Java doesn’t have.
Chapter 8 “Android Studio Introduction and Setup”. Talks a bit about Android’s history, its technical make-up and the OS. It also walks you through the installation and setup of Android Studio.
Chapter 9 “Getting Started” gets you grounded on the fundamental concepts about Android programming. It talks about components, what they are, how they are organized and come together in an Android app. In this chapter, you’ll learn how the basic workflow of an Android project — how to create a project and run it on an emulator
Chapter 10 “Activities and Layouts”. Here, we’ll learn how to build a UI. Activity, Layout and View objects are the building blocks for an Android UI.
Chapter 11 “Event Handling”. You’ll learn how to react to user-generated events like clicks and longclicks. We’ll use some concepts that we learned in Chapter 4 and 5 (inner objects and lambdas) to help us write more compact and succinct event-handling code.
Chapter 12 “Intents”. This chapter reviews some fundamental concepts on Android programming, specifically the concept of components; which dovetails to the topic of Intents. You’ll learn how to use Intents to launch another Activity and pass data in-and-around Activities
Chapter 13 “Themes and Menus”. This is a short chapter. You’ll learn how to add styles/themes to your app. We’ll also work with some menus and the ActionBar.
Chapter 14 “Fragments”. You’ll learn how to use Android Fragments as a more granular composition unit for UI. We’ll also see how to use Fragments to address changes in device orientation.
Chapter 15 “Running in the background”. Any non-trivial app will do something substantial like read from a file, write to a file, download something from the network. These activities will likely take more than 16ms to execute (you’ll learn why 16ms should be the upper limit and why you should not exceed it). When that happens, the user will see and feel “jank”. This chapter discusses the various ways on how to run our code in a background thread.
Chapter 16 “Debugging” shows some of the things you can do to debug your apps in Android Studio 3. It goes through a list of the kinds of errors you might encounter while coding and what you can do in Android Studio to respond them
Chapter 17 “SharedPreferences”. When you need to save simple data, you can use the SharedPreferences API. This chapter walks you through detailed examples on how to do that.
Chapter 18 “Internal Storage”. Just like in SharedPreferences, you can also store data using the Internal Storage API of Android. This chapter discusses internal and external storage
Chapter 19 “BroadcastReceivers”. Android has a way to make highly-decoupled components talk to each other. This chapter talks about how BroadcastReceivers can facilitate messaging for Android components.
Chapter 20 “App Distribution”. When you’re ready to distribute your app, you’ll need to sign it and list it in a marketplace like Google Play. This chapter walks you through the steps on how to do it
About the author
Ted has been in software development for 20+ years. He’s a developer by trade, at the moment he’s the CTO and DPO of RenditionDigital International, a software development company based out of Dublin. He wrote a couple of books for Apress.