This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
[Excerpted from Hello, Android, used with permission.]
What Makes Android Special?
There are already many mobile platforms on the market today, including
Symbian, iPhone, Windows Mobile, BlackBerry, Java Mobile Edition,
Linux Mobile (LiMo), and more. When I tell people about Android,
their first question is often, Why do we need another mobile standard?
Where's the "wow"?
Although some of its features have appeared before, Android is the first
environment that combines the following:
A truly open, free development platform based on Linux and open
source: Handset makers like it because they can use and customize
the platform without paying a royalty. Developers like it
because they know that the platform "has legs" and is not locked
into any one vendor that may go under or be acquired.
A component-based architecture inspired by Internet mashups:
Parts of one application can be used in another in ways not originally
envisioned by the developer. You can even replace built-in
components with your own improved versions. This will unleash a
new round of creativity in the mobile space.
Tons of built-in services out of the box: Location-based services use
GPS or cell tower triangulation to let you customize the user experience
depending on where you are. A full-powered SQL database
lets you harness the power of local storage for occasionally connected
computing and synchronization. Browser and map views
can be embedded directly in your applications. All these built-in
capabilities help raise the bar on functionality while lowering your
Automatic management of the application life cycle: Programs are
isolated from each other by multiple layers of security, which will
provide a level of system stability not seen before in smart phones.
The end user will no longer have to worry about what applications
are active or close some programs so that others can run. Android
is optimized for low-power, low-memory devices in a fundamental
way that no previous platform has attempted.
High-quality graphics and sound: Smooth, antialiased 2D vector
graphics and animation inspired by Flash are melded with 3D
accelerated OpenGL graphics to enable new kinds of games and
business applications. Codecs for the most common industry standard
audio and video formats are built right in, including
H.264 (AVC), MP3, and AAC.
Portability across a wide range of current and future hardware:
All your programs are written in Java and executed by Android's
Dalvik virtual machine, so your code will be portable across
ARM, x86, and other architectures. Support for a variety of input
methods is included such as keyboard, touch, and trackball.
User interfaces can be customized for any screen resolution and
Android offers a fresh take on the way mobile applications interact with
users, along with the technical underpinnings to make it possible. But
the best part of Android is the software that you are going to write for
it. This book will help you get off to a great start.