Errata
The errata list is a list of errors and their corrections that were found after the product was released. If the error was corrected in a later version or reprint the date of the correction will be displayed in the column titled "Date Corrected".
The following errata were submitted by our customers and approved as valid errors by the author or editor.
Color key: Serious technical mistake Minor technical mistake Language or formatting error Typo Question Note Update
Version | Location | Description | Submitted By | Date submitted | Date corrected |
---|---|---|---|---|---|
1 United States |
Not sure what page it's on, reading online. It's in ch 7, AsyncTask section. Errata for book says that this should be updateStatus, but when using the library found at github.com/learning-android/yambaclientlib the updateStatus method doesn't exist and Eclipse suggests using postStatus. I have yet to complete the project, so I don't know if postStatus is going to work, but there it is. Maybe an error in the errata? Note from the Author or Editor: |
Russell Zauner | Jul 25, 2014 | Sep 12, 2014 | |
Printed | Page 117 Canada |
Using 2nd edition of the book, most recent version of Eclipse as per June 2014. On p.112 and p.117 the YambaClientLib is discussed. Note from the Author or Editor: |
Kevin S | Jun 08, 2014 | |
Printed | Page 28 5th paragraph, second sentence |
Should generateList be printList? Note from the Author or Editor: |
Anonymous | May 14, 2014 | Sep 12, 2014 |
Printed | Page 170 RefreshService Example |
When I try out the getTimeline() example, I get the following error message: Note from the Author or Editor: |
Thomas Helmke | Apr 21, 2014 | |
Page 227 Sentence preceding the "Broadcasting Intents" title |
Typo: "sevice" instead of "service" Note from the Author or Editor: |
Francesco Benacci | Apr 21, 2014 | Sep 12, 2014 | |
Printed | Page 154 Section title at top of page |
The text of the title should say, Note from the Author or Editor: |
Grant Robertson | Apr 06, 2014 | Sep 12, 2014 |
Printed | Page 112 Entire section under Adding the Twitter API Library |
You really need to explain better how to get the actual .jar file from the GIT repository. Having never used GIT, it took quite a lot of digging around to find the actual .jar file instead of the source in various formats. |
Grant Robertson | Apr 06, 2014 | Sep 12, 2014 |
Page 169 Code |
case R.id.action_refresh: Note from the Author or Editor: |
Francesco Benacci | Apr 05, 2014 | Sep 12, 2014 | |
Page 168 Last paragraph |
The sentence: Note from the Author or Editor: |
Francesco Benacci | Apr 05, 2014 | Sep 12, 2014 | |
Page 168 res/menu/main.xml code |
The code illustrated here is completely unrelated from how it was introduced earlier, and also from how it is used in the following page. Note from the Author or Editor: |
Francesco Benacci | Apr 05, 2014 | Sep 12, 2014 | |
Page 156 Figure 9-3 |
The SettingsActivity, at this point, contains only the username and password sections. Maybe the Refresh Interval will be added later? Note from the Author or Editor: |
Francesco Benacci | Apr 05, 2014 | Sep 12, 2014 | |
Page 153 3rd paragraph in the "Loading the Menu" section |
The sentence: Note from the Author or Editor: |
Francesco Benacci | Apr 05, 2014 | Sep 12, 2014 | |
Page 144 First paragraph after the code |
The sentence: Note from the Author or Editor: |
Francesco Benacci | Apr 05, 2014 | Sep 12, 2014 | |
Page 129 Code |
The code for StatusActivity.java in this page is different from the one at pages 121-122-123, which was almost correct. Note from the Author or Editor: |
Francesco Benacci | Apr 05, 2014 | Sep 12, 2014 | |
Page 122 Code |
The code: Note from the Author or Editor: |
Francesco Benacci | Apr 05, 2014 | Sep 12, 2014 | |
Page 117 Code |
yambaCloud.updateStatus( params[0] ); Note from the Author or Editor: |
Francesco Benacci | Apr 05, 2014 | Sep 12, 2014 | |
Printed | Page 19 Last function of example 2-12 |
the last function returns a variable named "value", but no such variable is defined, resulting in a compile error. This is probably supposed to be: Note from the Author or Editor: |
Joshua Davies | Mar 14, 2014 | Mar 21, 2014 |
Printed | Page 24 Example 2-18 |
The file name given is MsgTypeOneExtended.java Note from the Author or Editor: |
Johs. Lind | Mar 05, 2014 | Mar 21, 2014 |
Printed | Page 12 Figure 2-1 |
The picture lets us believe that only the folders com and examples will be created. The marakana folder should be there too. Note from the Author or Editor: |
Johs. Lind | Mar 05, 2014 | Mar 21, 2014 |
Printed, PDF | Page xiiii Using Code Examples Section |
The download link points to the files for the first edition. |
O'Reilly Media |
Feb 21, 2014 | Mar 21, 2014 |
Printed |
Page 109 - Package Name |
The package name in the text is "com.marakana.android.yamba" but in the Figure 7-6 is "com.marakana.yamba" Note from the Author or Editor: |
Dante | Feb 16, 2014 | Mar 21, 2014 |
Page 254 Example 16-3 |
YambaApplication class and its getYambaClient() method has not been created yet. Note from the Author or Editor: |
CamelHarry | Feb 12, 2014 | Sep 12, 2014 | |
Page 172 comment #4 for the code |
"We call getYambaClient() in YambaApplication to get the yamba object," should be removed. Note from the Author or Editor: |
CamelHarry | Feb 12, 2014 | Mar 21, 2014 | |
Page 249 Example 15-16 |
- "i" after "urlConnection.setFixedLengthStreamingMode(data.getBytes().length());" should be removed. Note from the Author or Editor: |
CamelHarry | Feb 12, 2014 | Mar 21, 2014 | |
Page 249 Example 15-15 |
"i" after "urlConnection.setFixedLengthStreamingMode(data.getBytes().length());" should be removed. Note from the Author or Editor: |
CamelHarry | Feb 12, 2014 | Mar 21, 2014 | |
Page 246 Example 15-10 |
Closing quotation mark(") is missing for getURL. Note from the Author or Editor: |
CamelHarry | Feb 12, 2014 | Mar 21, 2014 | |
Page 238 Example 14-3 |
Inconsistent with the explanation below this code. Note from the Author or Editor: |
CamelHarry | Feb 12, 2014 | Sep 12, 2014 | |
Page 225 2nd line of the section "Testing the Boot Receiver" |
"either" should be removed. Note from the Author or Editor: |
CamelHarry | Feb 12, 2014 | Mar 21, 2014 | |
Page 218 Example 12-11 |
This master-detail view has an architectural bug. Note from the Author or Editor: |
CamelHarry | Feb 12, 2014 | Mar 21, 2014 | |
Page 216 Figure 12-2 |
Lower-right activity's name should be "Details Activity." Note from the Author or Editor: |
CamelHarry | Feb 11, 2014 | Mar 21, 2014 | |
Page 213 comment #2 for the code |
"Also notice that it is static final, meaning that it?s a constant." should be deleted. Note from the Author or Editor: |
CamelHarry | Feb 11, 2014 | Mar 21, 2014 | |
Page 218 commnet #2 for Example 12-10 |
It is also important to set 0dp to android:layout_width of both elements. Note from the Author or Editor: |
CamelHarry | Feb 11, 2014 | Mar 21, 2014 | |
Page 213 comment #6 for the code |
"Using the same Android helper method we used in our previous example, DateUtils.getRelativeTimeSpanString()," is supposed to be "Using the Android helper method DateUtils.getRelativeTimeSpanString()," because it is the first time to use getRelativeTimeSpanString(). Note from the Author or Editor: |
CamelHarry | Feb 11, 2014 | Mar 21, 2014 | |
Page 213 comment #1 for the code |
"VIEW_BINDER is defined later in our code." should be deleted. Note from the Author or Editor: |
CamelHarry | Feb 11, 2014 | Mar 21, 2014 | |
Page 192 Example 11-8 |
The code is inconsistent with the explanation above the code saying "This may or may not contain an ID. If it does, the ID indicates the specific record Note from the Author or Editor: |
CamelHarry | Feb 11, 2014 | Mar 21, 2014 | |
Page 190 Example 11-6 |
Example 11-6 does not show the implementation of getId(). Note from the Author or Editor: |
CamelHarry | Feb 11, 2014 | Mar 21, 2014 | |
Page 189 last line |
"or vnd.marakana.yamba.mstatus" should be deleted. Note from the Author or Editor: |
CamelHarry | Feb 11, 2014 | Mar 21, 2014 | |
Page 169 comment #1 for the code |
"Then onStartCommand() is Note from the Author or Editor: |
CamelHarry | Feb 11, 2014 | Mar 21, 2014 | |
Page 161 1st paragraph |
There is not API root in the XML file. Note from the Author or Editor: |
CamelHarry | Feb 11, 2014 | Mar 21, 2014 | |
Page 154 Example 9-8 |
In onOptionsItemSelected, if you don't handle the menu item, you should call the superclass implementation of onOptionsItemSelected(), even though it returns false in this example and ends up the same result. Note from the Author or Editor: |
CamelHarry | Feb 10, 2014 | Mar 21, 2014 | |
Page 157 2nd paragraph |
Since this code is check that username and password are not empty before it attempts to log in, this code will NOT "attempt to log in with an empty username and password, and thus fail." Note from the Author or Editor: |
CamelHarry | Feb 10, 2014 | Mar 21, 2014 | |
Page 157 1st paragraph |
In fragments, pass getActivity() instead of "this" to PreferenceManager.getDefaultSharedPreferences() as in Example 9-9. Note from the Author or Editor: |
CamelHarry | Feb 10, 2014 | Mar 21, 2014 | |
Page 155 paragraph just before Shared Preferences and ... section |
StatusActivity is supposed to be MainActivity. Note from the Author or Editor: |
CamelHarry | Feb 10, 2014 | Mar 21, 2014 | |
Page 154 Example 9-8 |
After I read comments from Tim and Francesco Benacci, I guess the option for R.id.action_tweet should be removed from the switch statement for now. Note from the Author or Editor: |
CamelHarry | Feb 10, 2014 | Mar 21, 2014 | |
Page 149 unnamed figure |
The project name is supposed to be "Yamba" Note from the Author or Editor: |
CamelHarry | Feb 10, 2014 | Mar 21, 2014 | |
ePub | Page 150 Part 4: Content Providers -> The dbHelper class |
... Android rovides a class with the common ... Note from the Author or Editor: |
maxolasersquad | Feb 10, 2014 | Mar 21, 2014 |
Page 120 Example 7-7 |
I think it would be better to remove "+" in Note from the Author or Editor: |
CamelHarry | Feb 10, 2014 | Mar 21, 2014 | |
Page 119 2nd paragraph |
"Update Status" is supposed to be "Tweet." Note from the Author or Editor: |
CamelHarry | Feb 10, 2014 | Mar 21, 2014 | |
Page 113 2nd paragraph |
in "choose the rightmost tab at the bottom that says_AndroidManifest.xml_", AndroidManifest.xml is wrapped with extra underscores(_). Note from the Author or Editor: |
CamelHarry | Feb 10, 2014 | Mar 21, 2014 | |
Page 109 Figure 7-13 |
Figure 7-13 is NOT a LogCat View. Note from the Author or Editor: |
CamelHarry | Feb 10, 2014 | Mar 21, 2014 | |
Page 102 layout_weight |
There are many mistakes: Note from the Author or Editor: |
CamelHarry | Feb 07, 2014 | Mar 21, 2014 | |
Page 101 Example 7-1 |
Actually it's not mistake. |
CamelHarry | Feb 07, 2014 | Mar 21, 2014 | |
Page 251 1st paragraph of Networking in the Background using AsyncTask... |
In "it cannot be done in the the UI thread", "the" is duplicated. Note from the Author or Editor: |
CamelHarry | Feb 07, 2014 | Mar 21, 2014 | |
Page 80 Last paragraph |
In "To help understand the diagrams as we keep moving through the the design", "the" is duplicated. Note from the Author or Editor: |
CamelHarry | Feb 07, 2014 | Mar 21, 2014 | |
Page 59 1st line |
resources.ap is supposed to be resources.ap_. Note from the Author or Editor: |
CamelHarry | Feb 06, 2014 | Mar 21, 2014 | |
Page 231 Summary paragraph |
The notification in NotificationReceiver will not fire unless you add a receiver to the AndroidManifest.xml as follows: Note from the Author or Editor: |
Tim | Feb 03, 2014 | Mar 21, 2014 | |
Page 40 Last paragraph of Resources |
resources.ap\_ is supposed to be resources.ap_. Note from the Author or Editor: |
CamelHarry | Feb 03, 2014 | Mar 21, 2014 | |
Page 38 1st paragraph (above the Figure 3-2) |
"in" in the "between standard Java (on the left) in Android Note from the Author or Editor: |
CamelHarry | Feb 03, 2014 | Mar 21, 2014 | |
Page 221 Figure 12-3 |
Your app will not look like the image as you do not have the "FreshnessView" View (see errata for p218). It will look similar, just without the green bar. Note from the Author or Editor: |
Tim | Feb 03, 2014 | Sep 12, 2014 | |
Page 218 Example 12-11 |
The code in this example is meant to be a continuation for TimelineFragment, however, this code has issues and will not compile successfully in the supplied form: Note from the Author or Editor: |
Tim | Feb 03, 2014 | Mar 21, 2014 | |
Example 12-11 |
The code in this example is meant to be a continuation for TimelineFragment, however, this code has issues and will not compile successfully in the supplied form: Note from the Author or Editor: |
Tim | Feb 03, 2014 | Mar 21, 2014 | |
Page 20 In the Method showErrorHandling() |
The purpose of example 2-12 ist to show how error handling works. Note from the Author or Editor: |
David Pr�m | Feb 02, 2014 | Sep 12, 2014 | |
Page 212 Example 12-7 |
The code in this example is meant to be a continuation for TimelineFragment, however, it has major breaking differences to the previous iteration and will not compile without errors. For example, in the "onActivityCreated" method: Note from the Author or Editor: |
Tim | Feb 02, 2014 | Mar 21, 2014 | |
Page 211 We can now run the app... |
As a follow-up to the previous comment, to get the app to run, comment out the line: Note from the Author or Editor: |
Tim | Feb 02, 2014 | Mar 21, 2014 | |
Page 211 We can now run the app... |
You will *not* be able to run the app at this point because VIEW_BINDER is not defined in your class "TimelineFragment" up until this point and as such you will encounter a compiler error. VIEW_BINDER is defined on page 219(!) Note from the Author or Editor: |
Tim | Feb 02, 2014 | Mar 21, 2014 | |
Page 210 Example 12-6 |
MainActivity is already set as the main entry point (done on page 150), so it is unclear why this is repeated here. Note from the Author or Editor: |
Tim | Feb 02, 2014 | Mar 21, 2014 | |
Page 208 Example 12-5 |
The statement: Note from the Author or Editor: |
Tim | Feb 02, 2014 | Mar 21, 2014 | |
Page 206 Example 12-4 |
The "list_item" layout does not include a View for the "list_item_freshness" reference in Example 12-3 (p205), only the references for "list_item_text_user", "list_item_text_message" and "list_item_text_created_at" are present in the "list_item" layout. Note from the Author or Editor: |
Tim | Feb 02, 2014 | Mar 21, 2014 | |
Page 203 - 204 Example 12-1 |
The statement: Note from the Author or Editor: |
Tim | Feb 02, 2014 | Mar 21, 2014 | |
Page 168 - 169 Update the Options Menu Handling section |
This tells you to update "StatusActivity.java" for the method "onOptionsItemSelected()" even though on page 154 you actually added it to "MainActivity.java" - which is where it should be changed. However, the code shown in this second still does not match what was shown on page 154 in any case. This can be verified in that the line "startActivity(new Intent(this, PrefsActivity.class));" is nowhere else in the text. Note from the Author or Editor: |
Tim | Feb 02, 2014 | Mar 21, 2014 | |
Page 168 Add Menu Items section / Example 10-3 |
The "Menu.xml" referenced is inconsistent with the previously defined menu, "main.xml", furthermore, the code provided in Example 10-3 does not match that given for the original "main.xml" defined earlier in the book. Note from the Author or Editor: |
Tim | Feb 02, 2014 | Mar 21, 2014 | |
Page 154 Example 9-8 - onOptionsItemSelected, case R.id.action_tweet |
Whilst it is clear what is happening for the "action_settings" case by calling a new intent and passing the SettingsActivity class, it is not so clear what is happening for the "action_tweet" case. Note from the Author or Editor: |
Tim | Feb 01, 2014 | Mar 21, 2014 | |
Page 151 The caption of Figure 9-3 |
This should read: Note from the Author or Editor: |
Tim | Feb 01, 2014 | Mar 21, 2014 | |
Page 148 Point 2. of the list at the bottom |
This should read Note from the Author or Editor: |
Tim | Feb 01, 2014 | Mar 21, 2014 | |
Page 146 Example 9-3 |
As the SettingsFragment implements OnSharedPreferenceChangeListener then the class should also include: Note from the Author or Editor: |
Tim | Feb 01, 2014 | Sep 12, 2014 | |
Page 144 Figure 9-2 / Example 9-1 |
In the figure, the entries do not correspond to the code given in Example 9-1, such that: Note from the Author or Editor: |
Tim | Feb 01, 2014 | Mar 21, 2014 | |
Page 143 Figure 9-1 |
In the figure, the "File" field ("prefs.xml") does not match the file you are told to create ("settings.xml"). Note from the Author or Editor: |
Tim | Feb 01, 2014 | Mar 21, 2014 | |
Page 129 United Kingdom |
Chapter 8 needs a bit of a re-write as it is very unclear what you need to do - it's not obvious why you are performing some of the steps. To sum up, this is what you need to do: Note from the Author or Editor: |
Tim | Feb 01, 2014 | Mar 21, 2014 | |
Page 124 Figure 7-19 |
The figure matches the first half of point 8 of page 123 - not sure this is correct since the text of point 8 of 123 contradicts itself, and as such should possibly be changed to show a figure with yellow text given the second half of point 8 of page 123. Please refer to the errata for page 123 as this is directly linked. Note from the Author or Editor: |
Tim | Feb 01, 2014 | Sep 12, 2014 | |
Page 112 After "Adding the Twitter API Library" |
There is no link mentioned for the "YambaClientLib" library, except in the preface, which points to https://github.com/marakana/LearningAndroidYamba which appears to be incorrect (or at least makes it very hard to find the correct file). I actually found a newer version at https://github.com/twitter-university/YambaClientLib however I am unsure if this is correct version. Note from the Author or Editor: |
Tim | Jan 31, 2014 | Mar 21, 2014 | |
Page 122 top |
the code to color the text is wrong, should be: Note from the Author or Editor: |
Ronny De Winter | Jan 31, 2014 | Mar 21, 2014 | |
Page 28 Section "Generics" |
"MsgTypeOne, MsgTypeTwo, and MsgTypeThree" are supposed to be MsgTypeImplementation, MsgTypeAdditional, and MsgTypeImplemen Note from the Author or Editor: |
CamelHarry | Jan 31, 2014 | Mar 21, 2014 | |
Page 27 3rd paragraph |
In "we see if the MsgInterface in question is a Note from the Author or Editor: |
CamelHarry | Jan 31, 2014 | Mar 21, 2014 | |
Page 24 Title of Example 2-18 |
File name is supposed to be MsgTypeImplementationExtended.java. Note from the Author or Editor: |
CamelHarry | Jan 31, 2014 | Mar 21, 2014 | |
Page 21 2nd paragraph |
the logic explicitly Note from the Author or Editor: |
CamelHarry | Jan 31, 2014 | Mar 21, 2014 | |
Page 171 code |
In the yambaclientlib.jar i managed to download from github (which is not at the address given in the book) two things are missing, relative to this code: Note from the Author or Editor: |
Francesco Benacci | Jan 26, 2014 | Mar 21, 2014 | |
Page 169 onOptionsItemSelected method |
I'm sorry, i still believe this book is one of the best for Android development, but this chapter seriously needs to be fixed. Note from the Author or Editor: |
Francesco Benacci | Jan 26, 2014 | Mar 21, 2014 | |
Page 168 Paragraph "Add Menu Items" |
This paragraph is not consistent with the previous contents of the book: Note from the Author or Editor: |
Francesco Benacci | Jan 26, 2014 | Mar 21, 2014 | |
Page 141 4th paragraph |
The sentence "So our interface will have three fields where the user can enter and edit his username, his password, and the API root". is not correct. Note from the Author or Editor: |
Francesco Benacci | Jan 26, 2014 | Mar 21, 2014 | |
Page 155 1st paragraph |
The sentence "At this point, we have only one menu item, but that Note from the Author or Editor: |
Francesco Benacci | Jan 26, 2014 | Mar 21, 2014 | |
Page 145 Last paragraph before the code |
I think the sentence "The SettingsFragment class extends the SettingsActivity class, an Android framework class that knows how to handle preferences." Note from the Author or Editor: |
Francesco Benacci | Jan 26, 2014 | Mar 21, 2014 | |
Page 145 2nd paragraph after "SettingsActivity" title |
This errata "overrides" my previous one on the same page (while keeping reading i figured out what the actual mistake was). Note from the Author or Editor: |
Francesco Benacci | Jan 26, 2014 | Mar 21, 2014 | |
Page 145 2nd paragraph after "SettingsActivity" title |
The sentence "This will create a SettingsActivity.java file under your package in your source folder. Then do the same thing and create a SettingsActivity class." is misleading. Note from the Author or Editor: |
Francesco Benacci | Jan 26, 2014 | Mar 21, 2014 | |
Page 123 Last paragraph |
The paragraph has two mistakes. Note from the Author or Editor: |
Francesco Benacci | Jan 25, 2014 | Mar 21, 2014 | |
Page 123 Next to bullet number 2 |
The sentence "Because we don?t now what theme" should be "Because we don?t know what theme". Note from the Author or Editor: |
Francesco Benacci | Jan 25, 2014 | Mar 21, 2014 | |
Page 117 doInBackground method |
Using the jar found at https://github.com/twitter-university/yamba/tree/master/libs, there is no postStatus method available for the yambaCloud variable. Instead, it seems the correct one is updateStatus Note from the Author or Editor: |
Francesco Benacci | Jan 25, 2014 | Mar 21, 2014 | |
Page 112 2nd paragraph after the "Adding the Twitter API Library" title |
The link provided for YambaClientLib isn't correct. I found several repos in github that might point to the correct jar file. Note from the Author or Editor: |
Francesco Benacci | Jan 25, 2014 | Mar 21, 2014 | |
Page 112 3rd paragraph after the "Adding the Twitter API Library" title |
The sentence "making it easy for you to peek at its Note from the Author or Editor: |
Francesco Benacci | Jan 25, 2014 | Mar 21, 2014 | |
Page 102 Final paragraph |
A TextView named Title is mentioned, but it hasn't been added in the UI. Note from the Author or Editor: |
Francesco Benacci | Jan 25, 2014 | Mar 21, 2014 | |
Page 83 The dbHelper class |
"rovides" should be "provides". Note from the Author or Editor: |
Davor Lozic | Jan 21, 2014 | Mar 21, 2014 | |
Page 60 At the start of the page (inside general note). |
"th Emulator supports GPU..." => typo with the word "th" => "the". Note from the Author or Editor: |
Davor Lozic | Jan 20, 2014 | Mar 21, 2014 |