Android is suitable for a wide variety of phones, from high-end smartphones on down. The core Android APIs will be available on every Android phone, but there are a few APIs which have special concerns: the "optional" APIs.
These APIs are "optional" for two reasons. First, they're optional in the sense that you don't need to use them. For example, you can't write an application without using the Activity and Intent APIs, but your application may not need to know where the user is, and so you may not need the Location-Based Services API. In this sense, the LBS API is optional where the Activity API is not.
Second, some of these are "optional" in the sense that a given handset may not support them. For instance, a given handset may not have Bluetooth or WiFi hardware. In this case, the APIs for accessing those features will still be present, but they won't work. That is, your application won't have trouble running or linking on a device that doesn't support an API you use, because the classes will be present on the device. However, the implementations may not do anything, or may throw exceptions when you actually try to use them. What exactly each API does on unsupported devices is described in the documentation for that API; you should be sure to code your application to gracefully handle such cases.
Location-Based Services (LBS) allow software to obtain the phone's current location. This includes location obtained from the Global Positioning System (GPS) satellite constellation, but it's not limited to that. For instance, other location-based systems may come online in the future, and as they do, support for them can be added to this API.
Click here for an introduction to the Android LBS APIs.
The Media APIs are used to play media files. This includes both audio (such as playing MP3s or other music files, as well as game sound effects) and video (such as playing a video downloaded over the web.) Support is included for "playing URIs" — that is, streaming media data over the network.
Click here for an introduction to the Android Media APIs.
Android's primary user interface framework is a typical widget-oriented class hierarchy. Don't let that fool you, though — sitting underneath that is a very fast 2D and 3D compositing engine, with support for hardware acceleration. The API used to access the 3D capabilities of the platform is the OpenGL ES API.
Click here for an introduction to the Android OpenGL API.
Android will include APIs for accessing low-level hardware such as Bluetooth and WiFi. These APIs, however, are not yet available in the SDK. When they are released, this documentation will be updated.