Book Image

Android Studio 4.0 Development Essentials - Kotlin Edition

By : Neil Smyth
Book Image

Android Studio 4.0 Development Essentials - Kotlin Edition

By: Neil Smyth

Overview of this book

Kotlin as an Android-compatible programming language is becoming increasingly popular. Fully updated for Android Studio 4.0, this book will teach you the skills necessary to develop Android-based applications using Kotlin. Starting with the basics, this book outlines the steps necessary to set up Android development and testing environments, and goes on to introduce you to programming in Kotlin. You’ll practice Java to Kotlin code conversion and explore data types, operators, expressions, loops, functions, as well as the basics of OOP in Kotlin. You’ll then learn about Android architecture components and advanced topics, such as intents, touchscreen handling, gesture recognition, multi-window support integration, and biometric authentication. As you make progress, you’ll explore Android Studio 4.0’s key features, including layout editor, direct reply notifications, and dynamic delivery. You’ll also delve into Android Jetpack and create a sample app project using ViewModel, the Android Jetpack component. Finally, you will upload your app to Google Play Console and model the build process using Gradle. By the end of this Android book, you’ll be fully prepared to develop applications using Android Studio 4.0 and Kotlin.
Table of Contents (97 chapters)
97
Index

12.13 Type Casting and Type Checking

When compiling Kotlin code, the compiler can typically infer the type of an object. Situations will occur, however, where the compiler is unable to identify the specific type. This is often the case when a value type is ambiguous or an unspecified object is returned from a function call. In this situation it may be necessary to let the compiler know the type of object that your code is expecting or to write code that checks whether the object is of a particular type.

Letting the compiler know the type of object that is expected is known as type casting and is achieved within Kotlin code using the as cast operator. The following code, for example, lets the compiler know that the result returned from the getSystemService() method needs to be treated as a KeyguardManager object:

val keyMgr = getSystemService(Context.KEYGUARD_SERVICE) as KeyguardManager

The Kotlin language includes both safe and unsafe cast operators. The above cast is an unsafe...