WHAT'S IN THIS CHAPTER?
Programming accelerometer, device orientation, and proximity detection support
Developing with battery life in mind
The iPhone has a vast amount of exciting hardware within the device. Although this hardware in and of itself doesn't interest users, the excitement is when the application presents the users with information in a way that makes sense to them. This hardware is very interesting to developers building apps; it allows for applications to provide extraordinary features based on top of this hardware. This chapter looks at the accelerometer, device orientation, proximity detection, networking, and the battery. Some example uses of this hardware are as follows:
A program can test that a network connection over any connection (WiFi, 3G, or EDGE) is available. If a connection does not exist, instead of displaying an error message when attempting to upload information, the user can be notified that there is no connection to a service.
The accelerometer can be used to pull random data from a data source. When the device is shaken, the application can respond by reading random data from a data source.
When the user changes the device from portrait to landscape, the application can change how it displays content to the user.
Most of this device support comes from the
MonoTouch.UIKit.UIDevice class. The
UIDevice class exposes the
CurrentDevice instance, which represents the current device.