Book Image

Android Things Projects

By : Francesco Azzola
Book Image

Android Things Projects

By: Francesco Azzola

Overview of this book

Android Things makes developing connected embedded devices easy by providing the same Android development tools, best-in-class Android framework, and Google APIs that make developers successful on mobile. With this book, you will be able to take advantage of the new Android framework APIs to securely build projects using low-level components such as sensors, resistors, capacitors, and display controllers. This book will teach you all you need to know about working with Android Things through practical projects based on home automation, robotics, IoT, and so on. We’ll teach you to make the most of the Android Things and build enticing projects such as a smart greenhouse that controls the climate and environment automatically. You’ll also create an alarm system, integrate Android Things with IoT cloud platforms, and more. By the end of this book, you will know everything about Android Things, and you’ll have built some very cool projects using the latest technology that is driving the adoption of IoT. You will also have primed your mindset so that you can use your knowledge for profitable, practical projects.
Table of Contents (15 chapters)
Title Page
About the Author
About the Reviewers
Customer Feedback

Invoking the Arduino services

In this paragraph, we will explore how to invoke the Arduino services exposed using the Rest paradigm. In this context, we have to call the services passing the data defined in the user interface exposed by our Android Things app. While in the previous chapter we used the Volley library, in this chapter we will use another library to handle the HTTP connection called OkHTTP ( In this way, you use another approach and you can select the best one according to your requirements.

The first thing to do is add the library to our build.gradle file:

compile 'com.squareup.okhttp3:okhttp:3.6.0'

Now we can create another class to handle the communication details with the Arduino board:

  1. Create a new class called
  2. Add a private constructor because this class must be a singleton:
        private BoardController() { client = new 
        public static BoardController getInstance() { if