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

70.1 Client to Remote Service Communication

As outlined in the previous chapter, interaction between a client and a local service can be implemented by returning to the client an IBinder object containing a reference to the service object. In the case of remote services, however, this approach does not work because the remote service is running in a different process and, as such, cannot be reached directly from the client.

In the case of remote services, a Messenger and Handler configuration must be created which allows messages to be passed across process boundaries between client and service.

Specifically, the service creates a Handler instance that will be called when a message is received from the client. In terms of initialization, it is the job of the Handler to create a Messenger object which, in turn, creates an IBinder object to be returned to the client in the onBind() method. This IBinder object is used by the client to create an instance of the Messenger object and...