Since Android is an open cell phone platform, anyone will be able to build their own devices that run the core Android OS. There is no requirement that any given phone include any Google software, or even be associated with Google at all.
However, some groups may choose to license a set of optional user applications from Google that provide convenient developer access to Google services. This will generally be a collection of software included in the base system image and shipped with the phone.
Because many devices will include these libraries, for the convenience of developers we're including information about those APIs here. However, please be aware that any APIs you use from the list below may not be available on all Android devices. If the Google software is not present, these libraries and classes will not be present. As a result, if your application uses these APIs, it may not install or run properly on devices that lack the APIs.
The MapView is an Android View that allows third-party code to display and control a Google Map. Users will have access to the normal map navigation functions such as pan and zoom—and developers can capture keypresses, draw overlays, and perform other view manipulations through code.
To use a MapView, you must derive your activity class from MapActivity, a base class that takes care of all the plumbing necessary for MapView to work. As with other Android Views, you can specify the layout through XML.
Applications will frequently need to communicate between devices. For instance, you might wish to send messages back and forth between two devices, to implement an interactive game of checkers. Or, you might develop a social application where you want to send a message to a buddy.
One way to do this is to simply send an SMS message to the other phone. It's possible to receive notifications via an IntentReceiver of incoming SMS messages, inspect them to see if they contain data intended for your application, and then consume the message, preventing other applications (and the user) from ever seeing it directly. This works well, but it has two major down-sides: SMS messages can take several minutes to deliver, and they typically cost users money to send and receive. If you built an online game using SMS message-passing, it might very well be both slow and frustrating, and very expensive to your users.
As an alternative, Google provides an API that passes messages between users. GTalkService includes presence notification, meaning that it provides a convenient way for phones to notify each other when they are online and available for message-passing. It also provides a programmatic model similar to SMS-based message-passing, in that the sender calls a method on a Service to send a message, and the receiver is notified via a broadcast Intent (which it can fetch via an IntentReceiver). However, because GTalkService maintains a persistent socket connection, the response time is much faster than SMS, allowing for a more fluid user experience.
The system currently maintains a single GTalk connection to the server, and all messaging traffic — including both standard GTalk instant messages, and this P2P message-passing system — is carried on the same connection.