Beginning Android 2. Apress

Mark L. Murphy

Begin the journey toward your own . successful Android 2 applications

Apress and friends of ED books may be purchased in bulk for academic, corporate, or
promotional use. eBook versions and licenses are also available for most titles. For more
information, reference our Special Bulk Sales–eBook Licensing web page at
www.apress.com/info/bulksales.

e-books shop
Beginning Android 2

About the Author
Mark Murphy is the founder of CommonsWare and the author of the Busy
Coder’s Guide to Android Development. A three-time entrepreneur, his
experience ranges from consulting on open source and collaborative
development for the Fortune 500 to application development on just about
anything smaller than a mainframe. He has been a software developer for
more than 25 years, from the TRS-80 to the latest crop of mobile devices. A
polished speaker, Mark has delivered conference presentations and training
sessions on a wide array of topics internationally.
Mark writes the Building ‘Droids column for AndroidGuys and the Android
Angle column for NetworkWorld.
Outside of CommonsWare, Mark has an avid interest in how the Internet will
play a role in citizen involvement with politics and government. He is also a contributor to the
Rebooting America essay collection.

Acknowledgments
I would like to thank the Android team, not only for putting out a good product, but for
invaluable assistance on the Android Google Groups. In particular, I would like to thank Romain
Guy, Justin Mattson, Dianne Hackborn, Jean-Baptiste Queru, Jeff Sharkey, and Xavier Ducrohet.
Icons used in the sample code were provided by the Nuvola icon set: www.icon-king.com/?p=15.

Preface

Welcome to the Book!
Thanks for your interest in developing applications for Android! Increasingly, people will access
Internet-based services using so-called "nontraditional" means, such as mobile devices. The
more we do in that space now, the more that people will help invest in that space to make it
easier to build more powerful mobile applications in the future. Android is new—Androidpowered
devices first appeared on the scene in late 2008—but it likely will rapidly grow in
importance due to the size and scope of the Open Handset Alliance.
And, most of all, thanks for your interest in this book! I sincerely hope you find it useful
and at least occasionally entertaining.

Prerequisites
If you are interested in programming for Android, you will need at least a basic understanding of
how to program in Java. Android programming is done using Java syntax, plus a class library that
resembles a subset of the Java SE library (plus Android-specific extensions). If you have not
programmed in Java before, you probably should learn how that works before attempting to dive into programming for Android.

The book does not cover in any detail how to download or install the Android
development tools, either the Eclipse IDE flavor or the stand-alone flavor. The Android web site
covers this quite nicely. The material in the book should be relevant whether or not you use the
IDE. You should download, install, and test the Android development tools from the Android web
site before trying any of the examples presented in this book.
Some chapters may reference material in previous chapters. Also, not every sample shown
has the complete source code in the book, lest this book get too large. If you wish to compile the
samples, download the source code from the Apress web site (www.apress.com).

Editions of This Book
This book is being produced via a partnership between Apress and CommonsWare. You are
reading the Apress edition, which is available in print and in digital form from various digital
book services, such as Safari.
CommonsWare continually updates the original material and makes it available to
members of its Warescription program, under the title The Busy Coder's Guide to Android Development.
CommonsWare maintains a FAQ about this partnership at
http://commonsware.com/apress.

Source Code and Its License
The source code for this book is available to readers at www.apress.com. All of the Android
projects are licensed under the Apache 2.0 License at www.apache.org/licenses/LICENSE-2.0.html, in case you have the desire to reuse any of it.


Screenshot

e-books shop

Purchase Now !
Just with Paypal



Product details
 Price
 File Size
 10,452 KB
 Pages
 417 p
 File Type
 PDF format
 ISBN-13 (pbk)
 ISBN-13 (electronic)
 978-1-4302-2629-1
 978-1-4302-2630-7
 Copyright
 2010 by Mark L. Murphy                

Contents at a Glance
■Contents
■About the Author
■Acknowledgments
■Preface
■Chapter 1: The Big Picture 
■Chapter 2: Projects and Targets
■Chapter 3: Creating a Skeleton Application
■Chapter 4: Using XML-Based Layouts
■Chapter 5: Employing Basic Widgets
■Chapter 6: Working with Containers
■Chapter 7: Using Selection Widgets
■Chapter 8: Getting Fancy with Lists
■Chapter 9: Employing Fancy Widgets and Containers
■Chapter 10: The Input Method Framework
■Chapter 11: Applying Menus
■Chapter 12: Fonts
■Chapter 13: Embedding the WebKit Browser
■Chapter 14: Showing Pop-Up Messages
■Chapter 15: Dealing with Threads
■Chapter 16: Handling Activity Life Cycle Events
■Chapter 17: Creating Intent Filters
■Chapter 18: Launching Activities and Subactivities
■Chapter 19: Handling Rotation
■Chapter 20: Working with Resources
■Chapter 21: Using Preferences
■Chapter 22: Managing and Accessing Local Databases
■Chapter 23: Accessing Files
■Chapter 24: Leveraging Java Libraries
■Chapter 25: Communicating via the Internet
■Chapter 26: Using a Content Provider
■Chapter 27: Building a Content Provider
■Chapter 28: Requesting and Requiring Permissions
■Chapter 29: Creating a Service
■Chapter 30: Invoking a Service
■Chapter 31: Alerting Users via Notifications
■Chapter 32: Accessing Location-Based Services
■Chapter 33: Mapping with MapView and MapActivity.
■Chapter 34: Handling Telephone Calls
■Chapter 35: Development Tools
■Chapter 36: Handling Multiple Screen Sizes
■Chapter 37: Dealing with Devices
■Chapter 38: Handling Platform Changes
■Chapter 39: Where Do We Go from Here?
■Index


Table of Contents
■Contents at a Glance....................................................................................... iv􀀁
■Contents .......................................................................................................... v􀀁
■About the Author .......................................................................................... xiii􀀁
■Acknowledgments.........................................................................................xiv􀀁
■Preface ...........................................................................................................xv􀀁
■Chapter 1: The Big Picture............................................................................... 1􀀁
Challenges of Smartphone Programming ...............................................................................................................1􀀁
What Androids Are Made Of....................................................................................................................................2􀀁
Stuff at Your Disposal .............................................................................................................................................3􀀁
■Chapter 2: Projects and Targets...................................................................... 5􀀁
Pieces and Parts .....................................................................................................................................................5􀀁
Creating a Project ...................................................................................................................................................6􀀁
Project Structure.....................................................................................................................................................6􀀁
Root Contents ....................................................................................................................................................6􀀁
The Sweat Off Your Brow...................................................................................................................................7􀀁
And Now, the Rest of the Story..........................................................................................................................7􀀁
What You Get Out of It........................................................................................................................................8􀀁
Inside the Manifest .................................................................................................................................................8􀀁
In the Beginning, There Was the Root, And It Was Good ...................................................................................9􀀁
Permissions, Instrumentations, and Applications (Oh My!) ...............................................................................9􀀁
Your Application Does Something, Right? .......................................................................................................10􀀁
Achieving the Minimum ...................................................................................................................................11􀀁
Version=Control ...............................................................................................................................................12􀀁
Emulators and Targets..........................................................................................................................................12􀀁
Virtually There..................................................................................................................................................12􀀁
Aiming at a Target ...........................................................................................................................................14􀀁
■Chapter 3: Creating a Skeleton Application................................................... 17􀀁
Begin at the Beginning..........................................................................................................................................17􀀁
Dissecting the Activity ..........................................................................................................................................18􀀁
Building and Running the Activity.........................................................................................................................20􀀁
■Chapter 4: Using XML-Based Layouts ........................................................... 23􀀁
What Is an XML-Based Layout? ............................................................................................................................23􀀁
Why Use XML-Based Layouts? .............................................................................................................................24􀀁
OK, So What Does It Look Like?............................................................................................................................24􀀁
What’s with the @ Signs?.....................................................................................................................................25􀀁
And How Do We Attach These to the Java?..........................................................................................................25􀀁
The Rest of the Story ............................................................................................................................................26􀀁
■Chapter 5: Employing Basic Widgets............................................................. 29􀀁
Assigning Labels...................................................................................................................................................29􀀁
Button, Button, Who’s Got the Button? .................................................................................................................30􀀁
Fleeting Images ....................................................................................................................................................31􀀁
Fields of Green. Or Other Colors. ..........................................................................................................................32􀀁
Just Another Box to Check....................................................................................................................................33􀀁
Turn the Radio Up .................................................................................................................................................35􀀁
It’s Quite a View ....................................................................................................................................................37􀀁
Useful Properties .............................................................................................................................................37􀀁
Useful Methods ................................................................................................................................................38􀀁
Colors...............................................................................................................................................................38􀀁
■Chapter 6: Working with Containers ............................................................. 39􀀁
Thinking Linearly ..................................................................................................................................................39􀀁
LinearLayout Concepts and Properties ............................................................................................................40􀀁
LinearLayout Example......................................................................................................................................42􀀁
All Things Are Relative ..........................................................................................................................................46􀀁
RelativeLayout Concepts and Properties .........................................................................................................47􀀁
RelativeLayout Example...................................................................................................................................49􀀁
Tabula Rasa ..........................................................................................................................................................51􀀁
TableLayout Concepts and Properties .............................................................................................................52􀀁
TableLayout Example.......................................................................................................................................53􀀁
Scrollwork.............................................................................................................................................................54􀀁
■Chapter 7: Using Selection Widgets .............................................................. 59􀀁
Adapting to the Circumstances.............................................................................................................................59􀀁
Lists of Naughty and Nice .....................................................................................................................................60􀀁
Spin Control ..........................................................................................................................................................63􀀁
Grid Your Lions (or Something Like That...) ..........................................................................................................66􀀁
Fields: Now with 35% Less Typing! ......................................................................................................................69􀀁
Galleries, Give or Take the Art ..............................................................................................................................72􀀁
■Chapter 8: Getting Fancy with Lists .............................................................. 75􀀁
Getting to First Base .............................................................................................................................................75􀀁
A Dynamic Presentation........................................................................................................................................77􀀁
Better. Stronger. Faster. .......................................................................................................................................80􀀁
Using convertView ...........................................................................................................................................80􀀁
Using the Holder Pattern..................................................................................................................................81􀀁
Making a List... .....................................................................................................................................................84􀀁
...And Checking It Twice .......................................................................................................................................89􀀁
Adapting Other Adapters.......................................................................................................................................94􀀁
■Chapter 9: Employing Fancy Widgets and Containers................................... 95􀀁
Pick and Choose ...................................................................................................................................................95􀀁
Time Keeps Flowing Like a River..........................................................................................................................99􀀁
Making Progress.................................................................................................................................................101􀀁
Seeking Resolution .............................................................................................................................................101􀀁
Put It on My Tab ..................................................................................................................................................102􀀁
The Pieces .....................................................................................................................................................103􀀁
The Idiosyncrasies .........................................................................................................................................103􀀁
Wiring It Together ..........................................................................................................................................104􀀁
Adding Them Up.............................................................................................................................................106􀀁
Intents and Views ..........................................................................................................................................109􀀁
Flipping Them Off................................................................................................................................................109􀀁
Manual Flipping .............................................................................................................................................110􀀁
Adding Contents on the Fly ............................................................................................................................112􀀁
Automatic Flipping.........................................................................................................................................113􀀁
Getting in Someone’s Drawer .............................................................................................................................114􀀁
Other Good Stuff .................................................................................................................................................116􀀁
■Chapter 10: The Input Method Framework.................................................. 117􀀁
Keyboards, Hard and Soft ...................................................................................................................................117􀀁
Tailored to Your Needs........................................................................................................................................118􀀁
Tell Android Where It Can Go ..............................................................................................................................121􀀁
Fitting In..............................................................................................................................................................123􀀁
Unleash Your Inner Dvorak .................................................................................................................................124􀀁
■Chapter 11: Applying Menus ....................................................................... 125􀀁
Menus of Options................................................................................................................................................125􀀁
Creating an Options Menu .............................................................................................................................125􀀁
Adding Menu Choices and Submenus ...........................................................................................................126􀀁
Menus in Context ................................................................................................................................................127􀀁
Taking a Peek .....................................................................................................................................................128􀀁
Yet More Inflation................................................................................................................................................133􀀁
Menu XML Structure ......................................................................................................................................133􀀁
Menu Options and XML..................................................................................................................................134􀀁
Inflating the Menu..........................................................................................................................................135􀀁
■Chapter 12: Fonts ........................................................................................ 137􀀁
Love the One You’re With....................................................................................................................................137􀀁
More Fonts..........................................................................................................................................................138􀀁
Here a Glyph, There a Glyph ...............................................................................................................................140􀀁
■Chapter 13: Embedding the WebKit Browser .............................................. 141􀀁
A Browser, Writ Small.........................................................................................................................................141􀀁
Loading It Up.......................................................................................................................................................143􀀁
Navigating the Waters.........................................................................................................................................144􀀁
Entertaining the Client ........................................................................................................................................145􀀁
Settings, Preferences, and Options (Oh My!) ......................................................................................................147􀀁
■Chapter 14: Showing Pop-Up Messages...................................................... 149􀀁
Raising Toasts.....................................................................................................................................................149􀀁
Alert! Alert!..........................................................................................................................................................150􀀁
Checking Them Out.............................................................................................................................................151􀀁
■Chapter 15: Dealing with Threads ............................................................... 155􀀁
Getting Through the Handlers .............................................................................................................................155􀀁
Messages.......................................................................................................................................................156􀀁
Runnables ......................................................................................................................................................158􀀁
Running in Place .................................................................................................................................................159􀀁
Where Oh Where Has My UI Thread Gone?.........................................................................................................159􀀁
Asyncing Feeling.................................................................................................................................................159􀀁
The Theory .....................................................................................................................................................159􀀁
AsyncTask, Generics, and Varargs.................................................................................................................160􀀁
The Stages of AsyncTask...............................................................................................................................160􀀁
A Sample Task ...............................................................................................................................................161􀀁
And Now, the Caveats.........................................................................................................................................164􀀁
■Chapter 16: Handling Activity Life Cycle Events.......................................... 167􀀁
Schroedinger’s Activity .......................................................................................................................................167􀀁
Life, Death, and Your Activity..............................................................................................................................168􀀁
onCreate() and onDestroy() ............................................................................................................................168􀀁
onStart(), onRestart(), and onStop() ...............................................................................................................169􀀁
onPause() and onResume() ............................................................................................................................169􀀁
The Grace of State ..............................................................................................................................................169􀀁
■Chapter 17: Creating Intent Filters .............................................................. 171􀀁
What’s Your Intent?.............................................................................................................................................171􀀁
Pieces of Intents ............................................................................................................................................172􀀁
Intent Routing ................................................................................................................................................172􀀁
Stating Your Intent(ions) .....................................................................................................................................173􀀁
Narrow Receivers ...............................................................................................................................................174􀀁
The Pause Caveat ...............................................................................................................................................175􀀁
■Chapter 18: Launching Activities and Subactivities.................................... 177􀀁
Peers and Subs...................................................................................................................................................177􀀁
Start ’Em Up........................................................................................................................................................178􀀁
Make an Intent...............................................................................................................................................178􀀁
Make the Call .................................................................................................................................................178􀀁
Tabbed Browsing, Sort Of ...................................................................................................................................182􀀁
■Chapter 19: Handling Rotation .................................................................... 185􀀁
A Philosophy of Destruction................................................................................................................................185􀀁
It’s All the Same, Just Different ..........................................................................................................................185􀀁
Now with More Savings!.....................................................................................................................................189􀀁
DIY Rotation ........................................................................................................................................................191􀀁
Forcing the Issue ................................................................................................................................................193􀀁
Making Sense of It All .........................................................................................................................................195􀀁
■Chapter 20: Working with Resources.......................................................... 197􀀁
The Resource Lineup ..........................................................................................................................................197􀀁
String Theory ......................................................................................................................................................198􀀁
Plain Strings...................................................................................................................................................198􀀁
String Formats ...............................................................................................................................................198􀀁
Styled Text .....................................................................................................................................................199􀀁
Styled String Formats ....................................................................................................................................199􀀁
Got the Picture? ..................................................................................................................................................202􀀁
XML: The Resource Way .....................................................................................................................................204􀀁
Miscellaneous Values .........................................................................................................................................206􀀁
Dimensions ....................................................................................................................................................207􀀁
Colors.............................................................................................................................................................207􀀁
Arrays.............................................................................................................................................................208􀀁
Different Strokes for Different Folks ...................................................................................................................208􀀁
■Chapter 21: Using Preferences.................................................................... 213􀀁
Getting What You Want .......................................................................................................................................213􀀁
Stating Your Preference......................................................................................................................................214􀀁
And Now, a Word from Our Framework..............................................................................................................214􀀁
Letting Users Have Their Say..............................................................................................................................215􀀁
Adding a Wee Bit o' Structure.............................................................................................................................219􀀁
The Kind of Pop-Ups You Like.............................................................................................................................221􀀁
■Chapter 22: Managing and Accessing Local Databases.............................. 225􀀁
The Database Example .......................................................................................................................................225􀀁
A Quick SQLite Primer.........................................................................................................................................227􀀁
Start at the Beginning.........................................................................................................................................227􀀁
Setting the Table.................................................................................................................................................230􀀁
Makin’ Data.........................................................................................................................................................230􀀁
What Goes Around Comes Around ......................................................................................................................232􀀁
Raw Queries...................................................................................................................................................232􀀁
Regular Queries .............................................................................................................................................232􀀁
Building with Builders....................................................................................................................................233􀀁
Using Cursors.................................................................................................................................................234􀀁
Data, Data, Everywhere ......................................................................................................................................235􀀁
■Chapter 23: Accessing Files ........................................................................ 237􀀁
You and the Horse You Rode in On .....................................................................................................................237􀀁
Readin’ ’n Writin’ ................................................................................................................................................240􀀁
■Chapter 24: Leveraging Java Libraries ....................................................... 245􀀁
The Outer Limits..................................................................................................................................................245􀀁
Ants and JARs.....................................................................................................................................................246􀀁
Following the Script............................................................................................................................................246􀀁
...And Not a Drop to Drink ...................................................................................................................................250􀀁
Reviewing the Script...........................................................................................................................................251􀀁
■Chapter 25: Communicating via the Internet .............................................. 253􀀁
REST and Relaxation...........................................................................................................................................253􀀁
HTTP Operations via Apache HttpClient ..............................................................................................................254􀀁
Parsing Responses .............................................................................................................................................255􀀁
Stuff to Consider .................................................................................................................................................257􀀁
■Chapter 26: Using a Content Provider ......................................................... 259􀀁
Pieces of Me .......................................................................................................................................................25
Getting a Handle .................................................................................................................................................260􀀁
Makin’ Queries....................................................................................................................................................260􀀁
Adapting to the Circumstances...........................................................................................................................261􀀁
Give and Take .....................................................................................................................................................263􀀁
Beware of the BLOB!...........................................................................................................................................264􀀁
■Chapter 27: Building a Content Provider ..................................................... 265􀀁
First, Some Dissection ........................................................................................................................................265􀀁
Next, Some Typing..............................................................................................................................................266􀀁
Creating Your Content Provider...........................................................................................................................267􀀁
Step 1: Create a Provider Class .....................................................................................................................267􀀁
Step 2: Supply a Uri .......................................................................................................................................272􀀁
Step 3: Declare the Properties .......................................................................................................................272􀀁
Step 4: Update the Manifest ..........................................................................................................................273􀀁
Notify-on-Change Support ..................................................................................................................................273􀀁
■Chapter 28: Requesting and Requiring Permissions ................................... 275􀀁
Mother, May I?....................................................................................................................................................275􀀁
Halt! Who Goes There? .......................................................................................................................................276􀀁
Enforcing Permissions via the Manifest.........................................................................................................277􀀁
Enforcing Permissions Elsewhere .................................................................................................................278􀀁
May I See Your Documents?...............................................................................................................................278􀀁
■Chapter 29: Creating a Service.................................................................... 279􀀁
Service with Class ..............................................................................................................................................279􀀁
There Can Only Be One .......................................................................................................................................280􀀁
Manifest Destiny .................................................................................................................................................281􀀁
Lobbing One Over the Fence...............................................................................................................................282􀀁
Callbacks .......................................................................................................................................................283􀀁
Broadcast Intents...........................................................................................................................................283􀀁
Where’s the Remote? And the Rest of the Code? ...............................................................................................284􀀁
■Chapter 30: Invoking a Service ................................................................... 285􀀁
The Ties That Bind ..............................................................................................................................................286􀀁
Catching the Lob.................................................................................................................................................287􀀁
■Chapter 31: Alerting Users via Notifications ............................................... 289􀀁
Types of Pestering ..............................................................................................................................................289􀀁
Hardware Notifications ..................................................................................................................................290􀀁
Icons ..............................................................................................................................................................290􀀁
Seeing Pestering in Action..................................................................................................................................290􀀁
■Chapter 32: Accessing Location-Based Services ........................................ 295􀀁
Location Providers: They Know Where You’re Hiding .........................................................................................295􀀁
Finding Yourself ..................................................................................................................................................296􀀁
On the Move........................................................................................................................................................297􀀁
Are We There Yet? Are We There Yet? Are We There Yet? .................................................................................298􀀁
Testing...Testing... ..............................................................................................................................................299􀀁
■Chapter 33: Mapping with MapView and MapActivity ................................ 301􀀁
Terms, Not of Endearment..................................................................................................................................301􀀁
Piling On..............................................................................................................................................................302􀀁
The Bare Bones...................................................................................................................................................302􀀁
Exercising Your Control.......................................................................................................................................303􀀁
Zoom..............................................................................................................................................................304􀀁
Center ............................................................................................................................................................304􀀁
Rugged Terrain ...................................................................................................................................................304􀀁
Layers upon Layers.............................................................................................................................................305􀀁
Overlay Classes..............................................................................................................................................305􀀁
Drawing the ItemizedOverlay.........................................................................................................................305􀀁
Handling Screen Taps....................................................................................................................................307􀀁
My, Myself, and MyLocationOverlay ...................................................................................................................307􀀁
The Key to It All ...................................................................................................................................................308􀀁
■Chapter 34: Handling Telephone Calls......................................................... 311􀀁
Report to the Manager ........................................................................................................................................311􀀁
You Make the Call!..............................................................................................................................................312􀀁
■Chapter 35: Development Tools................................................................... 315􀀁
Hierarchical Management...................................................................................................................................315􀀁
Delightful Dalvik Debugging Detailed, Demoed ..................................................................................................321􀀁
Logging ..........................................................................................................................................................322􀀁
File Push and Pull ..........................................................................................................................................323􀀁
Screenshots ...................................................................................................................................................324􀀁
Location Updates ...........................................................................................................................................325􀀁
Placing Calls and Messages ..........................................................................................................................326􀀁
Put It on My Card ................................................................................................................................................328􀀁
Creating a Card Image ...................................................................................................................................328􀀁
Inserting the Card ..........................................................................................................................................329􀀁
■Chapter 36: Handling Multiple Screen Sizes ............................................... 331􀀁
Taking the Default...............................................................................................................................................331􀀁
Whole in One.......................................................................................................................................................332􀀁
Think About Rules, Rather Than Positions .....................................................................................................332􀀁
Consider Physical Dimensions.......................................................................................................................333􀀁
Avoid Real Pixels............................................................................................................................................333􀀁
Choose Scalable Drawables ..........................................................................................................................334􀀁
Tailor-Made, Just for You (and You, and You, and...)..........................................................................................334􀀁
Add <supports-screens>...............................................................................................................................334􀀁
Resources and Resource Sets .......................................................................................................................335􀀁
Finding Your Size ...........................................................................................................................................336􀀁
Ain’t Nothing Like the Real Thing........................................................................................................................337􀀁
Density Differs ...............................................................................................................................................337􀀁
Adjusting the Density.....................................................................................................................................337􀀁
Accessing Actual Devices ..............................................................................................................................338􀀁
Ruthlessly Exploiting the Situation .....................................................................................................................339􀀁
Replace Menus with Buttons .........................................................................................................................339􀀁
Replace Tabs with a Simple Activity..............................................................................................................340􀀁
Consolidate Multiple Activities.......................................................................................................................340􀀁
Example: EU4You ................................................................................................................................................340􀀁
The First Cut...................................................................................................................................................340􀀁
Fixing the Fonts .............................................................................................................................................346􀀁
Fixing the Icons..............................................................................................................................................348􀀁
Using the Space.............................................................................................................................................348􀀁
What If It’s Not a Browser? ............................................................................................................................350􀀁
What Are a Few Bugs Among Friends?...............................................................................................................351􀀁
■Chapter 37: Dealing with Devices................................................................ 353􀀁
This App Contains Explicit Instructions...............................................................................................................353􀀁
Button, Button, Who’s Got the Button? ...............................................................................................................354􀀁
A Guaranteed Market ..........................................................................................................................................355􀀁
The Down and Dirty Details ................................................................................................................................355􀀁
Archos 5 Android Internet Tablet ...................................................................................................................355􀀁
Motorola CLIQ/DEXT.......................................................................................................................................356􀀁
Motorola DROID/Milestone.............................................................................................................................356􀀁
Google/HTC Nexus One ..................................................................................................................................357􀀁
Motorola BACKFLIP ........................................................................................................................................357􀀁
■Chapter 38: Handling Platform Changes ..................................................... 359􀀁
Brand Management ............................................................................................................................................359􀀁
More Things That Make You Go Boom................................................................................................................360􀀁
View Hierarchy...............................................................................................................................................360􀀁
Changing Resources ......................................................................................................................................361􀀁
Handling API Changes.........................................................................................................................................362􀀁
Detecting the Version.....................................................................................................................................362􀀁
Wrapping the API ...........................................................................................................................................362􀀁
■Chapter 39: Where Do We Go from Here? .................................................... 367􀀁
Questions—Sometimes with Answers ...............................................................................................................367􀀁
Heading to the Source ........................................................................................................................................368􀀁
Getting Your News Fix.........................................................................................................................................368􀀁
■Index............................................................................................................ 369

  ●▬▬▬▬▬❂❂❂▬▬▬▬▬●
●▬▬❂❂▬▬●
●▬❂▬●

═════ ═════

Previous Post Next Post