Google exposes a plethora of functionality in Android, thus giving developers (even the independent guys) the tools needed to create top-notch, full-featured mobile apps. Google has gone above and beyond by making it simple to tap into and make use of all the devices' available hardware.
To create a spectacular Android app, you should take advantage of all that the hardware has to offer. Don't get me wrong: If you have an idea for an app that doesn't need hardware assistance, that's okay too.
Android devices come with several hardware features that you can use to build your apps, as shown in Table 1-1.
|To Get This Functionality…||…Use This Hardware Feature|
|Determine the location of the tablet/device||GPS radio|
|Determine the direction the tablet/device is moving||Built-in compass|
|Determine whether the tablet/device is facing up or down||Proximity sensor|
|Determine whether the tablet/device is moving||Accelerometer|
|Use Bluetooth headphones||Bluetooth radio|
|Read NFC tags||Near Field Communication|
Most Android devices are released with the hardware that I discuss in the following sections, but not all devices are created equal. Because Android is free for hardware manufacturers to distribute, it's used in a wide range of devices, including some made by small manufacturers overseas — and it's not uncommon for some of these phones to be missing a feature or two.
Also, as the technology advances, device ...