android tablet - download.e-bookshelf.de · dent consultant with over 11 years of professional...

30

Upload: others

Post on 05-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Android Tablet - download.e-bookshelf.de · dent consultant with over 11 years of professional experience in various markets, including entertainment, health, retail, insurance, financial,
Page 3: Android Tablet - download.e-bookshelf.de · dent consultant with over 11 years of professional experience in various markets, including entertainment, health, retail, insurance, financial,

Android™ Tablet Application Development

FOR DUMmIES

Page 4: Android Tablet - download.e-bookshelf.de · dent consultant with over 11 years of professional experience in various markets, including entertainment, health, retail, insurance, financial,
Page 5: Android Tablet - download.e-bookshelf.de · dent consultant with over 11 years of professional experience in various markets, including entertainment, health, retail, insurance, financial,

by Donn Felker

Android™ Tablet Application Development

FOR DUMmIES

Page 6: Android Tablet - download.e-bookshelf.de · dent consultant with over 11 years of professional experience in various markets, including entertainment, health, retail, insurance, financial,

Android™ Tablet Application Development For Dummies®

Published by John Wiley & Sons, Inc. 111 River Street Hoboken, NJ 07030-5774

www.wiley.com

Copyright © 2012 by John Wiley & Sons, Inc., Hoboken, New Jersey

Published by John Wiley & Sons, Inc., Hoboken, New Jersey

Published simultaneously in Canada

No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning or otherwise, except as permit-ted under Sections 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization through payment of the appropriate per-copy fee to the Copyright Clearance Center, 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 646-8600. Requests to the Publisher for permission should be addressed to the Permissions Department, John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ 07030, (201) 748-6011, fax (201) 748-6008, or online at www.wiley.com/go/permissions.

Trademarks: Wiley, the Wiley logo, For Dummies, the Dummies Man logo, A Reference for the Rest of Us!, The Dummies Way, Dummies Daily, The Fun and Easy Way, Dummies.com, Making Everything Easier, and related trade dress are trademarks or registered trademarks of John Wiley & Sons, Inc. and/or its affiliates in the United States and other countries, and may not be used without written permission. Android is a trademark of Google, Inc. All other trademarks are the property of their respective owners. John Wiley & Sons, Inc., is not associated with any product or vendor mentioned in this book.

LIMIT OF LIABILITY/DISCLAIMER OF WARRANTY: THE PUBLISHER AND THE AUTHOR MAKE NO REPRESENTATIONS OR WARRANTIES WITH RESPECT TO THE ACCURACY OR COMPLETENESS OF THE CONTENTS OF THIS WORK AND SPECIFICALLY DISCLAIM ALL WARRANTIES, INCLUDING WITH-OUT LIMITATION WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE. NO WARRANTY MAY BE CREATED OR EXTENDED BY SALES OR PROMOTIONAL MATERIALS. THE ADVICE AND STRATEGIES CONTAINED HEREIN MAY NOT BE SUITABLE FOR EVERY SITUATION. THIS WORK IS SOLD WITH THE UNDERSTANDING THAT THE PUBLISHER IS NOT ENGAGED IN RENDERING LEGAL, ACCOUNTING, OR OTHER PROFESSIONAL SERVICES. IF PROFESSIONAL ASSISTANCE IS REQUIRED, THE SERVICES OF A COMPETENT PROFESSIONAL PERSON SHOULD BE SOUGHT. NEITHER THE PUBLISHER NOR THE AUTHOR SHALL BE LIABLE FOR DAMAGES ARISING HEREFROM. THE FACT THAT AN ORGANIZA-TION OR WEBSITE IS REFERRED TO IN THIS WORK AS A CITATION AND/OR A POTENTIAL SOURCE OF FURTHER INFORMATION DOES NOT MEAN THAT THE AUTHOR OR THE PUBLISHER ENDORSES THE INFORMATION THE ORGANIZATION OR WEBSITE MAY PROVIDE OR RECOMMENDATIONS IT MAY MAKE. FURTHER, READERS SHOULD BE AWARE THAT INTERNET WEBSITES LISTED IN THIS WORK MAY HAVE CHANGED OR DISAPPEARED BETWEEN WHEN THIS WORK WAS WRITTEN AND WHEN IT IS READ.

For general information on our other products and services, please contact our Customer Care Department within the U.S. at 877-762-2974, outside the U.S. at 317-572-3993, or fax 317-572-4002.

For technical support, please visit www.wiley.com/techsupport.

Wiley also publishes its books in a variety of electronic formats and by print-on-demand. Not all content that is available in standard print versions of this book may appear or be packaged in all book formats. If you have purchased a version of this book that did not include media that is referenced by or accom-panies a standard print version, you may request this media by visiting http://booksupport.wiley.com. For more information about Wiley products, visit us www.wiley.com.

Library of Congress Control Number: 2011942366

ISBN 978-1-118-09623-9 (pbk); ISBN 978-1-118-18280-2 (ebk); ISBN 978-1-118-18281-9 (ebk); ISBN 978-1-118-18297-0 (ebk)

Manufactured in the United States of America

10 9 8 7 6 5 4 3 2 1

Page 7: Android Tablet - download.e-bookshelf.de · dent consultant with over 11 years of professional experience in various markets, including entertainment, health, retail, insurance, financial,

About the AuthorDonn Felker is a recognized leader in the development of state-of-the-art, cutting-edge software for the Web and for mobile devices. He is an indepen-dent consultant with over 11 years of professional experience in various markets, including entertainment, health, retail, insurance, financial, and real estate. He is a mobile junkie, serial entrepreneur, and creative innovator in all things mobile and Web. He is the CTO of QONQR, a geo-social game of world domination. He is a partner in AgileMedicine, a company that uses emerging technology to advance healthcare and medical research. He is the founder of Agilevent, an innovative creative development firm that has done work for small startups as well as for Fortune 500 companies. He is the author of Android Application Development For Dummies. He is a Microsoft ASP Insider, an MCTS for .NET Framework 2.0 and 3.5 Web Applications, and a certified ScrumMaster. He’s a national speaker on topics that include Android, .NET, and software architecture. He is a writer, presenter, and consultant on vari-ous topics ranging from architecture to development in general, agile prac-tices, and patterns and practices. Follow Donn on Twitter (@donnfelker) or read his blog here: http://blog.donnfelker.com.

Page 8: Android Tablet - download.e-bookshelf.de · dent consultant with over 11 years of professional experience in various markets, including entertainment, health, retail, insurance, financial,
Page 9: Android Tablet - download.e-bookshelf.de · dent consultant with over 11 years of professional experience in various markets, including entertainment, health, retail, insurance, financial,

DedicationTo my son, Michael, whose smile and baby jibber jabber would crack me up each time he looked at me. Thanks son, I love you.

To my gorgeous daughter, Sophia, who has proved that a quick batting of her eyes can win over this old man in almost any situation. I love you.

To my beautiful and caring wife, Ginamarie, who survived three brutal win-ters in Minneapolis so I could experience living in a place I always wanted. Thank you for giving me two gorgeous children and for being so very patient and supportive of my insane workload over the last year. I love you. Time for some vacations! Let’s go!

Last, but certainly not least . . . to Dad. Thank you for reconnecting and letting the truth be known. It means more to me than you will ever know. I love you.

Page 10: Android Tablet - download.e-bookshelf.de · dent consultant with over 11 years of professional experience in various markets, including entertainment, health, retail, insurance, financial,
Page 11: Android Tablet - download.e-bookshelf.de · dent consultant with over 11 years of professional experience in various markets, including entertainment, health, retail, insurance, financial,

Author’s AcknowledgmentsThanks to Wiley acquisitions editor Kyle Looper for giving me more than a few fair extensions when writing this book. I really appreciate the help, support, and insight into everything publishing-related. Thank you for your patience and everything else.

Thanks to editor Christopher Morris for being patient and a diligent editor.

Copy editors Beth Taylor and Teresa Artman helped find some of my most subtle mistakes, which allowed me to polish the book content even more. Thank you.

Technical editor Andre Taddeini is one of the few technical individuals I trust reviewing my work. You’re my friend, and I’m glad you could help me out again. Your “sanity check” of the technical accuracy of the book was outstanding. Without you, this book would have been a mess. Thank you.

Thanks to Michael Burton whose knowledge of Android (and of development in general) blows my mind each time we work together. Thank you for the metric ton of great insight and guidance that you provided in regards to Java and the Android framework. Had I not worked beside you I would have missed a lot of great info. Thank you!

Page 12: Android Tablet - download.e-bookshelf.de · dent consultant with over 11 years of professional experience in various markets, including entertainment, health, retail, insurance, financial,

Publisher’s AcknowledgmentsWe’re proud of this book; please send us your comments at http://dummies.custhelp.com. For other comments, please contact our Customer Care Department within the U.S. at 877-762-2974, outside the U.S. at 317-572-3993, or fax 317-572-4002.

Some of the people who helped bring this book to market include the following:

Acquisitions, Editorial, and Vertical Websites

Sr. Project Editor: Christopher Morris

Acquisitions Editor: Kyle Looper

Copy Editors: Beth Taylor, Teresa Artman

Technical Editor: Andre Taddeini

Editorial Manager: Kevin Kirschner

Vertical Websites Project Manager: Laura Moss-Hollister

Vertical Websites Assistant Project Manager: Jenny Swisher

Vertical Websites Associate Producers: Josh Frank, Marilyn Hummel, Douglas Kuhn, and Shawn Patrick

Editorial Assistant: Amanda Graham

Sr. Editorial Assistant: Cherie Case

Cover Photos: ©istockphoto.com / Dean Turner; ©istockphoto.com / Linda Bucklin

Cartoons: Rich Tennant (www.the5thwave.com)

Composition Services

Project Coordinator: Sheree Montgomery

Layout and Graphics: Carl Byers, Joyce Haughey

Proofreaders: Laura Albert, Laura Bowman, Melissa Cossell

Indexer: Rebecca Salerno

Publishing and Editorial for Technology Dummies

Richard Swadley, Vice President and Executive Group Publisher

Andy Cummings, Vice President and Publisher

Mary Bednarek, Executive Acquisitions Director

Mary C. Corder, Editorial Director

Publishing for Consumer Dummies

Kathleen Nebenhaus, Vice President and Executive Publisher

Composition Services

Debbie Stailey, Director of Composition Services

Page 13: Android Tablet - download.e-bookshelf.de · dent consultant with over 11 years of professional experience in various markets, including entertainment, health, retail, insurance, financial,

Contents at a GlanceIntroduction ................................................................ 1

Part I: The Nuts and Bolts of Android Tablets ................ 7Chapter 1: Developing Spectacular Android Tablet Applications ............................... 9Chapter 2: Switching to Tablet App Development ...................................................... 21Chapter 3: Developing for Android Tablets.................................................................. 27Chapter 4: Prepping Your Development Headquarters .............................................. 35Chapter 5: Your First Android Project .......................................................................... 57

Part II: Building and Publishing Your First Android Tablet Application ................................. 93Chapter 6: Designing the User Interface ....................................................................... 95Chapter 7: Coding Your Application ........................................................................... 111Chapter 8: Turning Your Application into an App Widget ....................................... 151Chapter 9: Understanding Android Resources .......................................................... 183Chapter 10: Publishing Your App to the Android Market ........................................ 191

Part III: Creating a Feature-Rich Application ............ 213Chapter 11: Designing the Task Reminder Application ............................................ 215Chapter 12: Going à la Carte with Your Menu ............................................................ 235Chapter 13: Handling User Input .................................................................................. 245Chapter 14: Getting Persistent with Data Storage ..................................................... 265Chapter 15: Reminding the User with AlarmManager ............................................... 295Chapter 16: Updating the Android Status Bar ............................................................ 307Chapter 17: Working with Android’s Preference Framework .................................. 315

Part IV: The Part of Tens .......................................... 329Chapter 18: Ten Great Free Sample Applications and SDKs (with Code!) .............. 331Chapter 19: Ten Tools That Make Your Developing Life Easier .............................. 335

Index ...................................................................... 339

Page 14: Android Tablet - download.e-bookshelf.de · dent consultant with over 11 years of professional experience in various markets, including entertainment, health, retail, insurance, financial,
Page 15: Android Tablet - download.e-bookshelf.de · dent consultant with over 11 years of professional experience in various markets, including entertainment, health, retail, insurance, financial,

Table of ContentsIntroduction ................................................................. 1

About This Book .............................................................................................. 1Conventions Used in This Book ..................................................................... 2Foolish Assumptions ....................................................................................... 2How This Book Is Organized .......................................................................... 3

Part I: The Nuts and Bolts of Android Tablets ................................... 3Part II: Building and Publishing Your

First Android Tablet Application ..................................................... 3Part III: Creating a Feature-Rich Application ...................................... 4Part IV: The Part of Tens ....................................................................... 4

Icons Used in This Book ................................................................................. 4Where to Go from Here ................................................................................... 5

Part I: The Nuts and Bolts of Android Tablets ................. 7

Chapter 1: Developing Spectacular Android Tablet Applications . . . .9Why Develop for Android Tablets? ............................................................. 10

Using your existing Android code ..................................................... 10Major market share ............................................................................. 10Quick time to market ........................................................................... 11Open platform ...................................................................................... 11Device compatibility ............................................................................ 12Exploiting mashup capability ............................................................. 12

Java: The Android Programming Language ............................................... 13Hardware Tools ............................................................................................. 14

Touchscreen ......................................................................................... 15GPS ......................................................................................................... 16Accelerometer ...................................................................................... 16SD Card .................................................................................................. 17

Exploring Android Software Tools .............................................................. 17Exploit the Internet .............................................................................. 17Build in audio and video support ...................................................... 18Maintain contacts ................................................................................ 18Provide security ................................................................................... 18Integrate Google APIs .......................................................................... 18

Chapter 2: Switching to Tablet App Development . . . . . . . . . . . . . . . . .21Seeing How Tablets Have Evolved .............................................................. 21Understanding the Tablet Form Factor ...................................................... 23User Interface Considerations for Tablets ................................................. 24Tablets for You, Me, and Everyone Else ..................................................... 25

Page 16: Android Tablet - download.e-bookshelf.de · dent consultant with over 11 years of professional experience in various markets, including entertainment, health, retail, insurance, financial,

Android Tablet Application Development For Dummies xivChapter 3: Developing for Android Tablets . . . . . . . . . . . . . . . . . . . . . . .27

The Android Development Process ............................................................ 27Installing the tools, frameworks, and SDKs ...................................... 28Designing your feature-rich application ........................................... 28Coding the application ........................................................................ 28Packaging your application as an APK .............................................. 28Submitting your app to the Android Market .................................... 29

Using Your Visionary Talent ........................................................................ 29Sample Code ................................................................................................... 29Looking at Android Programming Basics ................................................... 29

Activities ............................................................................................... 30Intents.................................................................................................... 30Cursorless controls ............................................................................. 31Views and widgets ............................................................................... 32Asynchronous calls ............................................................................. 32Background services ........................................................................... 33

Making yourself seen .................................................................................... 34Sitting at the notification bar.............................................................. 34Good-looking toast ............................................................................... 34

Chapter 4: Prepping Your Development Headquarters . . . . . . . . . . . . .35Developing the Android Developer Inside You ......................................... 35Assembling Your Toolkit .............................................................................. 36

Android source code ........................................................................... 36Java knowledge .................................................................................... 39

Tuning Up Your Hardware ........................................................................... 39Operating system ................................................................................. 39Computer hardware ............................................................................ 40

Installing and Configuring Your Support Tools ......................................... 40Getting the Java Development Kit ............................................................... 41

Downloading the JDK .......................................................................... 41Installing the JDK ................................................................................. 43

Getting the Android SDK ............................................................................... 43Getting the Total Eclipse .............................................................................. 45

Choosing the right Eclipse version .................................................... 45Installing Eclipse .................................................................................. 46Configuring Eclipse .............................................................................. 48

Getting Acquainted with the Android Development Tools ...................... 51Navigating the Android SDK ............................................................... 51Targeting Android platforms .............................................................. 52Using SDK tools for everyday development ..................................... 53

Chapter 5: Your First Android Project . . . . . . . . . . . . . . . . . . . . . . . . . . . .57Starting a New Project in Eclipse ................................................................. 57Deconstructing Your Project ....................................................................... 63

Responding to error messages .......................................................... 63Understanding the Build Target and Min SDK Version settings .... 65

Page 17: Android Tablet - download.e-bookshelf.de · dent consultant with over 11 years of professional experience in various markets, including entertainment, health, retail, insurance, financial,

xv Table of Contents

Setting Up an Emulator ................................................................................. 66Creating Launch Configurations .................................................................. 70

Creating a run configuration .............................................................. 70Duplicating your launch configuration for quick setup .................. 73

Running the Hello Android App ................................................................... 74Understanding Project Structure ................................................................ 79

Navigating the app’s folders ............................................................... 79Viewing the application’s manifest file ............................................. 88Viewing the default.properties file .................................................... 91

Part II: Building and Publishing Your First Android Tablet Application .................................. 93

Chapter 6: Designing the User Interface . . . . . . . . . . . . . . . . . . . . . . . . .95Creating the Screen Brightness Toggle ....................................................... 96Understanding Layouts ................................................................................. 97

Understanding the XML layout file .................................................... 99Arranging components with Android SDK’s layout tools ............. 100Using the visual designer .................................................................. 101

Developing the User Interface .................................................................... 103Adding Widgets to Your Layout ................................................................ 105Adding Visual Queues for the User ........................................................... 106Previewing the Application in the Visual Designer ................................. 107

Chapter 7: Coding Your Application . . . . . . . . . . . . . . . . . . . . . . . . . . . .111Understanding Activities ............................................................................ 111

Working with stacks and states ....................................................... 112Tracking an activity’s life cycle ........................................................ 113

Creating Your First Activity ....................................................................... 116Handling user input ........................................................................... 117Writing your first event handler ...................................................... 118Importing packages ........................................................................... 120

Working with the Android Framework Classes ....................................... 121Retrieving and setting screen brightness ....................................... 122Toggling screen brightness .............................................................. 126Adding Visual Feedback .................................................................... 127Obtaining permission to change system settings .......................... 129

Installing Your Application ......................................................................... 130Installing on the emulator ................................................................. 130Installing on a physical Android device .......................................... 134

Reinstalling Your Application .................................................................... 136Uh-oh! — Responding to Errors ................................................................. 137

Using the Dalvik Debug Monitor Server .......................................... 137Using the Eclipse debugger .............................................................. 142

Thinking Beyond Your Application Boundaries ...................................... 148

Page 18: Android Tablet - download.e-bookshelf.de · dent consultant with over 11 years of professional experience in various markets, including entertainment, health, retail, insurance, financial,

Android Tablet Application Development For Dummies xviChapter 8: Turning Your Application into an App Widget . . . . . . . . .151

Working with App Widgets in Android ..................................................... 151Working with remote views .............................................................. 152Using AppWidgetProviders .............................................................. 154

Working with Pending Intents .................................................................... 155Understanding the Android intent system ..................................... 155Understanding intent data ................................................................ 156Using pending intents ........................................................................ 158

Creating the App Widget ............................................................................ 159Implementing the AppWidgetProvider ........................................... 159Communicating with the app widget .............................................. 160Building the app widget’s layout ..................................................... 162

Adding Images to Your Application .......................................................... 163Placing an image on the screen........................................................ 163Adding the image to the layout ........................................................ 164

Creating a Launcher Icon for the Application .......................................... 167Designing a custom launcher icon ................................................... 167Adding a custom launcher icon ....................................................... 168

Handling Application Logic inside an AppWidgetProvider .................... 169Understanding the IntentService ..................................................... 169Implementing the AppWidgetProvider and IntentService ............ 170Adding the ToggleActivity to Help Adjust

Current Window Brightness ......................................................... 174Working with the app widget’s metadata ....................................... 176Registering your new components with the manifest................... 178

Placing Your Widget on the Home screen ................................................ 180

Chapter 9: Understanding Android Resources . . . . . . . . . . . . . . . . . . .183Understanding Resources .......................................................................... 183

Dimensions ......................................................................................... 184Styles ................................................................................................... 184Themes ................................................................................................ 185Values .................................................................................................. 185Menus .................................................................................................. 185Colors .................................................................................................. 185

Working with Resources ............................................................................. 186Moving strings into resources ......................................................... 186Working with images ......................................................................... 188Making your apps global with resources ........................................ 189

Chapter 10: Publishing Your App to the Android Market . . . . . . . . . .191Creating a Distributable APK File .............................................................. 191

Digitally signing your application .................................................... 193Creating a keystore ............................................................................ 193Creating the APK file .......................................................................... 194

Page 19: Android Tablet - download.e-bookshelf.de · dent consultant with over 11 years of professional experience in various markets, including entertainment, health, retail, insurance, financial,

xvii Table of Contents

Creating an Android Marketplace Account .............................................. 198Pricing Your Application ............................................................................ 204Setting Up a Google Checkout Merchant Account .................................. 206Getting Screenshots for Your Application ............................................... 206Uploading Your Application to the Android Marketplace ..................... 207Clicking Publish and Watching the Installs Soar ..................................... 211

Part III: Creating a Feature-Rich Application ............. 213

Chapter 11: Designing the Task Reminder Application . . . . . . . . . . .215Reviewing the Basic Requirements ........................................................... 215

That’s alarming! Scheduling a reminder script .............................. 216Storing data ........................................................................................ 216Distracting the user (nicely)............................................................. 216

Creating the Application’s Screens ........................................................... 217Starting the new project.................................................................... 217Creating the task list screen ............................................................. 218Creating the add/edit screen ............................................................ 220

Creating Your First List Activity ................................................................ 224Getting stubby with fake data .......................................................... 225Handling user click events ................................................................ 226

Identifying Your Intent ................................................................................ 228Starting new activities with intents ................................................. 229Retrieving values from previous activities ..................................... 230Creating a chooser ............................................................................. 230

Chapter 12: Going à la Carte with Your Menu . . . . . . . . . . . . . . . . . . . .235Seeing What Makes a Menu Great ............................................................. 236Creating Your First Menu ........................................................................... 236

Defining the XML file.......................................................................... 237Handling user actions ........................................................................ 239Creating a reminder task................................................................... 240Completing the activity ..................................................................... 241

Creating a Context Menu ............................................................................ 241Creating the menu XML file .............................................................. 242Loading the menu .............................................................................. 242Handling user selections ................................................................... 243

Chapter 13: Handling User Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .245Creating the User Input Interface .............................................................. 245

Creating an EditText widget ............................................................. 245Displaying an onscreen keyboard ................................................... 247

Page 20: Android Tablet - download.e-bookshelf.de · dent consultant with over 11 years of professional experience in various markets, including entertainment, health, retail, insurance, financial,

Android Tablet Application Development For Dummies xviiiGetting Choosy with Dates and Times ...................................................... 248

Creating picker buttons .................................................................... 248Wiring up the date picker ................................................................. 249Wiring up the time picker ................................................................. 254

Creating Your First Alert Dialog Box ......................................................... 257Choosing the right dialog box for a task ......................................... 258Creating your own alert dialog box ................................................. 258

Validating Input ........................................................................................... 262Toasting the user ............................................................................... 263Using other validation techniques................................................... 263

Chapter 14: Getting Persistent with Data Storage . . . . . . . . . . . . . . . .265Finding Places to Put Data .......................................................................... 265Asking the User for Permission ................................................................. 268

Seeing how permissions affect the user experience ..................... 268Setting requested permissions in

the AndroidManifest.xml file ........................................................ 268Creating Your Application’s SQLite Database ......................................... 269

Understanding how the SQLite database works ............................ 270Creating a Java file to hold the database code .............................. 270Defining the key elements ................................................................. 271Visualizing the SQL table .................................................................. 272Creating the database table .............................................................. 274Closing the database ......................................................................... 275

Creating and Editing Tasks with SQLite ................................................... 276Inserting your first task entry........................................................... 276Returning all the tasks with a cursor .............................................. 284Understanding the SimpleCursorAdapter ...................................... 287Deleting a task .................................................................................... 288Updating a task................................................................................... 288

Chapter 15: Reminding the User with AlarmManager . . . . . . . . . . . . .295Waking Up a Process with AlarmManager ............................................... 296

Creating the ReminderManager class ............................................. 296Creating the OnAlarmReceiver class ............................................... 298Creating the WakeReminderIntentService class ............................ 300Creating the ReminderService class ................................................ 302

Rebooting Devices ....................................................................................... 303Creating a boot receiver ................................................................... 304Checking the boot receiver .............................................................. 306

Chapter 16: Updating the Android Status Bar . . . . . . . . . . . . . . . . . . . .307Deconstructing the Status Bar ................................................................... 307

Viewing status bar icons ................................................................... 307Using status bar tools to notify the user ........................................ 309

Using the Notification Manager to Create Your First Notification ........ 310Updating a Notification ............................................................................... 314Clearing a Notification ................................................................................ 314

Page 21: Android Tablet - download.e-bookshelf.de · dent consultant with over 11 years of professional experience in various markets, including entertainment, health, retail, insurance, financial,

xix Table of Contents

Chapter 17: Working with Android’s Preference Framework . . . . . .315Understanding Android’s Preference Framework ................................... 316Understanding the PreferenceActivity Class ........................................... 316

Persisting preference values ............................................................ 317Laying out preferences...................................................................... 318

Creating Your First Preference Screen ..................................................... 319Building the preferences file............................................................. 319Adding string resources .................................................................... 321

Working with the PreferenceActivity Class .............................................. 322Opening the PreferenceActivity class ............................................. 323Handling menu selections ................................................................. 324

Working with Preferences in Your Activities at Run Time ..................... 325Retrieving preference values ............................................................ 325Setting preference values ................................................................. 327

Part IV: The Part of Tens ........................................... 329

Chapter 18: Ten Great Free Sample Applications and SDKs (with Code!) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .331

TekPub Video Player ................................................................................... 332Last.fm App Suite ......................................................................................... 332WordPress for Android ............................................................................... 332LOLCat .......................................................................................................... 333Amazed ......................................................................................................... 333APIDemos ..................................................................................................... 333Hubroid ......................................................................................................... 334Facebook SDK for Android ......................................................................... 334Replica Island ............................................................................................... 334Notepad Tutorial ......................................................................................... 334

Chapter 19: Ten Tools That Make Your Developing Life Easier . . . .335RoboGuice .................................................................................................... 335IntelliJ IDEA .................................................................................................. 336TeamCity ....................................................................................................... 336Git .................................................................................................................. 336Gson .............................................................................................................. 337droid-fu ......................................................................................................... 337Draw 9-patch ................................................................................................ 337Hierarchy Viewer ......................................................................................... 338UI/Application Exerciser Monkey .............................................................. 338Paint.NET and GIMP .................................................................................... 338

Index ....................................................................... 339

Page 22: Android Tablet - download.e-bookshelf.de · dent consultant with over 11 years of professional experience in various markets, including entertainment, health, retail, insurance, financial,

Android Tablet Application Development For Dummies xx

Page 23: Android Tablet - download.e-bookshelf.de · dent consultant with over 11 years of professional experience in various markets, including entertainment, health, retail, insurance, financial,

Introduction

W elcome to Android Tablet Application Development For Dummies, the second For Dummies book that covers Android application develop-

ment. You can consider this the second installment of the Android series. The first (Android Application Development For Dummies) covers phone development, and this book covers tablet development. I hope you enjoy finding out about how to program for the Android platform from this book as much as I enjoyed writing it!

When Android was acquired by Google in 2005 (yes, Android was at one point a start-up company), I’ll be honest, I didn’t have much interest in it. I heard that Google might be entering the mobile space, but as with anything in the technology industry, I didn’t believe it until I saw it firsthand. Fast-forward to a few years later, when Google announced its first Android phone: the G1. When I heard this news, I was glued to the computer, reading reviews, watching videos, and researching the product as much as I could. I knew that this product would be the start of something huge.

I got my start in Android development about a week after my wife received her G1, the first publicly released Android device. At that time, the G1 didn’t offer the rich feature set of the iPhone, but I believed in the platform. As soon as Donut (Android 1.6) was released, it was evident that Google was putting some effort into the product.

Today, we’re on version 3.2 of the Android platform, with the next version of Android (codename Ice Cream Sandwich) just around the corner. The plat-form is barely three years old, and I see no sign of its development slowing down. Without doubt, this is an exciting time in Android development — an excitement that should be infectious as you read this book and begin to work on your own applications.

About This BookAndroid Tablet Application Development For Dummies is a beginner’s guide to developing Android applications.

Page 24: Android Tablet - download.e-bookshelf.de · dent consultant with over 11 years of professional experience in various markets, including entertainment, health, retail, insurance, financial,

2 Android Tablet Application Development For Dummies

The Android platform is a device-independent platform, which means that you can develop applications for various devices. (These devices include but aren’t limited to phones, e-book readers, netbooks, and GPS devices. Soon, television sets will join the list. Yes, you read it correctly — TV! Google has announced plans to include a Google TV offering in the Android platform.) However, this book emphasizes development for tablet devices above all others.

Finding out how to develop for the Android platform opens a large variety of development options for you. This book distills hundreds, if not thou-sands, of pages of Android documentation, tips, tricks, and tutorials into a short, digestible format that allows you to springboard into your future as an Android developer. This book isn’t a recipe book, but it gives you the basic knowledge to assemble various pieces of the Android framework to create interactive and compelling applications.

Conventions Used in This BookThroughout the book, you use the Android framework classes, and you will be creating Java classes and XML files.

Code examples in this book appear in a monospace font so that they stand out from other text in the book. This means that the code you’ll see looks like this:

public class MainActivity

Java is a high-level programming language that is case-sensitive, so be sure to enter the text into the editor exactly as you see it in the book. I also use the standard Java conventions in this book. Therefore, you can transition easily between my examples and the example code provided by the Android Software Development Kit (SDK). All class names, for example, appear in PascalCase format, and all class-scoped variables start with m.

Foolish AssumptionsTo begin programming with Android, you need a computer that runs one of the following operating systems:

✓ Windows XP (32 bit), Vista (32 or 64 bit), or Windows 7 (32 or 64 bit)

✓ Mac OS X (Intel) 10.5.8 (x86 only)

✓ Linux (i386)

Page 25: Android Tablet - download.e-bookshelf.de · dent consultant with over 11 years of professional experience in various markets, including entertainment, health, retail, insurance, financial,

3 Introduction

You also need to download the Android SDK (which is free) and the Java Development Kit (or JDK, which is also free), if you don’t already have them on your computer. I explain the entire installation process for all the tools and frameworks in Chapter 3.

You don’t need any Android application development experience under your belt to get started. I expect you to approach this material as a blank slate because the Android platform accomplishes various mechanisms by using different paradigms that most programmers aren’t used to using — or developing with — on a day-to-day basis. However, because Android applica-tions are developed in the Java programming language, I expect you to be familiar with that language. You don’t have to be a Java guru, but you should understand the syntax, basic data structures, and language constructs. Also, because XML is also used to define various resources inside Android appli-cations, I advise you to have some understanding of that language before you begin. I don’t expect you to be an expert in these languages, however. I started in Android with a background in C#, having worked only with Java in college nearly ten years earlier, and I fared just fine.

You don’t need a physical Android device, because all the applications you build in this book work on the emulator. I highly recommend developing on a real device, however, because it allows you to interact with your applications as real users would.

How This Book Is OrganizedAndroid Tablet Application Development For Dummies has four parts, which I describe in the following sections.

Part I: The Nuts and Bolts of Android TabletsPart I introduces the tools and frameworks that you use to develop Android applications. It also introduces the various SDK components and shows you how they’re used in the Android ecosystem.

Part II: Building and Publishing Your First Android Tablet ApplicationPart II introduces you to building your first Android application: the Screen Brightness Toggle application. After you build the initial application, I show

Page 26: Android Tablet - download.e-bookshelf.de · dent consultant with over 11 years of professional experience in various markets, including entertainment, health, retail, insurance, financial,

4 Android Tablet Application Development For Dummies

you how to create an app widget for the application that you can place on the home screen of the Android device. I tie everything together by demonstrat-ing how to publish your application to the Android Market.

Part III: Creating a Feature-Rich ApplicationPart III takes your development skills up a notch by walking you through the construction of the Task Reminder application, which allows users to create various tasks with reminders. I cover the implementation of an SQLite data-base in this multiscreen application. You also see how to use the Android status bar to create notifications that can help increase the usability of your application.

Part IV: The Part of TensPart IV brings together the prizes that I’ve found through my trials and tribu-lations in Android development. I give you a tour of sample applications that prove to be stellar launching pads for your Android apps, and I introduce useful Android libraries that can make your Android development career a lot easier.

Icons Used in This Book This icon indicates a useful pointer that you shouldn’t skip.

This icon represents a friendly reminder about a vital point you should keep in mind while proceeding through a particular section of the chapter.

This icon signifies that the accompanying explanation may be informative but isn’t essential to understanding Android application development. Feel free to skip these snippets, if you like.

This icon alerts you to potential problems that you may encounter along the way. Read and remember these tidbits to avoid possible trouble.

Page 27: Android Tablet - download.e-bookshelf.de · dent consultant with over 11 years of professional experience in various markets, including entertainment, health, retail, insurance, financial,

5 Introduction

Where to Go from HereIt’s time to explore the Android platform! If you’re a bit nervous, let me assure you that you don’t have to worry; you should be nervous only because you’re excited.

If you’re ever unsure about anything in the code, you can download the full source code from my GitHub account, located at http://github.com/ donnfelker. From time to time, I provide code updates to the source. You can also find other examples in my other source repositories stored on the same site. Finally, you can find the same material on the For Dummies website at www.dummies.com/go/androidtabletappdevfd.

Page 28: Android Tablet - download.e-bookshelf.de · dent consultant with over 11 years of professional experience in various markets, including entertainment, health, retail, insurance, financial,

6 Android Tablet Application Development For Dummies

Page 29: Android Tablet - download.e-bookshelf.de · dent consultant with over 11 years of professional experience in various markets, including entertainment, health, retail, insurance, financial,

Part IThe Nuts and Bolts of Android Tablets

Page 30: Android Tablet - download.e-bookshelf.de · dent consultant with over 11 years of professional experience in various markets, including entertainment, health, retail, insurance, financial,

In this part . . .

P art I introduces you to the Android platform and describes what makes a spectacular Android appli-

cation. I briefly explore various parts of the Android soft-ware development kit (SDK) and explain how you can use them in your applications. I also guide you through the process of installing the tools and frameworks necessary to develop Android applications.