Home > Store

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

Register your product to gain access to bonus material or receive a coupon.

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


  • Sorry, this book is no longer in print.
Not for Sale

eBook (Watermarked)

  • Your Price: $28.79
  • List Price: $35.99
  • Includes EPUB, MOBI, and PDF
  • About eBook Formats
  • This eBook includes the following formats, accessible from your Account page after purchase:

    ePub EPUB The open industry format known for its reflowable content and usability on supported mobile devices.

    MOBI MOBI The eBook format compatible with the Amazon Kindle and Amazon Kindle applications.

    Adobe Reader PDF The popular standard, used most often with the free Adobe® Reader® software.

    This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.



  • An update of Deitel's popular tutorial for the Android M and Android Studio 1.3 releases.
  • Uses the Deitels' unique application-driven approach; each new technology is discussed in the context of a complete real-world Android App
  • Shows how to use Eclipse and Android Development Tools (ADT) for Eclipse to create, debug, and deploy Android apps
  • Supported by Deitel Android Resource Center: http://www.deitel.com/ResourceCenters/Programming/Android4/tabid/3630/Default.aspx
  • Covers not only programming, but also how to register as an Android Developer and how to sell and market apps on Google Play


  • Copyright 2016
  • Dimensions: 7" x 9-1/8"
  • Pages: 464
  • Edition: 3rd
  • Book
  • ISBN-10: 0-13-428936-6
  • ISBN-13: 978-0-13-428936-6

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

Visit www.deitel.com

  • Download code examples
  • For info on Deitel’s Dive Into® Series programming training courses, visit www.deitel.com/training or write to deitel@deitel.com
  • Follow the Deitels on Facebook® at facebook.com/DeitelFan, Twitter® at @deitel, Google+™ at google.com/+DeitelFan, LinkedIn® at bit.ly/DeitelLinkedIn, YouTube™ at youtube.com/DeitelTV
  • Subscribe to the Deitel® Buzz e-mail newsletter at www.deitel.com/newsletter/ 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:// www.idc.com/prodserv/smartphone-os-market-share.jsp). Billions of apps have been downloaded from Google Play and more than one billion Android devices were shipped worldwide in 2014 (http://www.cnet.com/news/android-shipments-exceed- 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 http://www.deitel.com/books/AndroidFP3.

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.



Download the source code files from Android 6 for Programmers, 3rd Edition

Sample Content

Online Sample Chapter

How to Create a Tip Calculator App in Android 6

Sample Pages

Download the sample pages (includes Chapter 3 and Index)

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


Submit Errata

More Information

Unlimited one-month access with your purchase
Free Safari Membership