Errata for The Busy Coder's Guide to Advanced Android Development

A quick reminder: if you see problems in the book that are not listed here, report them via the Book Bug Bounty program!

Version 2.4 - January 2012

  1. In two places, "you" is spelled with a zero (0) instead of an o.
  2. On page 433, "support the CATEGORY_ALTERNATIVE" should be "support the CATEGORY_ALTERNATIVE category".

Version 2.3 - January 2012

  1. Page 190 refers to "peach and harmony" instead of "peace and harmony". No actual peaches were harmed in the creation of that typo.
  2. The source code listings at the bottom of page 206 and the top of page 207 are messed up.

Version 2.2 - December 2011

  1. Page 284 is supposed to have the source code to AppListener at the bottom, but instead has AppService.

Version 2.1 - October 2011

  1. Page 424 has "Because there is no UI to be shown, we use the Theme.NoDisplay them in our AndroidManifest.xml entry for this activity" — the word "them" should be removed.

Version 2.0 (digital) - July 2011

  1. Most of the code boxes in the "Content Provider Theory" chapter (pages 305-321) are off by several lines.
  2. The prose on page 425 says that we need a SEND_SMS permission, followed by a code box that shows the READ_CONTACTS permission. The prose is correct — the wrong line from the manifest is shown in the box.
  3. The code boxes with code from the Push/CD2M manifest file on pages 457 and 460 (two on the latter page) are off by one line.

Version 1.9.9 (digital) - June 2011

  1. Figure 13 on page 56 has "control lines to the right and bottom", when they are to the left and top.
  2. The Tapjacking/Jackalope sample project had a botched directory structure and an unnecessary @Override annotation. Curiously, the code still worked from a command-line build. The problems have been fixed in the HEAD of the git repository.
  3. Page 270 has "an RECEIVE_BOOT_COMPLETED", which should be "a RECEIVE_BOOT_COMPLETED".
  4. Page 271 has "a ELAPSED_REALTIME_WAKEUP", which should be "an ELAPSED_REALTIME_WAKEUP".

Version 1.9.3 (digital) - April 2011

  1. Page 59 says that the button's initial size is 48px, when now it is 64px.
  2. Page 157 refers to an addNewTab() method, where the method name is really addNewFeed().
  3. The source listing at the top of page 370 has the wrong lines. Please refer to the full file online.

Version 1.9.2 (digital) - March 2011

  1. The Search/Lorem sample application has a bug, where onListItemClick() uses the wrong source of data for populating the label (should use the adapter, which may contain a search subset).

Version 1.9.1 (digital) - September 2010

  1. All occurrences of "vis a vis" should be "vis-à-vis" instead.
  2. All occurrences of "et. al." should be "et al." instead.
  3. The license cited for the Four-to-Free Guarantee has an erroneous space between "Share" and "Alike".
  4. Page 13 has "capacative" where it should have "capacitive".
  5. Page 28 has "In an earlier chapter, we showed how you can get control and customize how a selected row appears in...", when in reality it is a later chapter, not an earlier chapter.
  6. The chapter on custom dialogs refers to some appendices that have been removed in this edition.
  7. Page 157 has "the will not be clicked", where it should have "they will not be clicked".
  8. Page 202 says "In the long term, there should be just one answer for aggregate contacts: android.provider.ContactsContract.Contacts.CONTENT_URI" — the actual value should be android.provider.ContactsContract.Contacts.People.CONTENT_URI.
  9. The source code and prose for WakefulIntentService are out of sync, notably on page 237.
  10. Page 272 refers to a handleIntent() method where the method is really named handleResult().
  11. Page 327 refers to Android 2.2 being in the future and points out a section that will be updated when 2.2 ships; this should have been corrected by now.

Version 1.9 (digital) - July 2010

  1. Page 163 refers to @android:style/Fullscreen where it should refer to @android:style/Theme.NoTitleBar.Fullscreen
  2. Page 202 says "On older versions of Android, we need to stick with the original android.provider.ContactsContract.Contacts.CONTENT_URI." The actual value should be android.provider.Contacts.CONTENT_URI.
  3. Page 401 has an extra "i" in "applications".

Version 1.6 (digital) - June 2010

  1. The section on custom preferences (pages 132-142) is seriously messed up. This whole section will be repaired in the next release.
  2. Page 196 says "On older versions of Android, we need to stick with the original android.provider.ContactsContract.Contacts.CONTENT_URI." The actual value should be android.provider.Contacts.CONTENT_URI.
  3. Page 276 shows an ACTION_SEND Intent with a resource ID for the Intent.EXTRA_SUBJECT extra. That will not work — you have to supply the subject as a String.

Version 1.4 (digital) - March 2010

  1. Page 50 has a sentence "he result is much as you might expect", which is missing its leading T.
  2. The code listings on page 242 are truncated and misaligned. Please refer to the source code for the correct code fragments.
  3. Page 242 refers to the Meter class where it should refer to the SeekBar class.
  4. Several pages refer to ContactDemo, which has been renamed ContactSpinners.

Version 1.3 (digital) - December 2009

  1. Page 55 has BroadcastReciever where it should have BroadcastReceiver.
  2. Page 89 has "a ACTION_SEARCH", where it should have "an ACTION_SEARCH".
  3. Page 114 has "will be invoked when the starts, ends, or repeats", which should be "will be invoked when the animation starts, ends, or repeats".
  4. Page 116 has "animnation", which should be "animation".
  5. Page 125 has "Android devices not support raw output", which should be "Android devices do not support raw output".
  6. Page 160 has android.contacts.CONTENT_URI, which should be android.contacts.ContactsContract.Contacts.CONTENT_URI.
  7. Page 214 has "settings are one that Android", which should be "settings are ones that Android".

Version 1.2 (digital) - October 2009

  1. Page 238, towards the bottom, has "If you have seen the service and Beanshell samples in then this implementation will seem familiar." — between "then" and "this" should be The Busy Coder's Guide to Android Development.
  2. Page 303, towards the bottom, has "you can unpublished it at any time", where it should be "you can unpublish it at any time".

Version 1.0 (print) - August 2009

  1. Figure 24 had to be dropped due to production problems, so the figures in the print book go from 23 to 25, skipping 24.

Version 1.0 (digital) - July 2009

  1. Bullet #4 on page 230 has a rogue slash at the end instead of a period.