Creating a Compass using sensor data and RotateAnimation
In the previous chapter, we demonstrated reading sensor data from the physical device sensors. In that recipe, we used the Light Sensor since the data from Environment Sensors generally doesn't require any extra processing. Although it's easy to get the magnetic field strength data, the numbers themselves don't have much meaning and certainly don't create an appealing display.
In this recipe, we'll demonstrate getting the magnetic field data along with the accelerometer data to calculate magnetic north. We'll use SensorManager.getRotationMatrix
to animate the compass while responding to the device movement. Here's a screenshot of our compass application on a physical device:
Getting ready
Create a new project in Android Studio and call it Compass
. Use the default Phone & Tablet
options and select Empty Activity
when prompted for the Activity Type
.
We will need an image for the compass indicator. There's an image on www.Pixabay.Com...