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
- In two places, "you" is spelled with a zero (0) instead of an o.
- On page 433, "support the CATEGORY_ALTERNATIVE" should be "support the CATEGORY_ALTERNATIVE category".
Version 2.3 - January 2012
- Page 190 refers to "peach and harmony" instead of "peace and harmony". No actual peaches were harmed in the creation of that typo.
- The source code listings at the bottom of page 206 and the top of page 207 are messed up.
Version 2.2 - December 2011
- Page 284 is supposed to have the source code to
AppListener
at the bottom, but instead hasAppService
.
Version 2.1 - October 2011
- 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
- Most of the code boxes in the "Content Provider Theory" chapter (pages 305-321) are off by several lines.
- The prose on page 425 says that we need a
SEND_SMS
permission, followed by a code box that shows theREAD_CONTACTS
permission. The prose is correct — the wrong line from the manifest is shown in the box. - 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
- Figure 13 on page 56 has "control lines to the right and bottom", when they are to the left and top.
- 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. - Page 270 has "an RECEIVE_BOOT_COMPLETED", which should be "a RECEIVE_BOOT_COMPLETED".
- Page 271 has "a ELAPSED_REALTIME_WAKEUP", which should be "an ELAPSED_REALTIME_WAKEUP".
Version 1.9.3 (digital) - April 2011
- Page 59 says that the button's initial size is 48px, when now it is 64px.
- Page 157 refers to an
addNewTab()
method, where the method name is reallyaddNewFeed()
. - 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
- The
Search/Lorem
sample application has a bug, whereonListItemClick()
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
- All occurrences of "vis a vis" should be "vis-à-vis" instead.
- All occurrences of "et. al." should be "et al." instead.
- The license cited for the Four-to-Free Guarantee has an erroneous space between "Share" and "Alike".
- Page 13 has "capacative" where it should have "capacitive".
- 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.
- The chapter on custom dialogs refers to some appendices that have been removed in this edition.
- Page 157 has "the will not be clicked", where it should have "they will not be clicked".
- 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.
- The source code and prose for WakefulIntentService are out of sync, notably on page 237.
- Page 272 refers to a
handleIntent()
method where the method is really namedhandleResult()
. - 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
- Page 163 refers to @android:style/Fullscreen where it should refer to @android:style/Theme.NoTitleBar.Fullscreen
- 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.
- Page 401 has an extra "i" in "applications".
Version 1.6 (digital) - June 2010
- The section on custom preferences (pages 132-142) is seriously messed up. This whole section will be repaired in the next release.
- 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.
- Page 276 shows an
ACTION_SEND
Intent
with a resource ID for theIntent.EXTRA_SUBJECT
extra. That will not work — you have to supply the subject as aString
.
Version 1.4 (digital) - March 2010
- Page 50 has a sentence "he result is much as you might expect", which is missing its leading T.
- The code listings on page 242 are truncated and misaligned. Please refer to the source code for the correct code fragments.
- Page 242 refers to the
Meter
class where it should refer to theSeekBar
class. - Several pages refer to
ContactDemo
, which has been renamedContactSpinners
.
Version 1.3 (digital) - December 2009
- Page 55 has
BroadcastReciever
where it should haveBroadcastReceiver
. - Page 89 has "a
ACTION_SEARCH
", where it should have "anACTION_SEARCH
". - 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".
- Page 116 has "animnation", which should be "animation".
- Page 125 has "Android devices not support raw output", which should be "Android devices do not support raw output".
- Page 160 has
android.contacts.CONTENT_URI
, which should beandroid.contacts.ContactsContract.Contacts.CONTENT_URI
. - Page 214 has "settings are one that Android", which should be "settings are ones that Android".
Version 1.2 (digital) - October 2009
- 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.
- 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
- 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
- Bullet #4 on page 230 has a rogue slash at the end instead of a period.