Android Apps with Kotlin: Build Your First App

Kotlin greatly simplifies the task of creating Android apps. Become a successful Android developer by developing your understanding of the Kotlin language and the creation of interactive user experiences with Android Activities.
Course info
Rating
(24)
Level
Beginner
Updated
Jun 7, 2018
Duration
4h 15m
Table of contents
Course Overview
Creating and Running a Kotlin App with Android Studio
Describing Types with Kotlin
Understanding Activities and Activity Layout Interaction
Developing a Multi-screen User Experience
Using Options Menus and Action Bar Actions
Understanding Activity Lifecycle
Description
Course info
Rating
(24)
Level
Beginner
Updated
Jun 7, 2018
Duration
4h 15m
Description

The key to becoming a successful Android app developer is getting the fundamentals right. When developing Android apps with the Kotlin programming language, it’s essential that you have a solid understanding of the fundamentals of both Android and Kotlin. Nowhere is the power and efficiency of Kotlin more evident than when used with the Android platform. In this course, Android Apps with Kotlin: Build Your First App, you’ll learn everything you need to build your first Android application using Android Studio and Kotlin. First, you’ll start by creating a new Android app and running the app in an Android emulator. After that, you’ll walk through the basics of how to implement types in Kotlin and describe the app’s object model using Kotlin. Next, you’ll see how to create an interactive user experience and connect that experience to your Kotlin code. From there, you’ll create a multi-screen user experience and pass information between screens and use the options menu to create action bar actions. Finally, you’ll learn how to effectively cooperate with the lifecycle of Android activities and how save both persistent data and instance data. By the end of the course, you'll have successfully created an Android app using Kotlin and you will have a solid grounding in the fundamentals of Android app development with Kotlin.

About the author
About the author

Jim Wilson is president of JW Hedgehog, Inc., a consulting firm specializing in solutions for the Android, iOS, and Microsoft platforms. Jim has over 30 years of software engineering experience, with the past 15 years heavily focused on creating mobile device and location-based solutions.

More from the author
More courses by Jim Wilson
Section Introduction Transcripts
Section Introduction Transcripts

Course Overview
Hi everyone. My name is Jim Wilson. Welcome to my course, Android Apps with Kotlin: Build Your First App. I'm managing partner of JWHH LLC, and I've had the good fortune to have been a professional software developer now for over 30 years. I've been creating apps for Android since the earliest days of the platform, and I've seen many exciting changes in that time, but none more so than the addition of Kotlin as an Android development language. Kotlin's a game changer. It tremendously simplifies the task of creating Android apps, and it includes a number of features that reduce the likelihood of our apps encountering problems at runtime. Now one of the coolest things about using Kotlin in your Android apps is that you can start using it right away, even in your existing Android apps that have been already been written in Java. Kotlin has fantastic compatibility with Java, and a single Android project can include both code written in Java and Kotlin. And in this course, we're going to teach you everything you need to know to get started developing Android apps with Kotlin. Now some of the major topics we cover include Kotlin language features such as type declarations, null safety, singletons, and data classes; Android activity UI creation and how to connect the UI to your Kotlin code; information passing between activities using intents; activity lifecycle and app data management; and activity instance state management. By the end of this course, you will have successfully created an Android app using Kotlin, and you'll have a solid grounding in the fundamentals of Android app development with Kotlin. This is a beginner course, so you don't need to have any experience with Android or the Kotlin programming language. It is, however, helpful if you have familiarity with any other object-oriented language such as Java or C#. So I hope you'll join me as we learn to develop Android apps with the Pluralsight course, Android Apps with Kotlin: Build Your First App.

Creating and Running a Kotlin App with Android Studio
Welcome to the Pluralsight course Android Apps with Kotlin: Build Your First App. This is our first module, Creating and Running a Kotlin App with Android Studio. My name is Jim Wilson. Throughout this course, we'll take you through everything you need to understand to start building Android apps using the Kotlin programming language. Now no prior experience with either Android or Kotlin is required for this course. We'll cover everything that you need to know. Now in this first module, we'll cover the basics of creating and running an app using Android Studio. In the next module, we'll take you through the fundamentals of working with types in Kotlin. After that, we'll start getting into the details of creating Android activities and how an activity's code and layout interact. We'll then learn how to launch one activity from another, including how to pass information between those activities. From there, we'll get into options menus and what are called action bar actions. Next, we'll see how Android manages transitions between activities using something known as tasks, and we'll see how to leverage activities from other apps within our own app experience. And then finally, we'll dig into the lifecycle of activities. Now whenever I'm working in a new environment, before I get into all the details, I first like to quickly get a sense of the full end-to-end development experience, and that's what we'll do in this first module. We'll go through the end-to-end experience of creating and running an Android app developed with Kotlin. We'll start out with a short overview of downloading and installing Android Studio. We'll then create a new Android application project that includes support for Kotlin. Next, we'll make some simple changes to the layout of the app's user experience. From there, we'll add some Kotlin code to our app. And then finally, we'll run our app using an Android emulator.

Describing Types with Kotlin
Welcome to our next module, Describing Types with Kotlin. This is part of the Pluralsight course Android Apps with Kotlin: Build Your First App. My name is Jim Wilson. In this module, we'll look at some of the basic concepts around using, defining, and interacting with types when working in Kotlin. Now we're not going to dig deep into any of these concepts. Rather, our focus is on acquiring the fundamental skills required to rapidly get up to speed and start building Android apps using Kotlin. So we'll start out with a quick look of what it's like to use Kotlin on the Android platform, a platform which has historically always been Java based. We'll then take a look at some of the basic types in Kotlin and see how we declare variables when working in Kotlin. We'll see how to define our own types using classes. We'll see how to declare and use properties. We'll learn about something known as a primary constructor. We'll then see how to declare functions and take a look at some of the options we have for passing parameters to functions, and then we'll finish up with a look at type initialization.

Understanding Activities and Activity Layout Interaction
Welcome to our next module, Understanding Activities and Activity Layout Interaction. This is the Pluralsight course Android Apps with Kotlin: Build Your First App. My name is Jim Wilson. In this module, we'll look at the cooperation between our activity's code and the activity layout. We'll also dig into the basics of creating an activity's UI. So we'll start out by answering the question what is an activity? We'll then look at what's involved in creating the activity's UI. We'll look at the classes responsible for arranging our activity's UI, classes called layout classes, and we'll pay special attention to one particular layout class called a ConstraintLayout class. We'll then look at the relationship between the code for our activity and the layout used to describe the activity's UI, and then we'll finish up by looking at how we populate a spinner, which requires that we access a view from our layout and populate it with data contained in our application.

Developing a Multi-screen User Experience
Welcome to our next module, Developing a Multi-screen User Experience. This is by the Pluralsight course, Android Apps with Kotlin: Build your first app. My name is Jim Wilson. In this module, we'll look at how we can have multiple activities in our application, and how one activity can start another and pass information between those activities. So the first thing we'll look at is what's next for our app. We'll take a quick look at the design for the experience within our application. We'll talk about how activities interact with one another. We'll then add another activity to our application, which allows us to display a list of notes. We'll then look at some Kotlin concepts about the way we represent types. We'll see how we can create something called Singletons, as well as a Kotlin concept known as data classes. We'll then get back into Android Studio. We'll add the capability to our application, the populated list of notes in our NoteListActivity. We'll then see how to describe operations between activities using intents. And then we'll finish up by adding the functionality to our application to display a selected note.

Using Options Menus and Action Bar Actions
Welcome to our next module, Using Options Menus and Action Bar Actions. This is part of the Pluralsight course, Android Apps with Kotlin: Build Your First App. My name is Jim Wilson. In this module, we're going to see how to use options menus to present a user with selections within an activity. So the first thing we'll do is figure out how we can add new menu items to an options menu, we'll then see how to handle when a user makes a selection of a menu item, we'll then see how to take our option menu items and turn them into actions so they appear directly on the app bar, we'll then see how to make changes to our menu items during application execution, and as part of our discussion about menu items we'll take a look at Kotlin's ability to improve null safety within our applications.

Understanding Activity Lifecycle
Welcome to our next module, Understanding Activity Lifecycle. This is the Pluralsight course, Android Apps with Kotlin: Building Your First App. My name is Jim Wilson. In this module, we'll look at the important role of the activity lifecycle and how to cooperate with that lifecycle to provide an effective application experience. So the first thing we'll look at is the activity lifecycle itself and its relationship to the application user experience. From there, we'll see the methods that are available to allow our code to cooperate with the activity lifecycle, we'll see how to use the activity lifecycle to manage the persistent state of our activities, we'll then look at something known as tasks that allow Android to manage the activities in the application flow and do so in a way that's loosely coupled to the lifecycle of any individual activity, and then we'll finish up with a look at how we manage the instance state of our activities.