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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 a a

0 0

Post a comment