Given the different range of hardware found on today's mobile handsets, Qt4 (Qt5 will have everything built-in by default) needed to be extended with a dedicated hardware abstraction layer. This layer is called QtMobility and has been developed by Nokia.
QtMobility gives you a straight forward way to interface with hardware which is not common on the traditional desktop world such as:
- Connectivity: The Connectivity API facilitates communication with local devices.
- Contacts: An API enabling clients to request contact data from local or remote backends.
- Document Gallery: An API to navigate and query documents using their meta-data.
- Feedback: An API enabling a client to provide tactile and audio feedback to user actions.
- Location API: The Location API provides a library for location positioning, landmark management and mapping and navigation.
- Messaging: The Messaging API enables access to messaging services.
- Multimedia: Provides a set of APIs to play and record media, and manage a collection of media content.
- Organizer: An API enabling clients to request calendar, schedule and personal data from local or remote backends.
- Publish and Subscribe: The Publish and Subscribe API, containing Value Space, enables applications to read item values, navigate through and subscribe to change notifications.
- Sensors: The Sensors API provides access to sensors.
- System Information: A set of APIs to discover system related information and capabilities.
- Versit: An API to import and export to the vCard and iCalendar formats.
QtMobility on Android is far for being completely ported, but already gives you the opportunity to support many areas like Location (GPS) and more.
If you are interested in checking it's status or get your hands dirty with the code, head to the build QtMobility page and have fun! Other users should just install the Necessitas SDK which will provide you with all the needed components ready to use!