Errata
The errata list is a list of errors and their corrections that were found after the product was released.
The following errata were submitted by our customers and have not yet been approved or disproved by the author or editor. They solely represent the opinion of the customer.
Color Key: Serious technical mistake Minor technical mistake Language or formatting error Typo Question Note Update
Version | Location | Description | Submitted by | Date submitted |
---|---|---|---|---|
Page XV 3rd paragraph and second title in bold. |
In the third paragraph it says: |
Anonymous | Jul 27, 2011 | |
Page XV Second Paragraph |
But we assume that if you?re holding this book, you really want to learn |
David Martirosyan | Sep 08, 2011 | |
Page jeastorga@gmail.com jeastorga@gmail.com |
The same content/paragraph appears on page v and vi: Your First App |
Jorge E. Astorga | Sep 12, 2011 | |
Page 2 2nd paragraph |
Text states "With careful planning, you're app ..." |
spiceisland | Jul 28, 2011 | |
Page 3 First real paragraph |
Text states "There are or course ..." |
spiceisland | Jul 28, 2011 | |
Page 8 Second "arrow" paragraph |
Text states "... of the haiku on it;s own line ..." |
spiceisland | Jul 28, 2011 | |
Page 8 Last paragraph |
Text states "Form there, you'll install ..." |
spiceisland | Jul 28, 2011 | |
Page 9 Paragraph numbered as (3) |
Paragraph ends "The ADT is really just a user interface, and |
spiceisland | Jul 28, 2011 | |
Page 10 3rd paragraph |
Text states "... development environment,. you can use ..." |
spiceisland | Jul 28, 2011 | |
Page 12 XML string sample |
On page 12 of the sample the string ?name? key got hyphens in them instead of a underscore. (test-image_title) |
Anonymous | Aug 27, 2011 | |
Page 13 1st paragraph |
"android.developer.com" should be "developer.android.com" |
Anonymous | Jul 28, 2011 | |
Page 13 Page title |
Title reads "Doanload and install the SDK". |
spiceisland | Jul 28, 2011 | |
Page 13 Section title |
Title says 'Doanload' instead of 'Download' |
Ernesto Cullen | Oct 10, 2011 | |
Page 17 Right-most diagram "arrow" |
Text states 'Press "Instal Selected"' |
spiceisland | Jul 28, 2011 | |
Page 18 End of page |
To get project to build, a Build Target must be selected. This is not mentioned or shown on the page 18 |
Kevin Smith | Jul 28, 2011 | |
Page 18 3rd paragraph |
The actual menu option to create a new Android project is (now, might be different in older than R12/Eclipse 3.7 versions) File->New->Other->Android->Android Project. |
jwenting | Aug 30, 2011 | |
Page 24 Screenshot of AndroidLove app |
Screenshot display does not match that created following previous instructions. |
spiceisland | Jul 30, 2011 | |
Page 24 First paragraph |
In the first paragraph, "Now that you have an emulator configuration set up, run the app again. Run it the same was as before by pressing the play button in the toolbar." |
Jorge Mario Palacio Gomez | Aug 01, 2011 | |
Page 28 First paragraphs |
The second line says Navigate to /res/layout/main.xml in the "exlipse" instead of "eclipse" package explorer and .... |
Anonymous | Jul 28, 2011 | |
Page 28 Folder-layout diagram |
Purple folder called "layouts". |
spiceisland | Jul 30, 2011 | |
Page 29 The IDE graphical editor picture |
The picture of the graphical editor looks a bit different than what it currently looks on the IDE. |
Jorge E. Astorga | Sep 12, 2011 | |
Page 30 Second answer at bottom-right of page |
Seems to be a spurious single-backquote (grave, or ` ) after the word "So". |
spiceisland | Jul 30, 2011 | |
Page 33 1st paragraph |
Text states "Right below layouts in the res folder ..." |
spiceisland | Jul 30, 2011 | |
Page 33 Folder-layout diagram |
Purple folder called "layouts". |
spiceisland | Jul 30, 2011 | |
Page 33 Do this box |
Text states "Navigate to the main.xml file in the Eclipse package explorer." |
spiceisland | Jul 30, 2011 | |
Page 34 Raw xml screenshot at bottom of page |
Screenshot display does not match that created following previous instructions. |
spiceisland | Jul 30, 2011 | |
Page 35 arrow sign pointing to image |
There is a typo after hello World. It says "Sting" instead of String. |
monika budhiraja | Jul 28, 2011 | |
Page 35 1st paragraph |
Text reads "... values by select an item ..." |
spiceisland | Jul 30, 2011 | |
Page 38 2nd paragraph, end of the first line. |
The text "toadd" is a typo for "to add" |
draines | Jan 30, 2012 | |
Page 38 5th paragraph |
read as |
Anonymous | Apr 13, 2016 | |
Page 39 Red-bordered bullet list on right |
Fifth bullet point states "Layouts are defined in XML and you can find |
spiceisland | Jul 30, 2011 | |
Page 41 In speech bubble in main picture |
Says" Its like harding cattle. Harding should be herding. |
Kevin Smith | Jul 28, 2011 | |
Page 43 Second "arrow" note on the left |
Text reads "HIde the haiku when the ap loads." |
spiceisland | Jul 30, 2011 | |
Page 43 Top right, page header. |
On this, and other right-side pages, the header is incorrect. It is labelled "working with feeds" instead of the proper chapter title "adding behavior". |
draines | Jan 30, 2012 | |
Page 46 End of 1st paragraph |
Text reads "You can find it under /res/layout.main.xml." |
spiceisland | Jul 30, 2011 | |
Page 46 1st paragraph |
"Open main.xmlby by" should be "Open main.xml by" |
Anonymous | Aug 02, 2011 | |
Page 46 1st paragraph, 4th line, first full sentence. |
The sentence reads "Open main.xmlby double clicking ...". |
draines | Jan 30, 2012 | |
Page 47 Text for 2nd red numbered point |
Text reads "You?ll the first View defined in the file is the Button you just added!" |
spiceisland | Jul 30, 2011 | |
Page 47 Raw xml screenshot at bottom of page |
When I added a new button, the resulting XML looked quite different from the example given here. The value of the "android:text" attribute was plain "Button" instead of "@+id/Button01". |
spiceisland | Jul 31, 2011 | |
Page 47 2nd paragraph (numbered 1), 2nd sentence, at the line split. |
Missing word, "where the button is going render." |
draines | Jan 30, 2012 | |
Page 48 2nd paragraph |
Text states "... TextView displaying the hauki and the Button ..." |
spiceisland | Jul 31, 2011 | |
Page 48 2nd paragraph |
The code referred to in chapter 2 seems to have morphed compared to that created in chapter 1. |
spiceisland | Jul 31, 2011 | |
Page 48 2nd text box. |
In this text box and throughout the chapter, it is apparent that the name of the text string created in the first chapter has been changed from "hello" to "haiku". This problem shows up throughout the chapter and causes a bit of confusion. |
draines | Jan 30, 2012 | |
Page 51 2nd paragraph, 2nd sentence. |
The sentence reads: "Open strings.xml and click on the strings.xml." |
draines | Jan 30, 2012 | |
Page 56 2nd paragraph |
Text reads "You could remove the TextView and it back |
spiceisland | Jul 31, 2011 | |
Page 57 Top-right "arrow" text |
Text states "If you know the class you're looking for, but now the package, you can type it in here to search the documentation." |
spiceisland | Jul 31, 2011 | |
Page 57 top left caption/comment of the screenshot |
the sentence should read "This area lists all of the packages in.." instead of "This area lists all of the packes in..." |
GreenITGuy | Jul 31, 2011 | |
Page 57 Top right comment/caption on the screenshot |
2nd line should read "looking for, but not the package," instead of "looking for, but now the package" |
GreenITGuy | Jul 31, 2011 | |
Page 64 Sample of XML at bottom of page |
Example XML has Button "android:text" attribute value set to "@+id/Button01?. |
spiceisland | Jul 31, 2011 | |
Page 64 2nd paragraph |
Give is a value of onLoveButtonClicked to be descriptive of what the Button is supposed to do. |
David Martirosyan | Sep 15, 2011 | |
Page 66 Folder-layout diagram |
This example of folder hierarchy does NOT match what you get from following the instructions in chapter 1. |
spiceisland | Jul 31, 2011 | |
Page 68 First paragraph |
Should say onLoveButtonClicked instead of onLoveVuttonClicked. |
Juan Hernandez | Jul 27, 2011 | |
Page 68 Code sample |
My code would not run until I added the following line: |
spiceisland | Jul 31, 2011 | |
Page 68 2nd paragraph |
The paragraph starting "The new onLoveVuttonClicked method..." should be "The new onLoveButtonClicked method..." |
Claus Jensen | Aug 02, 2011 | |
Page 70 First paragraph |
A parenthesis starts but it does not end. |
Juan Hernandez | Jul 27, 2011 | |
Page 70 Second paragraph, The 'R' file |
On the second paragraph subtitled: The 'R' file, it seems like the first sentence is missing a noun. |
Jorge E. Astorga | Sep 12, 2011 | |
Page 70 1st paragraph |
But you action code is defined in Java in the AndroidLove Activity. |
David Martirosyan | Sep 15, 2011 | |
Page 70 "The 'R' file" paragraph |
sentence: |
Virginie | Nov 08, 2011 | |
Page 70 "Do this!" section |
The text assumes the existence of some "com/headfirstlabs" path/package while the reader following the book didn't create any. |
Virginie | Nov 08, 2011 | |
Page 72 . |
The page is missing the Imports. Without the Imports the program will not |
Anonymous | Oct 24, 2011 | |
Page 74 first paragraph |
"an R file constant will getgenerated." |
Virginie | Nov 08, 2011 | |
Page 76 na |
No mention is made on this or the preceding pages of the imports needed to get View and TextView to work. |
Albert White | Oct 07, 2011 | |
Page 76 Action Magnet Snippets |
Also affects page 75 and the source code download for Chap02. |
James Lyle | Oct 09, 2011 | |
Page 78 Next to last bullet in the pull-out box. |
The next to last bullets need some editing. |
draines | Jan 30, 2012 | |
Page 82 3rd paragraph |
Go to http://www.nasa.gov/rss/image_ |
Mike Raben | Jul 29, 2011 | |
Page 82 First paragraph, second sentence |
"app from he image feed" should be "app from the image feed" |
Jorge E. Astorga | Sep 13, 2011 | |
Page 82 xml editor diagram |
The image tag doesn't seem to be in the xml any longer. |
David Martirosyan | Sep 18, 2011 | |
Page 86 2nd bullet point |
It says : Update CreateMessageActivity.xml so that it gets the text the user inputs. |
Rohit | Sep 16, 2015 | |
Page 87 thought bubble |
I can?t want to see it working! |
David Martirosyan | Sep 18, 2011 | |
Page 88 Project Name info text |
But It?s better leave out spaces |
David Martirosyan | Sep 18, 2011 | |
Page 88 Build Target info text |
Select the latest platform you have installed (2.3 at the timeof this writing |
David Martirosyan | Sep 18, 2011 | |
Page 90 Image |
Naming the 3 strings "test-image_title, test-image_date and test-image_description" leads to a compiling error in the R.java file: |
Mike Raben | Jul 29, 2011 | |
Page 91 do this box |
res/drawable_hdmi should be res/drawable_hdpi |
james findlay | Aug 02, 2011 | |
Page 92 Code in TextView Tags |
test_image_title, test_image_description, test_image_date use underscore between "test" and "title", while on page 90 they use hyphens ( test-image_title, test-image_date, test-image_description ). |
David Martirosyan | Sep 20, 2011 | |
Page 94 Code in TextView Tags |
test_image_title, test_image_description, test_image_date use underscore between "test" and "title", while on page 90 they use hyphens ( test-image_title, test-image_date, test-image_description ). |
David Martirosyan | Sep 20, 2011 | |
Page 100 1st paragraph |
You were to used the ScrollView to make the entire screen scroll. |
David Martirosyan | Sep 20, 2011 | |
Page 104 Ready Bake Code |
There are a few errors with SAX parsing example that make it much more difficult than it should be at that point in the book. It took me quite a while to work through all of the errors and get the example app working. |
Mike Raben | Jul 30, 2011 | |
Page 105 ready bake code |
the method public String getImage() can't possibly work as its return value is not a String but a Bitmap. |
jwenting | Aug 31, 2011 | |
Page 105 SAX Parse Ready Baked Code |
The XML parser code should be handle the fact that data from the rss are grabbed in chunk, otherwise you could have only a little part of the description of the image. |
Alessandro Boggiano | Sep 02, 2011 | |
Page 105 Do this! box at bottom of page |
The box reads: Download the IotdHandler code |
David Martirosyan | Oct 09, 2011 | |
Page 106 2nd paragraph |
"afterprocessFeed() returns" is missing a space (ie, should be "after processFeed() returns" |
james findlay | Aug 03, 2011 | |
Page 106 from here on |
The network calls made in processFeed() and the completely unmentioned getBitmat(), which can only be found in the online code, will not work. |
Peter Shannon | Aug 08, 2012 | |
Page 106 onward |
Adding this to the onCreate() method will disable strict mode for networking. |
Peter Shannon | Aug 12, 2012 | |
Page 108 Code Magnets |
Copying the code given into the NasaDailyImage.java file will result in several errors. |
Mike Raben | Jul 30, 2011 | |
Page 110 entire page |
Using R12 SDK/emulator against Android 2.2, no IOException is generated. The only thing returned is a vague "permission denied". |
jwenting | Aug 31, 2011 | |
Page 111 3rd paragraph |
In the 4th line of th 3rd paragraph instead of "requsts" it should be "requests" |
Juan Hernandez | Jul 27, 2011 | |
Page 111 3rd paragraph |
You can specity the permissions your app needs using a group of |
David Martirosyan | Oct 09, 2011 | |
Page 113 2nd paragraph |
There are a bunch of different permissions that you can ad to your |
David Martirosyan | Oct 09, 2011 | |
Page 116 2nd paragraph |
To correct the phrase "That tool is rhe Android Hierarchy Viewer.". |
Thiago Carvalho da Silva | Sep 24, 2012 | |
Page 117 Image at the bottom of the page |
The "written" instruction balloons do not tell the user to click on the "android.widget.ImageView" line so that the ImageView will be highlighted with the red box alluded to by the rest of the instructions. |
draines | Feb 13, 2012 | |
Page 117 Image at the bottom of the page |
The "written" instruction balloons do not tell the user to click on the "android.widget.ImageView" line so that the ImageView will be highlighted by the red box alluded to by the rest of the instructions. |
draines | Feb 13, 2012 | |
Page 117 Missing text for the image at the bottom of the page |
The "written" instruction balloons do not tell the user to click on the "android.widget.ImageView" line so that the ImageView will be highlighted by the red box alluded to by the rest of the instructions. |
draines | Feb 13, 2012 | |
Page 119 1st paragraph |
With the adjustViewBounds properts upated in your |
David Martirosyan | Oct 09, 2011 | |
Page 121 bullet points box |
res/drawable- hdmi should be res/drawable-hdpi |
james findlay | Aug 02, 2011 | |
Page 121 Bullet Points - 3rd bullet |
It?s a good practice to break your app down |
David Martirosyan | Oct 09, 2011 | |
Page 124 1st paragraph - not the bubble |
but it?s a idea to understand why |
David Martirosyan | Oct 10, 2011 | |
Page 124 Grey text next to code after 3rd paragraph |
The grey text reads "You put the code you want to run in the Handler's run() method." |
Lynn Samson | Jan 09, 2016 | |
Page 126 2nd paragraph |
Let?s build the button bar as a standalone layout and |
David Martirosyan | Oct 10, 2011 | |
Page 126 2nd paragraph |
Encapsulating parts of |
David Martirosyan | Oct 10, 2011 | |
Page 128 page title |
"Use properties to fune-tune the layout" |
james findlay | Aug 04, 2011 | |
Page 128 2nd box |
android:margin-top should be android:layout_marginTop here and throughout the book. |
jwenting | Aug 31, 2011 | |
Page 129 1st paragraph |
layout-width and layout-height boxes, second box should be layout_width |
Mike Raben | Jul 30, 2011 | |
Page 130 2nd row from bottom |
"android:margin-top" attribute is incorrect; should be "android:layout_marginTop" |
james findlay | Aug 05, 2011 | |
Page 130 throughout page |
every hyphen on the page should be an underscore. |
james findlay | Aug 05, 2011 | |
Page 130 and 132 Magnets with the "layout" attribute. |
In both of these pages and anywhere else in this chapter that the magnets are used with the "layout_xxx" attribute, the magnet incorrectly uses a dash instead of an underscore. This is true for some of the values as well (i.e. wrap-content instead of wrap_content). |
draines | Feb 13, 2012 | |
Page 131 entire page |
page has been erroneously duplicated and should be removed; page exists in its correct position at page 133 |
james findlay | Aug 05, 2011 | |
Page 132 1st paragraph |
Capitalize the third sentence starting with "you" |
David Martirosyan | Oct 13, 2011 | |
Page 138 entire page |
Omission: the button is never hooked up with the event handler (onRefresh()). |
jwenting | Aug 31, 2011 | |
Page 144 1st paragraph |
You should have also dismissed when dialog once the work is |
David Martirosyan | Oct 13, 2011 | |
Page 146 1st paragraph |
In the sentence: "The UI |
Juan Hernandez | Jul 29, 2011 | |
Page 146 In the diagram |
It should say "Repaint" instead of "Repain" in reference number 2. |
Juan Hernandez | Jul 29, 2011 | |
Page 146 1st Graphic |
The second task has a label of "Pperform layout". Should it be "Perform layout"? |
David Martirosyan | Oct 13, 2011 | |
Page 146 2nd Graphic |
Task 1 reads "This expensive call on call |
David Martirosyan | Oct 13, 2011 | |
Page 147 Graphic |
On Task 2 change "Repain" to "Repaint" |
David Martirosyan | Oct 13, 2011 | |
Page 148 Sample Code |
The book doesn't mention that "dialog" now has to be declared as a class variable. |
David Martirosyan | Oct 13, 2011 | |
Page 173 Code box |
ListView code missing line designating "android:id="@+id/times_list" |
Mike Raben | Aug 01, 2011 | |
Page 174 1st paragraph, 4th lie |
possessive apostrophe used for a plural. |
james findlay | Aug 05, 2011 | |
Page 181 near bottom (page is an XML listing) |
The second-to-last </LinearLayout> closing tag needs to be moved above the <ScrollView>. As it is, the ScrollView becomes part of the header, which you don't want -- the header for landscape mode should consist of the title, date, and the two buttons. |
DaveLindsley | Oct 13, 2011 | |
Page 187 item (2), pixel density |
If the smaller screen is supposed to have a greater pixel density ... then aren't the two grids swapped? |
DaveLindsley | Oct 13, 2011 | |
Page 190 1st line |
"You should have completed the getView method blow" |
james findlay | Aug 05, 2011 | |
Page 195 4th line from bottom of ready bake code |
getImage function returns wrong type. |
james findlay | Aug 04, 2011 | |
Page 203 sidebar |
"When working on a multi-screened app, |
jwenting | Sep 01, 2011 | |
Page 203 last paragraph |
"That?s why the first AVD that you created had suck big buttons and icons..." |
DaveLindsley | Oct 17, 2011 | |
Page 205 last line |
"make your own Android context men- the menu that pops up when" should be "make your own Android context menu, the menu that pops up when" |
jwenting | Sep 01, 2011 | |
Printed | Page 208 bottom |
"onToggleClicked" should be "onToggleButtonClicked" |
jagath ekanayake | Jul 27, 2015 |
Page 209 bottom illustration |
"ExitText" should be "EditText" |
jwenting | Sep 01, 2011 | |
Page 227 code box,2nd line |
Menu class erroneously shown as argument. |
james findlay | Aug 07, 2011 | |
Page 229 Ready Bake Code |
Eclipse forces the type of onCreateOptionsMenu to be boolean, not void. Fixed by changing the method to: |
Mike Raben | Aug 02, 2011 | |
Page 229 ready bake code box |
function declared as wrong type; onCreateOptionsMenu should be boolean, not void. |
james findlay | Aug 07, 2011 | |
Page 231 code box |
in the if statement, item.id is not how the item's id is accessed. The code on page 234 correctly shows this as item.getItemId(). |
Mike Raben | Aug 02, 2011 | |
Page 231 bottom box |
Incorrect method signature. Should be |
jwenting | Sep 01, 2011 | |
Page 231 Different locations |
onMenuItemSelected() should be replaced with OnOptionsItemSelected(). |
Alessandro Boggiano | Sep 02, 2011 | |
Page 257 code box |
RESULT_CANCELLED should be RESULT_CANCELED |
james findlay | Aug 13, 2011 | |
Page 257 2nd paragraph |
The request code passed into |
Alessandro Boggiano | Sep 02, 2011 | |
Page 261 Save Magnets Solution |
The method addTimeRecord(TimeRecord) is not defined anywhere. |
Alessandro Boggiano | Sep 02, 2011 | |
Page 271 First paragraph, Last line |
The last sentence of the first paragraph states "Then using a database API, your app would connect to the database and query or addsdata to the database." |
ecsa0014 | Sep 16, 2011 | |
Page 276 code block |
The inner class definition should be |
jwenting | Sep 08, 2011 | |
Printed | Page 281 code |
package com.hfad.workout; |
Anonymous | Jan 08, 2017 |
Page 284 Chapter 7 (lists and adapters) >> Page 284 (Sharpen your pencil) >> "Below is the TimeTrackerAdapter code" creation code |
Hi, |
Raghav Khunger | Oct 05, 2012 | |
Page 284 In 284 page TimeTrackerAdapter class is missing "addTimeRecord" method which is used later on 338 Page |
In 284 page TimeTrackerAdapter class is missing "addTimeRecord" method which is used later on 338 Page |
Raghav Khunger | Oct 05, 2012 | |
Page 311 bottom |
chapter # listed in the page footer is incorrect. Should be 9 rather than 67. |
jwenting | Sep 29, 2011 | |
Page 317 Chapter 7 (lists and adapters) >> 317 page >> Show the menu |
Chapter 7 (lists and adapters) >> 317 page >> Show the menu |
Raghav Khunger | Oct 05, 2012 | |
Page 323 end of page |
<activity android:name=?.AddTimeActivity?> </activity> MUST between <application> and </application> tag. If not, will always notice: "No activity found". |
Huynh Quang Thao | Feb 27, 2012 | |
Page 326 Chapter 7 (lists and adapters) >> 326 page >> Implement the button actions |
Chapter 7 (lists and adapters) >> 326 page >> Implement the button actions |
Raghav Khunger | Oct 05, 2012 | |
Page 503 1st and 2nd code snippet |
the stated is |
mamdouhalshamy | Oct 20, 2011 |