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
Credits
About the Author
About the Reviewers
www.PacktPub.com
Customer Feedback
Preface

Sending data from the Android Things app


Once the client is ready, we have to call it from MainActivity.java, the class that we used to read sensor data. The easiest way to send data to Artik Cloud is invoking its API whenever the sensor reads a new value. Anyway, we have to consider the high frequency at which the sensor reads new values. This approach would require calling the Artik API almost continuously. The best approach is sending data using a scheduler. With a scheduler, the Android Things app sends data at specific time intervals without overwhelming the Artik Cloud. In this way, we can adjust the frequency having more control on the app behavior and the bandwidth the app consumes. Let us modify MainActivity.java:

  1. Add the following method to this class:
        // Scheduler to send data//
        private void initScheduler() {
          ScheduledExecutorService scheduler=
          Executors.newSingleThreadScheduledExecutor();

         scheduler.scheduleAtFixedRate(new Runnable(...