Mobile Phone Handheld Hardware Hardware Rick Rogers John Lombardo O'Reilly Media, Inc. O'Reilly Media Android Application Development, 1st Edition1.3. The Android Execution EnvironmentApplications in Android are a bit different from what you may be used to
in the desktop and server environments. The differences are driven by a
few key concepts unique to the mobile phone environment and unique to
Google's intentions for Android. As you write applications for an Android
handset, you will use these concepts to guide the design and
implementation of the application:
Limited resources Mobile phones today are very powerful handheld computers, but they
are still limited. The fundamental limitation of a mobile device is
battery capacity. Every clock tick of the processor, every refresh
of memory, every backlit pixel on the user's screen takes energy
from the battery. Battery size is limited, and users don't like
frequent battery charging. As a result, the computing resources are
limited—clock rates are in the hundreds of MHz, memory is at best a
few gigabytes, data storage is at best a few tens of gigabytes.
Throughout this book we will talk about the mechanisms included in
Android to optimize for these limited resources.
Mobile mashups In the desktop Internet world, mashups make it very easy to create
new applications by reusing the data and user interface elements
provided by existing applications. Google Maps is a great example:
you can easily create a web-based application that incorporates
maps, satellite imagery, and traffic updates using just a few lines
of JavaScript on your own web page. Android extends that concept to
the mobile phone. In other mobile environments, applications are
separate, and with the exception of browser-based applications, you
are expected to code your applications separately from the other
applications that are running on the handset. In Android you can
easily create new applications that incorporate existing
applications. Chapter 13 focuses on these
mobile mashups.
Interchangeable applications In other mobile software environments, applications are coded to access data from specific
data providers. If you need to send an email from a Windows Mobile
application, for example, you code explicit references to Pocket
Outlook's email interface, and send the email that way. But what if
the user wants to use another email client? Android incorporates a fundamental mechanism (Intents)
that is independent of specific application
implementations. In an Android application, you don't say you want
to send email through a specific application; instead, you say you
want to send an email through whatever application is available. The
operating system takes care of figuring out what application can
send emails, starts that application if needed, and connects your
request so the email can be sent. The user can substitute different
browsers, different MP3 players, or different email clients at will,
and Android adapts automatically.
|
|
|
|
|