Android Development with Kotlin — App Fundamentals

Paths

Android Development with Kotlin — App Fundamentals

Author: Jim Wilson

Android is a powerful operating system that runs on a wide variety of platforms including smartphones, tablets, and Internet of things (IoT) devices. Kotlin is a modern... Read more

What You Will Learn

  • Kotlin language basics
  • Android development tools
  • Building your first Android application
  • Testing and debugging Android apps
  • Data management in Android apps
  • Notifications
  • App widgets
  • Building user interfaces

Pre-requisites

Prior programming experience is helpful. No Kotlin or Android experience is necessary.

Getting Started

In this section you’ll learn the fundamental Android and Kotlin skills to begin building Android applications using Android Studio and the Kotlin programming language. No prior Android or Kotlin knowledge is required.

Android Apps with Kotlin: Build Your First App

by Jim Wilson

Jun 7, 2018 / 4h 15m

4h 15m

Start Course
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.

Table of contents
  1. Course Overview
  2. Creating and Running a Kotlin App with Android Studio
  3. Describing Types with Kotlin
  4. Understanding Activities and Activity Layout Interaction
  5. Developing a Multi-screen User Experience
  6. Using Options Menus and Action Bar Actions
  7. Understanding Activity Lifecycle

Core Development Skills

Now, focus on the typical functionality and features most Android developers will need to implement, most of the time. These courses include developing adaptable UI layouts with XML, providing lifecycle-aware UI and data management, presenting high-quality user experiences and alternative navigation experiences, and validating app quality with automated testing.

Android Apps with Kotlin: Tools and Testing

by Jim Wilson

Aug 30, 2018 / 3h 42m

3h 42m

Start Course
Description

With any craftsman, knowing how to use your tools is a critical part of doing a job well. Android Studio is the single most important tool for Kotlin Android developers and it includes a wide variety of features that empower developers to work effectively and assure software quality through testing. In this course, Android Apps with Kotlin: Tools and Testing, you'll learn the skills necessary to work efficiently as a Kotlin Android app developer and assure quality software through testing. First, you'll start by exploring Android Studio productivity tools such as refactoring, automatic code generation, and converting Java code to Kotlin. Next, you'll see how to identify and resolve application problems using the debugger. From there, you'll learn how to incorporate more expansive feature support into your applications using Android Support Libraries, Android KTX, and the Gradle build system. Finally, you'll explore how to assure software quality and reliability through the combination of local unit tests, Android instrumented tests, and automated UI tests. By the end of this course, you'll have the necessary skills and knowledge to efficiently utilize Android Studio to create your own high-quality Kotlin Android applications.

Table of contents
  1. Course Overview
  2. Working with the Core Tools and Features
  3. Debugging Your App and Resolving Errors
  4. Understanding Android Build Process, KTX, and Support Libraries
  5. Implementing Local Unit Tests
  6. Understanding Automated UI Tests
  7. Creating More Complete Automated UI Tests

Android Apps with Kotlin: Resources, Styles, and Themes

by Jim Wilson

Feb 5, 2019 / 3h 34m

3h 34m

Start Course
Description

Successful apps have a high bar to meet. They must be adaptable to a broad set of devices, be usable by a culturally diverse user base, and provide a rich and engaging visual appearance. In this course, Android Apps with Kotlin: Resources, Styles, and Themes, you'll learn everything you need to know to create apps that achieve this high standard. First, you’ll see how to use the Android resource system to provide app content that adapts to differing device characteristics. After that, you’ll incorporate images and other drawable resources into your app in a way that allows the system to automatically select the appropriate choice to best accommodate each device’s display density. Next, you’ll explore how to use value resources to specify strings and other values in a way that allows for easy language localization and configuration-based adjustment of display characteristics. Finally, you’ll delve into leverage styles and themes to customize the color, styling, and overall appearance of your app. By the end of this course, you’ll have the skills and knowledge to create rich and engaging Android apps that are able to effectively adapt to a wide range of devices and users.

Table of contents
  1. Course Overview
  2. Understanding Resource Adaptability
  3. Creating Drawable Resources
  4. Specifying Values Resources
  5. Using Strings and String Localization
  6. Providing Custom Display Characteristics with Styles
  7. Customizing App Appearance with Themes

Android Apps with Kotlin: RecyclerView and Navigation Drawer

by Jim Wilson

Nov 9, 2018 / 2h 45m

2h 45m

Start Course
Description

Providing rich data display and easy-to-use navigation is critical to the success of any application. In this course, Android Apps with Kotlin: RecyclerView and Navigation Drawer, you’ll learn how to provide both. First, you'll learn how to include rich, card-based lists using RecyclerView, CardView and LayoutManager, while managing content display in a RecyclerView by creating a RecyclerView adapter. Then, you’ll learn how to coordinate the creation of the LayoutManager and adapter with the lifecycle of the containing activity through the use of Kotlin lazy properties. Next, you'll discover how to expand your application navigation experience with navigation drawer. Finally, to assure application reliability, you'll see how to create automated UI tests that cover both RecyclerView and navigation drawer. By the end of this course, you'll have the necessary skills and knowledge to create Android apps of your own that provide rich data display and easy-to-use navigation with RecyclerView and navigation drawer.

Table of contents
  1. Course Overview (trailer)
  2. Working with RecyclerView and CardView
  3. Binding Data to RecyclerView
  4. Understanding Drawer Navigation
  5. Implementing Drawer Navigation Behavior
  6. Testing RecyclerView and Drawer Navigation

Android Apps with Kotlin: ViewModel and Lifecycle

by Jim Wilson

Dec 21, 2018 / 2h 25m

2h 25m

Start Course
Description

Effectively managing Android activity state and coordinating the lifecycle of components within an activity are essential to providing a high-quality and consistent user experience; however, doing so can sometimes be a challenge. In this course, Android Apps with Kotlin: ViewModel and Lifecycle, you’ll learn how to use the Android Architecture Components’ ViewModel, Lifecycle, and other related types to deliver just such an experience. First, you'll see how to use ViewModel to simplify managing activity-related data and maintain consistent access to that data even when the system recreates the activity in response to device orientation changes. After that, you'll explore how to use ViewModel in cooperation with onSaveInstanceState to assure a more consistent user experience when moving between apps. Next, you'll discover how to leverage Lifecycle events to simplify coordination between life cycle dependent components and the activity that uses them. Finally, you’ll delve into Lifecycle states to create more flexible, easier-to-use life cycle dependent components. By the end of this course, you'll have the necessary skills and knowledge to create Android apps of your own that provide a high-quality and consistent user experience with the Android Architecture Components’ ViewModel, Lifecycle, and other related types.

Table of contents
  1. Course Overview
  2. Managing Activity State with ViewModel
  3. Maintaining Activity State during System-initiated Shutdowns
  4. Persisting Complex Activity State
  5. Subscribing to Lifecycle Events
  6. Determining Lifecycle State