Visit www.dummies.com/cheatsheet/androidgameprogramming to view this book's cheat sheet.
Table of Contents
Why You Need This Book Conventions Used in This Book Technical Considerations How This Book Is Organized Part I: Adopting the Android Gaming Mindset Part II: Starting to Program Part III: Making Your First Game: Crazy Eights Part IV: Moving On to Your Second Game: Whack-a-Mole Part V: Managing Your Game in the Market Part VI: The Part of Tens Icons Used in This Book Where to Go from Here
Part I: Adopting the Android Gaming Mindset Part II: Starting to Program Part III: Making Your First Game: Crazy Eights Part IV: Moving On to Your Second Game: Whack-a-Mole Part V: Managing Your Game in the Market Part VI: The Part of Tens
Chapter 1: Getting to Know Android Gaming Seeing the Potential of the Android Platform Where Android came from And where it’s going What You Must Know about the Mobile Gaming Industry Handhelds and smartphones iOS or Android How Android Is Suited to Mobile Gaming Growth Freedom Potential Thinking Through Your Game Project Designing first Following a structured development process Deciding on distribution Knowing What Tools You Need Capitalizing on Your Game The tried-and-true approaches Chapter 2: Designing Your Game Deciding What Kind of Game to Make Genre Number of players Thinking about how and when people will play your game Identifying Your Target Audience The Android user base Casting a wide net or finding a niche Targeting Devices Firmware Hardware Designing the interface and controls Finding and/or creating resources (graphics and sound) Chapter 3: Setting Up Your Development Environment Starting at the Beginning Downloading and Installing Eclipse Installing the Software Installing the SDK Installing the ADT Connecting Eclipse to the SDK The Android Virtual Device (AVD) Manager Creating a virtual device Launching a virtual device Creating an Android Project Running an Android App Manual launch control Starting apps
Seeing the Potential of the Android Platform Where Android came from And where it’s going What You Must Know about the Mobile Gaming Industry Handhelds and smartphones iOS or Android How Android Is Suited to Mobile Gaming Growth Freedom Potential Thinking Through Your Game Project Designing first Following a structured development process Deciding on distribution Knowing What Tools You Need Capitalizing on Your Game The tried-and-true approaches
Where Android came from And where it’s going
Handhelds and smartphones iOS or Android
Growth Freedom Potential
Designing first Following a structured development process Deciding on distribution
The tried-and-true approaches
Deciding What Kind of Game to Make Genre Number of players Thinking about how and when people will play your game Identifying Your Target Audience The Android user base Casting a wide net or finding a niche Targeting Devices Firmware Hardware Designing the interface and controls Finding and/or creating resources (graphics and sound)
Genre Number of players Thinking about how and when people will play your game
The Android user base Casting a wide net or finding a niche
Firmware Hardware Designing the interface and controls Finding and/or creating resources (graphics and sound)
Starting at the Beginning Downloading and Installing Eclipse Installing the Software Installing the SDK Installing the ADT Connecting Eclipse to the SDK The Android Virtual Device (AVD) Manager Creating a virtual device Launching a virtual device Creating an Android Project Running an Android App Manual launch control Starting apps
Installing the SDK Installing the ADT Connecting Eclipse to the SDK
Creating a virtual device Launching a virtual device
Manual launch control Starting apps
Chapter 4: Dissecting an Android App Creating a New Project Taking the Bird’s Eye View of a Project Editing the Manifest Naming and versioning your game Targeting versions Declaring activities Setting permissions Targeting different screen sizes Organizing Resources Drawables Layouts Strings Styles Themes Sounds Organizing the Source Directory Understanding Activities The lifecycle of an activity Using Views Differences between View and SurfaceView Instantiating a custom view Drawing in a view Handling input
Creating a New Project Taking the Bird’s Eye View of a Project Editing the Manifest Naming and versioning your game Targeting versions Declaring activities Setting permissions Targeting different screen sizes Organizing Resources Drawables Layouts Strings Styles Themes Sounds Organizing the Source Directory Understanding Activities The lifecycle of an activity Using Views Differences between View and SurfaceView Instantiating a custom view Drawing in a view Handling input
Naming and versioning your game Targeting versions Declaring activities Setting permissions Targeting different screen sizes
Drawables Layouts Strings Styles Themes Sounds
The lifecycle of an activity
Differences between View and SurfaceView Instantiating a custom view Drawing in a view Handling input
Chapter 5: Creating a Simple Title Screen Creating a Custom View Loading the Title Graphic Drawing the Title Graphic Handling Screen Orientation Controlling Screen Timeout Making the Game Full-Screen Adding buttons Handling Button States Launching the Play Screen Intents Bundles Chapter 6: Creating a Basic Play Screen Displaying Cards Loading the card images Dealing the cards Displaying the game state Taking Your Turn Handling turns Picking up cards Playing cards Showing dialog boxes (and toasts) Taking cards from the draw pile Advancing play Chapter 7: Finishing Your First Game Ending Hands and Games Ending a hand Ending a game Wrapping Up the Game Coding the opponent AI Making your own launcher icon
Creating a Custom View Loading the Title Graphic Drawing the Title Graphic Handling Screen Orientation Controlling Screen Timeout Making the Game Full-Screen Adding buttons Handling Button States Launching the Play Screen Intents Bundles
Intents Bundles
Displaying Cards Loading the card images Dealing the cards Displaying the game state Taking Your Turn Handling turns Picking up cards Playing cards Showing dialog boxes (and toasts) Taking cards from the draw pile Advancing play
Loading the card images Dealing the cards Displaying the game state
Handling turns Picking up cards Playing cards Showing dialog boxes (and toasts) Taking cards from the draw pile Advancing play
Ending Hands and Games Ending a hand Ending a game Wrapping Up the Game Coding the opponent AI Making your own launcher icon
Ending a hand Ending a game
Coding the opponent AI Making your own launcher icon
Chapter 8: Creating a Complex Title Screen Using SurfaceView Adding an Options Menu Toggling the Sound Option Chapter 9: Creating an Animated Play Screen Handling Images for the Play Screen Making Simple Animations Handling User Interaction Loading and Playing Sounds Handling End of Game Chapter 10: Storing and Retrieving Game Information Using Shared Preferences for Data Storage Using XML for Data Storage Using a SQLite Database for Data Storage
Using SurfaceView Adding an Options Menu Toggling the Sound Option
Handling Images for the Play Screen Making Simple Animations Handling User Interaction Loading and Playing Sounds Handling End of Game
Using Shared Preferences for Data Storage Using XML for Data Storage Using a SQLite Database for Data Storage
Chapter 11: Making Money with Your Game Knowing Your Competition Monetization Models Free Paid Free-to-Paid Ad-based In-app Purchases Alternatives to Google Play Chapter 12: Publishing and Updating Your Game Creating a developer account for Google Play Generating a Key with Keytool Exporting a Signed Application Uploading Your Game to Google Play Uploading the APK Adding product details Supporting and Updating Your Game After Publication
Knowing Your Competition Monetization Models Free Paid Free-to-Paid Ad-based In-app Purchases Alternatives to Google Play
Free Paid Free-to-Paid Ad-based In-app Purchases
Creating a developer account for Google Play Generating a Key with Keytool Exporting a Signed Application Uploading Your Game to Google Play Uploading the APK Adding product details Supporting and Updating Your Game After Publication
Uploading the APK Adding product details
Chapter 13: Ten Open-Source Game Projects Lunar Lander Replica Island Alien Blood Bath OpenSudoku Lexic Newton’s Cradle Vector Pinball asqare tiltmazes GL ES Quake Chapter 14: Ten Game Engines and Tools libgdx AndEngine Unity OpenFeint Flurry Audacity sfxr GIMP Inkscape AdWhirl Chapter 15: Ten More Places to Distribute Your Game Amazon Handango Opera Mobile App Store GetJar SlideME Appoke AppBrain AndroLib Your Website BitTorrent Sites Chapter 16: Ten Websites for Android Game Developers Stack Overflow Android Developer anddev.org Android Developers Blog Appolicious Android Tapp Phandroid xda developers Droid Gamers Android and Me
Lunar Lander Replica Island Alien Blood Bath OpenSudoku Lexic Newton’s Cradle Vector Pinball asqare tiltmazes GL ES Quake
libgdx AndEngine Unity OpenFeint Flurry Audacity sfxr GIMP Inkscape AdWhirl
Amazon Handango Opera Mobile App Store GetJar SlideME Appoke AppBrain AndroLib Your Website BitTorrent Sites
Stack Overflow Android Developer anddev.org Android Developers Blog Appolicious Android Tapp Phandroid xda developers Droid Gamers Android and Me