Sams Teach Yourself Android Application Development in 24 Hours

by ;
  • ISBN13:


  • ISBN10:


  • Edition: 1st
  • Format: Paperback
  • Copyright: 2010-06-10
  • Publisher: Sams Publishing
  • View Upgraded Edition
  • Purchase Benefits
  • Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $39.99 Save up to $1.60
  • eBook
    Add to Cart


Supplemental Materials

What is included with this book?

  • The eBook copy of this book is not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.


The first clear, easy, step-by-step tutorial for every developer who wants to write software for today's hot new Android phones! bull; bull;The hands-on introduction to Android programming for everyone with basic Java experience: introduces the development environment and teaches every essential concept with carefully-explained code. bull;Covers everything from user interfaces to location-based and social networking features. bull;Combines step-by-step instructions, examples, exercises, tips, and shortcuts - all in full color! With the arrival of next-generation phones like Droid, Android has established itself as a world-leading mobile development platform. This is the first friendly, accessible guide to Android development for every programmer with a working knowledge of Java. In just 24 lessons of one hour or less, this book will help beginning Android and mobile developers gain true mastery. Each lesson builds on everything that's come before, helping readers learn all they need to know without ever becoming overwhelmed. Coverage includes: bull; bull;Mastering Android's development tools and environment. bull;Quickly writing a basic application. bull;Understanding the application lifecycle, managing assets, and designing a complete application framework. bull;Retrieving, storing, and working with user data. bull;Adding popular social, location-based, and imaging features. bull;Using Android's APIs for networking and Internet connectivity. bull;Designing highly interactive applications with Notifications and Services. bull;Internationalizing, testing, and publishing applications By the time they're finished, readers won't just understand Android programming concepts: they'll be comfortable designing and delivering superior real-world apps.

Author Biography

Lauren Darcey is responsible for the technical leadership and direction of a small software company specializing in mobile technologies, including Android, iPhone, Blackberry, Palm Pre, BREW, and J2ME. With more than two decades of experience in professional software production, Lauren is a recognized authority in enterprise architecture and the development of commercial-grade mobile applications. Lauren received a B.S. in Computer Science from the University of California, Santa Cruz.


She spends her copious free time traveling the world with her geeky mobile-minded husband and is an avid nature photographer. Her work has been published in books and newspapers around the world. In South Africa, she dove with 4-meter-long great white sharks and got stuck between a herd of rampaging hippopotami and an irritated bull elephant. She’s been attacked by monkeys in Japan, gotten stuck in a ravine with two hungry lions in Kenya, gotten thirsty in Egypt, narrowly avoided a coup d’état in Thailand, geocached her way through the Swiss Alps, drank her way through the beer halls of Germany, slept in the crumbling castles of Europe, and gotten her tongue stuck to an iceberg in Iceland (while being watched by a herd of suspicious wild reindeer).


Shane Conder has extensive development experience and has focused his attention on mobile and embedded development for the past decade. He has designed and developed many commercial applications for BREW, J2ME, Palm, Windows Mobile, and Android--some of which have been installed on millions of phones worldwide. Shane has written extensively about the mobile industry and evaluated mobile development platforms on his tech blogs and is well known within the blogosphere. Shane received a B.S. in Computer Science from the University of California.


A self-admitted gadget freak, Shane always has the latest phone or laptop. He can often be found fiddling with the latest technologies, such as Amazon Web Services, Android, iPhone, Google App Engine, and other exciting, state-of-the-art technologies that activate the creative part of his brain. He also enjoys traveling the world with his geeky wife, even if she did make him dive with 4-meter-long great white sharks and almost get eaten by a lion in Kenya. He admits that it was his fault they got attacked by monkeys in Japan, that he snickered and whipped out his Android phone to take a picture when Laurie got her tongue stuck to that iceberg in Iceland, and that he still hasn’t learned his lesson about writing his own bio.


Other Publications by the Authors

The authors have also published Android Wireless Application Development, part of the Addison-Wesley Developer’s Library series, as well as numerous online technical articles for http://developer.com, http://informIT.com, and their own Android blog, http://androidbook.blogspot.com.

Table of Contents

Introduction     1


Part I: Android Fundamentals

HOUR 1: Getting Started with Android     7

Introducing Android     7

Familiarizing Yourself with Eclipse     9

Running and Debugging Applications     17

Summary     23

Q&A     23

Workshop     24


HOUR 2: Mastering the Android Development Tools     27

Using the Android Documentation      27

Debugging Applications with DDMS     29

Working with the Android Emulator     35

Using Other Android Tools     38

Summary     39

Q&A     40

Workshop     40


HOUR 3: Building Android Applications     43

Designing a Typical Android Application     43

Using the Application Context     46

Working with Activities     47

Working with Intents     51

Working with Dialogs     53

Logging Application Information     54

Summary      55

Q&A     55

Workshop     56


HOUR 4: Managing Application Resources     59

Using Application and System Resources     59

Working with Simple Resource Values     63

Working with Drawable Resources     66

Working with Layouts     67

Working with Files     71

Working with Other Types of Resources     73

Summary     73

Q&A     74

Workshop     75


HOUR 5: Configuring the Android Manifest File     77

Exploring the Android Manifest File     77

Configuring Basic Application Settings     81

Defining Activities     86

Managing Application Permissions     88

Managing Other Application Settings     91

Summary     91

Q&A     92

Workshop     93


HOUR 6: Designing an Application Framework     95

Designing an Android Trivia Game     95

Implementing an Application Prototype     102

Running the Game Prototype     107

Summary     109

Q&A     110

Workshop      110


Part II: Building an Application Framework

HOUR 7: Implementing an Animated Splash Screen     113

Designing the Splash Screen     113

Implementing the Splash Screen Layout     114

Working with Animation     119

Summary     123

Q&A     124

Workshop     124


HOUR 8: Implementing the Main Menu Screen     127

Designing the Main Menu Screen     127

Implementing the Main Menu Screen Layout     131

Working with the ListView Control     134

Working with Other Menu Types     138

Summary     141

Q&A     141

Workshop     141


HOUR 9: Developing the Help and Scores Screens     143

Designing the Help Screen     144

Implementing the Help Screen Layout     145

Working with Files     147

Designing the Scores Screen      149

Implementing the Scores Screen Layout     151

Designing a Screen with Tabs     154

Working with XML     156

Summary     158

Q&A     158

Workshop     159


HOUR 10: Building Forms to Collect User Input     161

Designing the Settings Screen     161

Implementing the Settings Screen Layout     165

Using Common Form Controls     167

Saving Form Data with SharedPreferences     175

Summary     178

Q&A     178

Workshop     179


HOUR 11: Using Dialogs to Collect User Input     181

Working with Activity Dialogs     181

Using DatePickerDialog     184

Working with Custom Dialogs     187

Summary     194

Q&A     194

Workshop     194


HOUR 12: Adding Application Logic     197

Designing the Game Screen     197

Implementing the Game Screen Layout     200

Working with ViewSwitcher Controls     203

Wiring Up Game Logic     208

Summary     214

Q&A     215

Workshop     215


Part III: Enhancing Your Application with Powerful Android Features

HOUR 13: Working with Images and the Camera     217

Designing the Avatar Feature     217

Adding an Avatar to the Settings Screen Layout     219

Working with ImageButton Controls     221

Working with Image Media     223

Working with Bitmaps     228

Summary     230

Q&A     230

Workshop     231


HOUR 14: Adding Support for Location-Based Services     233

Designing the Favorite Place Feature     233

Implementing the Framework for the Favorite Place Feature     237

Using Location-Based Services     240

Using Geocoding Services     246

Working with Maps     248

Summary     251

Q&A     251

Workshop     252


HOUR 15: Adding Network Support     255

Designing Network Applications     255

Developing Network Applications     257

Accessing Network Services     260

Indicating Network Activity with Progress Bars     262

Running Tasks Asynchronously     265

Downloading and Displaying Scores     267

Downloading and Parsing Question Batches     271

Summary     274

Q&A     274

Workshop     274


HOUR 16: Adding More Network Support     277

Determining Data to Send to the Server     277

Accessing Phone Status Information     278

Uploading Data to a Remote Application Server     281

Summary     289

Q&A     289

Workshop     289


HOUR 17: Adding Social Features     291

Enhancing Your Application with Social Features     291

Adding Friend Support to Your Application     292

Integrating with Social Networking Services     300

Summary     302

Q&A     302

Workshop     303


HOUR 18: Creating a Home Screen App Widget     305

Designing an App Widget     305

Handling App Widget User Events     313

Working with Widget Background Operations     314

Summary     318

Q&A     318

Workshop     319


Part IV: Adding Polish to Your Android Application

HOUR 19: Internationalizing Your Application     321

General Internationalization Principles     321

How Android Localization Works     322

Android Internationalization Strategies     327

Using Localization Utilities     329

Summary     330

Q&A     331

Workshop     332


HOUR 20: Developing for Different Devices     333

Configuration Management for Android     333

Summary     343

Q&A     343

Workshop     344


HOUR 21: Diving Deeper into Android     347

Exploring More Core Android Features     347

Designing Advanced User Interfaces     349

Working with Multimedia     353

Working with 2D and 3D Graphics     354

Personalizing Android Devices     356

Managing and Sharing Data     358

Accessing Underlying Device Hardware     362

Summary     364

Q&A     364

Workshop     365


HOUR 22: Testing Android Applications     367

Testing Best Practices     367

Maximizing Test Coverage     371

Summary     380

Q&A     380

Workshop     381


Part V: Publishing Your Application

HOUR 23: Getting Ready to Publish     383

Understanding the Release Process     383

Preparing the Release Candidate Build     385

Testing the Application Release Candidate     386

Packaging and Signing an Application     387

Testing the Signed Application Package     390

Summary     392

Q&A     392

Workshop     393


HOUR 24: Publishing on the Android Market     395

Selling on the Android Market     395

Exploring Other Android Publishing Options     402

Summary     405

Q&A     405

Workshop     406


Part VI: Appendixes

APPENDIX A: Configuring Your Android Development Environment     409

Development Machine Prerequisites     409

Installing the Java Development Kit     410

Installing the Eclipse IDE     410

Installing the Android SDK     411

Installing and Configuring the Android Plug-in for Eclipse (ADT)      412

Upgrading the Android SDK     413

Configuring Development Hardware for Device Debugging     413


APPENDIX B: Eclipse IDE Tips and Tricks     415

Creating New Classes and Methods     415

Organizing Imports     415

Documenting Code     416

Using Auto-Complete      416

Editing Code Efficiently     416

Renaming Almost Anything     417

Formatting Code     418

Organizing Code     418

Fun with Refactoring     418

Resolving Mysterious Build Errors     420

Creating Custom Log Filters     420

Moving Tabs Around     421

Integrating Source Control     421


APPENDIX C: Supplementary Materials     423

Accessing the Publisher’s Website     423

Accessing the Authors’ Website      424

Contacting the Authors     425

Leveraging Online Android Resources     425


Index     427

Rewards Program

Write a Review