To develop applications for Android, we will use the Android software development kit (SDK). The SDK is composed of a comprehensive set of tools, documentation, tutorials, and samples that will help you get started in no time. Also included are the Java libraries needed to create applications for Android. These contain the APIs of the application framework. All major desktop operating systems are supported as development environments.
Prominent features of the SDK are as follows:
■ The debugger, capable of debugging applications running on a device or in the emulator
■ A memory and performance profile to help you find memory leaks and identify slow code
■ The device emulator, based on QEMU (an open source virtual machine to simulate different hardware platforms), which, although accurate, can be a bit slow at times
■ Command-line utilities to communicate with devices
■ Build scripts and tools to package and deploy applications
The SDK can be integrated with Eclipse, a popular and feature-rich open source Java integrated development environment (IDE). The integration is achieved through the Android Development Tools (ADT) plug-in, which adds a set of new capabilities to Eclipse to create Android projects; to execute, profile and debug applications in the emulator or on a device; and to package Android applications for their deployment to the Android Market. Note that the SDK can also be integrated into other IDEs such as NetBeans. There is, however, no official support for this.
NOTE: Chapter 2 covers how to set up the development environment with the SDK and Eclipse.
The SDK and the ADT plug-in for Eclipse receive constant updates that add new features and capabilities. It's therefore a good idea to keep them updated.
Alongside any good SDK comes extensive documentation. Android's SDK does not fall short in this area and comes with a lot of sample applications. You can also find a developer guide and a full API reference for all the modules of the application framework at http://developer.android.com/guide/index.html.
Was this article helpful?