Book Image

Android Sensor Programming By Example

By : Varun Nagpal
Book Image

Android Sensor Programming By Example

By: Varun Nagpal

Overview of this book

Android phones available in today’s market have a wide variety of powerful and highly precise sensors. Interesting applications can be built with them such as a local weather app using weather sensors, analyzing risky driving behavior using motion sensors, a fitness tracker using step-counter sensors, and so on. Sensors in external devices such as Android Watch, Body Analyzer & Weight Machine, Running Speed Cell, and so on can also be connected and used from your Android app running on your phone. Moving further, this book will provide the skills required to use sensors in your Android applications. It will walk you through all the fundamentals of sensors and will provide a thorough understanding of the Android Sensor Framework. You will also get to learn how to write code for the supportive infrastructure such as background services, scheduled and long running background threads, and databases for saving sensor data. Additionally, you will learn how to connect and use sensors in external devices from your Android app using the Google Fit platform. By the end of the book, you will be well versed in the use of Android sensors and programming to build interactive applications.
Table of Contents (13 chapters)
Android Sensor Programming By Example
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface

Time for action – the compass using orientation sensor and orientation APIs


In our example, we will use the orientation sensor to develop the compass, and since it is a deprecated sensor, we will also develop it using alternative APIs. From the orientation sensor, we will directly use its azimuth values to feed into the compass, while for alternative APIs, we will use the raw accelerometer and magnetometer sensor values to compute the azimuth values. Let's look at both the implementations in detail:

  1. First, we create the infrastructure to get the values from the orientation, accelerometer, and magnetometer sensors. Inside the onCreate() method of CompassActivity, we initialize all the three sensors using SensorManager. We also initiate a layout file for the activity, which consists of a compass image that has North, South, East, and West marked on it. The compass image will be rotated to align its north to point toward the Earth's magnetic north. We also created four float arrays to store...