Pub. Date:
Prentice Hall
Android 6 for Programmers: An App-Driven Approach / Edition 3

Android 6 for Programmers: An App-Driven Approach / Edition 3


View All Available Formats & Editions
Current price is , Original price is $44.99. You
Select a Purchase Option
  • purchase options
    $30.44 $44.99 Save 32% Current price is $30.44, Original price is $44.99. You Save 32%.
  • purchase options


Android 6 for Programmers: An App-Driven Approach / Edition 3

The professional programmer’s Deitel® guide to smartphone and tablet app development using Android™ 6 and Android Studio Billions of apps have been downloaded from Google Play™! This book gives you everything you need to start developing great apps quickly and getting them published on Google Play™. The book uses an app-driven approach–each new technology is discussed in the context of eight fully coded and tested Android apps, complete with syntax shading, code highlighting, code walkthroughs and sample outputs. Apps you’ll develop include:

  • Welcome App
  • Cannon Game
  • Tip Calculator
  • Weather Viewer
  • Flag Quiz
  • Twitter® Searches
  • Doodlz
  • Address Book

Practical, Example-Rich Coverage of:

  • Android 6, Android Studio: Gradle™, Vector Asset Studio, Theme Editor
  • Material Design App Templates and Themes
  • AppCompat Library, Android Design Support Library, RecyclerView, FloatingActionButton, TextInputLayout
  • Material Design Elevation and Icons
  • REST Web Services/JSON, Threading, SQLite™ Database, Android 6 Permissions
  • Cursors, Loaders, ContentProviders
  • Supporting Various Screen Sizes/Resolutions
  • Accessibility, Internationalization
  • Activities, Fragments, Intents, Preferences
  • GUIs, Layouts, Menus, Resource Files, Events, Touch/Gesture Processing, Images, Audio, Graphics, Animation
  • Immersive Mode, PrintHelper
  • Google Play™ Store, App Publishing, Pricing, Marketing, In-App Advertising, In-App Billing, Virtual Goods and more


  • Download code examples
  • For info on Deitel’s Dive Into® Series programming training courses, visit or write to
  • Follow the Deitels on Facebook® at, Twitter® at @deitel, Google+™ at, LinkedIn® at, YouTube™ at
  • Subscribe to the Deitel ® Buzz e-mail newsletter at subscribe.html

About This Book

The first-generation Android phones were released in October 2008. As of June 2015, Android had 82.8% of the global smartphone market share, compared to 13.9% for Apple and 2.6% for Microsoft (http:// Billions of apps have been downloaded from Google Play and more than one billion Android devices were shipped worldwide in 2014 ( 1-billion-for-first-time-in-2014/). The opportunities for Android app developers are enormous.

This book presents leading-edge computing technologies for professional software developers. At the heart of the book is the Deitel app-driven approach–concepts are presented in the context of complete working Android apps, rather than using code snippets. The introduction and app test drives at the beginning of each chapter show one or more sample executions. The book’s source code is available at

The apps in this book were carefully designed to introduce you to key Android features and APIs. You’ll quickly learn everything you need to start building Android apps–beginning with a test-drive of the Tip Calculator app in Chapter 1, then building one new app in each of Chapters 2 through 9. By the time you reach Chapter 10, you’ll be ready to create your own apps for submission to Google Play and other app marketplaces. You’ll master the Google Play submission process, including uploading your apps. You’ll decide whether to sell your apps or offer them for free, and learn how to market them via social media and monetize them with in-app advertising, in-app billing, virtual goods and more.

Product Details

ISBN-13: 9780134289366
Publisher: Prentice Hall
Publication date: 12/18/2015
Series: Deitel Developer Series
Pages: 480
Sales rank: 780,031
Product dimensions: 6.90(w) x 9.10(h) x 1.20(d)

About the Author

Paul Deitel, CEO and Chief Technical Officer of Deitel & Associates, Inc., is a graduate of MIT, where he studied Information Technology. Through Deitel & Associates, Inc., he has delivered hundreds of programming courses worldwide to clients, including Cisco, IBM, Siemens, Sun Microsystems, Dell, Fidelity, NASA at the Kennedy Space Center, the National Severe Storm Laboratory, White Sands Missile Range, Rogue Wave Software, Boeing, SunGard Higher Education, Nortel Networks, Puma, iRobot, Invensys and many more. He and his co-author, Dr. Harvey M. Deitel, are the world’s best-selling programming-language textbook/professional book/video authors.

Dr. Harvey Deitel, Chairman and Chief Strategy Officer of Deitel & Associates, Inc., has over 50 years of experience in the computer field. Dr. Deitel earned B.S. and M.S. degrees in Electrical Engineering from MIT and a Ph.D. in Mathematics from Boston University. He has extensive college teaching experience, including earning tenure and serving as the Chairman of the Computer Science Department at Boston College before founding Deitel & Associates, Inc., in 1991 with his son, Paul. The Deitels’ publications have earned international recognition, with translations published in Japanese, German, Russian, Spanish, French, Polish, Italian, Simplified Chinese, Traditional Chinese, Korean, Portuguese, Greek, Urdu and Turkish. Dr. Deitel has delivered hundreds of programming courses to corporate, academic, government and military clients.

Table of Contents

Preface xxi

Before You Begin xxxi

Chapter 1: Introduction to Android 1

1.1 Introduction 2

1.2 Android–The World’s Leading Mobile Operating System 3

1.3 Android Features 3

1.4 Android Operating System 6

1.5 Downloading Apps from Google Play 13

1.6 Packages 14

1.7 Android Software Development Kit (SDK) 16

1.8 Object-Oriented Programming: A Quick Refresher 18

1.9 Test-Driving the Tip Calculator App in an Android Virtual Device (AVD) 21

1.10 Building Great Android Apps 30

1.11 Android Development Resources 32

1.12 Wrap-Up 34

Chapter 2: Welcome App 35

Dive-Into® Android Studio: Introducing Visual GUI Design, Layouts, Accessibility and Internationalization

2.1 Introduction 36

2.2 Technologies Overview 37

2.3 Creating an App 38

2.4 Android Studio Window 44

2.5 Building the App’s GUI with the Layout Editor 49

2.6 Running the Welcome App 65

2.7 Making Your App Accessible 66

2.8 Internationalizing Your App 67

2.9 Wrap-Up 72

Chapter 3: Tip Calculator App 73

Introducing GridLayout, EditText, SeekBar, Event Handling, NumberFormat, Customizing the App’s Theme and Defining App Functionality with Java

3.1 Introduction 74

3.2 Test-Driving the Tip Calculator App 75

3.3 Technologies Overview 76

3.4 Building the GUI 81

3.5 Default Theme and Customizing Theme Colors 88

3.6 Adding the App’s Logic 92

3.7 AndroidManifest.xml 100

3.8 Wrap-Up 103

Chapter 4: Flag Quiz App 105

Fragments, Menus, Preferences, Explicit Intents, Handler, AssetManager, Tweened Animations, Animators, Toasts, Color State Lists, Layouts for Multiple Device Orientations, Logging Error Messages for Debugging

4.1 Introduction 106

4.2 Test-Driving the Flag Quiz App 108

4.3 Technologies Overview 113

4.4 Creating the Project, Resource Files and Additional Classes 121

4.5 Building the App’s GUI 132

4.6 MainActivity Class 140

4.7 MainActivityFragment Class 147

4.8 SettingsActivity Class 161

4.9 SettingsActivityFragment Class 161

4.10 AndroidManifest.xml 162

4.11 Wrap-Up 164

Chapter 5: Doodlz App 165

2D Graphics, Canvas, Bitmap, Accelerometer, SensorManager, Multitouch Events, MediaStore, Printing, Android 6.0 Permissions, Gradle

5.1 Introduction 167

5.2 Test-Driving the Doodlz App in an Android Virtual Device (AVD) 168

5.3 Technologies Overview 173

5.4 Creating the Project and Resources 176

5.5 Building the App’s GUI 181

5.6 MainActivity Class 187

5.7 MainActivityFragment Class 188

5.8 DoodleView Class 198

5.9 ColorDialogFragment Class 207

5.10 LineWidthDialogFragment Class 211

5.11 EraseImageDialogFragment Class 214

5.12 Wrap-Up 216

Chapter 6: Cannon Game App 217

Manual Frame-By-Frame Animation, Graphics, Sound, Threading, SurfaceView and SurfaceHolder, Immersive Mode and Full-Screen

6.1 Introduction 218

6.2 Test-Driving the Cannon Game App 220

6.3 Technologies Overview 220

6.4 Building the GUI and Resource Files 222

6.5 Overview of This App’s Classes 225

6.6 MainActivity Subclass of Activity 226

6.7 MainActivityFragment Subclass of Fragment 226

6.8 Class GameElement 228

6.9 Blocker Subclass of GameElement 230

6.10 Target Subclass of GameElement 230

6.11 Cannon Class 231

6.12 Cannonball Subclass of GameElement 234

6.13 CannonView Subclass of SurfaceView 237

6.14 Wrap-Up 254

Chapter 7: WeatherViewer App 256

REST Web Services, AsyncTask, HttpUrlConnection, Processing JSON Responses, JSONObject, JSONArray, ListView, ArrayAdapter, ViewHolder Pattern, TextInputLayout, FloatingActionButton

7.1 Introduction 257

7.2 Test-Driving the WeatherViewer App 258

7.3 Technologies Overview 259

7.4 Building the App’s GUI and Resource Files 265

7.5 Class Weather 269

7.6 Class WeatherArrayAdapter 272

7.7 Class MainActivity 277

7.8 Wrap-Up 284

Chapter 8: Twitter® Searches App 286

SharedPreferences, SharedPreferences.Editor, Implicit Intents, Intent Choosers, RecyclerView, RecyclerView.Adapter, RecyclerView.ViewHolder, RecyclerView.ItemDecoration

8.1 Introduction 287

8.2 Test-Driving the App 288

8.3 Technologies Overview 295

8.4 Building the App’s GUI and Resource Files 297

8.5 MainActivity Class 303

8.6 SearchesAdapter Subclass of RecyclerView.Adapter 315

8.7 ItemDivider Subclass of RecyclerView.ItemDecoration 318

8.8 A Note on Fabric: Twitter’s New Mobile Development Platform 320

8.9 Wrap-Up 320

Chapter 9: Address Book App 322

FragmentTransactions and the Fragment Back Stack, SQLite, SQLiteDatabase, SQLiteOpenHelper, ContentProvider, ContentResolver, Loader, LoaderManager, Cursor and GUI Styles

9.1 Introduction 324

9.2 Test-Driving the Address Book App 326

9.3 Technologies Overview 328

9.4 Building the GUI and Resource Files 331

9.5 Overview of This Chapter’s Classes 341

9.6 DatabaseDescription Class 342

9.7 AddressBookDatabaseHelper Class 344

9.8 AddressBookContentProvider Class 346

9.9 MainActivity Class 354

9.10 ContactsFragment Class 360

9.11 ContactsAdapter Class 365

9.12 AddEditFragment Class 368

9.13 DetailFragment Class 376

9.14 Wrap-Up 382

Chapter 10: Google Play and App Business Issues 384

10.1 Introduction 385

10.2 Preparing Your Apps for Publication 385

10.3 Pricing Your App: Free or Fee 390

10.4 Monetizing Apps with In-App Advertising 392

10.5 Monetizing Apps: Using In-App Billing to Sell Virtual Goods 393

10.6 Registering at Google Play 394

10.7 Setting Up a Google Payments Merchant Account 395

10.8 Uploading Your Apps to Google Play 395

10.9 Launching Play Store from Within Your App 397

10.10 Managing Your Apps in Google Play 398

10.11 Other Android App Marketplaces 398

10.12 Other Mobile App Platforms and Porting Your Apps 398

10.13 Marketing Your Apps 399

10.14 Wrap-Up 403

Index 405

Customer Reviews

Most Helpful Customer Reviews

See All Customer Reviews