Mobile Phone Handheld Hardware Hardware Rick Rogers John Lombardo O'Reilly Media, Inc. O'Reilly Media Android Application Development, 1st Edition1.4. Components of an Android ApplicationYour Android applications will be built from four basic
component types that are defined by the Android architecture:
Activities These are comparable to standalone utilities on desktop
systems, such as office applications. Activities are pieces of
executable code that come and go in time, instantiated by either the
user or the operating system and running as long as they are needed.
They can interact with the user and request data or services from
other activities or services via queries or Intents (discussed in a
moment). Most of the executable code you write for Android will execute
in the context of an Activity. Activities usually correspond to
display screens: each Activity shows one screen to the user. When it
is not actively running, an Activity can be killed by the operating
system to conserve memory.
Services These are analogous to services or daemons in desktop and
server operating systems. They are executable pieces of code that
usually run in the background from the time of their instantiation
until the mobile handset is shut down. They generally don't expose a
user interface. The classic example of a Service is an MP3 player that needs
to keep playing queued files, even while the user has gone on to use
other applications. Your application may need to implement Services
to perform background tasks that persist without a user
interface.
Broadcast and Intent Receivers These respond to requests for service from another
application. A Broadcast Receiver responds to a
system-wide announcement of an event. These announcements can come
from Android itself (e.g., battery low) or from any program running
on the system. An Activity or Service provides other applications
with access to its functionality by executing an Intent
Receiver, a small piece of executable code that responds
to requests for data or services from other activities. The
requesting (client) activity issues an Intent, leaving it up to the
Android framework to figure out which application should receive and
act on it. Intents are one of the key architectural elements in Android
that facilitate the creation of new applications from existing
applications (mobile mashups). You will use Intents in your
application to interact with other applications and services that
provide information needed by your application. Intents and Intent
Receivers are covered in more detail in Chapter 13.
Content providers These are created to share data with other activities or
services. A content provider uses a standard interface in the form
of a URI to fulfill requests for data from other applications that
may not even know which content provider they are using. For
example, when an application issues a query for Contact data, it
addresses the query to a URI of the form: content://contacts/people
The operating system looks to see which applications have
registered themselves as content providers for the given URI, and
sends the request to the appropriate application (starting the
application if it is not already running). If there is more than one
content provider registered for the requested URI, the operating
system asks the user which one he wants to use.
An application doesn't have to use all of the Android components,
but a well-written application will make use of the mechanisms provided,
rather than reinventing functionality or hardcoding references to other
applications. URIs and Intents together allow Android to provide a very
flexible user environment. Applications can be easily added, deleted, and
substituted, and the loose coupling of intents and URIs keeps everything
working together.
|
|
|
|
|