Register your product to gain access to bonus material or receive a coupon.
&>
In just 24 sessions of one hour or less, learn how to build powerful applications for the world’s first complete, open, and free mobile platform: Android. Using this book’s straightforward, step-by-step approach, you’ll build a fully-featured Android application from the ground up and master the skills you need to design, develop, test, and publish powerful applications. Each lesson builds on what you’ve already learned, giving you a rock-solid foundation for real-world success!
Step-by-step instructions carefully walk you through the most common Android development tasks.
Quizzes and Exercises at the end of each chapter help you test your knowledge.
By the Way notes present interesting information related to the discussion.
Did You Know? tips offer advice or show you easier ways to perform tasks.
Watch Out! cautions alert you to possible problems and give you advice on how to avoid them.
Learn how to…
Download the code for Chapter 6.
Download the code for Chapter 7.
Download the code for Chapter 8.
Download the code for Chapter 9.
Download the code for Chapter 10.
Download the code for Chapter 11.
Download the code for Chapter 12.
Download the code for Chapter 13.
Download the code for Chapter 14.
Download the code for Chapter 15 and 16.
Download the code for Chapter 17.
Download the code for Chapter 18.
Download the code for Chapter 19.
Download the code for Chapter 20.
Download the code for Chapter 22.
Mastering the Android Development Tools
Download the sample pages (includes Chapter 2 and Index)
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