The Author Online Book Forums are Moving

The Author Online Book Forums will soon redirect to Manning's liveBook and liveVideo. All book forum content will migrate to liveBook's discussion forum and all video forum content will migrate to liveVideo. Log in to liveBook or liveVideo with your Manning credentials to join the discussion!

Thank you for your engagement in the AoF over the years! We look forward to offering you a more enhanced forum experience.

import-bot (20211) [Avatar] Offline
#1
Re: Errata
[Originally posted by jwhite]

Gerard,

We should have the errata contents updated. Thank you for pointing this and
the typo's above out to me. I will have them published to that page.

Thank you
Jim White
import-bot (20211) [Avatar] Offline
#2
[Originally posted by gerardrg]

I looked at the Errata page for this book but it shows nothing. There
evidentally have been some reported (ie "Book errors" thread of 05/04/02).
Why aren't they being posted to the Errata page? At least the following
should be there

======

In section 3.2.3 pg 45 the third paragraph should read.

"A set of price quotes for funds and stocks might look like table 3.1."

and not "... like table 3.2."

======

In section 3.2.4 pg 47 Figure 3.7 is mislabelled. The "QuoteService" should
be labelled "On-line Price Service" and vice versa.

======

In section 3.4 pg 51 the first chapter should read

"... development are covered in the chapters as outlined in table 3.2."

and not "... in table 3.3."
import-bot (20211) [Avatar] Offline
#3
Re: Errata
[Originally posted by gerardrg]

Another minor typo...

=========

In section 5.4.4 pg 102 the first paragraph should read

"... investment prices is a method for kicking off the low-level API
display..."

and not "... for kicking of the low-level...". There's a missing "f" in "off".

=========

By the way thank you very much for being so explicit in the book about how to
prepare the files (for example pg 115) for deployment. The inner classes
weren't working out on my Palm emulator until I compiled things just the way
you had it. I'm using Unix (Mac OS X) to go through the book so the Unix like
commands help a lot. Not using an IDE to put this together has helped out
tremendously getting this to all work under Mac OS X. Thanks again.
import-bot (20211) [Avatar] Offline
#4
Re: Errata
[Originally posted by gerardrg]

More typos...

=========

In section 5.6 on pg 131 the last paragraph should read...

"... should look similar to the picture in figure 5.32."

and not "... in figure 5.31."

=========

In section 5.6 on pg 132 the first paragraph should read...

"... convert the application (see figure 5.33)."

and not "... (see figure 5.32)."

=========

In section 5.6 on pg 132 the second paragraph should read ...

"... depicted in figure 5.34."

and not "... in figure 5.33."

=========

I don't think this is a typo but on the emulator for the Palm using

new Command("Exit", Command.EXIT, 1)

in code doesn't seem to show an exit button. Using

new Command("Exit", Command.SCREEN, 1)

works but this isn't the way it is suppose to be coded. I wonder if anyone
has had similar problems.
import-bot (20211) [Avatar] Offline
#5
Re: Errata
[Originally posted by jwhite]

Thanks again Gerard. We will post these as well.

As for the last issue, I just tested it out tonight. For all other device
types, the Command.EXIT works as described in the spec and Java Docs. It
looks to be a device implementation feature. The Palm device really does not
need an EXIT command since the application icon (the little house in the lower
left) is the "exit".

Thanks again for the typo list.

Jim
> More typos...
>
> =========
>
> In section 5.6 on pg 131 the last paragraph should read...
>
> "... should look similar to the picture in figure 5.32."
>
> and not "... in figure 5.31."
>
> =========
>
> In section 5.6 on pg 132 the first paragraph should read...
>
> "... convert the application (see figure 5.33)."
>
> and not "... (see figure 5.32)."
>
> =========
>
> In section 5.6 on pg 132 the second paragraph should read ...
>
> "... depicted in figure 5.34."
>
> and not "... in figure 5.33."
>
> =========
>
> I don't think this is a typo but on the emulator for the Palm using
>
> new Command("Exit", Command.EXIT, 1)
>
> in code doesn't seem to show an exit button. Using
>
> new Command("Exit", Command.SCREEN, 1)
>
> works but this isn't the way it is suppose to be coded. I wonder if anyone
> has had similar problems.
import-bot (20211) [Avatar] Offline
#6
Re: Errata
[Originally posted by gerardrg]

You said "The Palm device really does not need an EXIT command since the
application icon (the little house in the lower left) is the "exit"." I agree
this works for exiting out of the EntryForm (it actually exits the whole
MIDlet suite) but doesn't satisfy the requirements of the ChartCanvas. The
ChartCanvas as used by RetrieveQuoteMIDlet is suppose to (section 5.5.3 pg
122) "When the exit command on the canvas is triggered, this commandAction()
method in this listener calls on the display manager to set the current
Displayable back to the EntryForm object." This is also illustrated in Figure
5.28. To satsify this requirement and to use the API to the letter the
ChartCanvas constructor in Listing 5.15 pg 123 should be at least

public ChartCanvas()
{
exitCommand = new Command("Exit", Command.BACK, 1);
addCommand(exitCommand);
}

That's what Command.BACK is for.

What do you think? This guarantees the one "Exit" ("Return") button that is
really needed shows up. I think I deserve another typo award or something.
One of those No-Prizes of Marvel Comics fame. smilie
import-bot (20211) [Avatar] Offline
#7
Re: Errata
[Originally posted by jwhite]

Gerard,

without a doubt, you have won the honorary "technical editor" award (same as
the no-prize prize smilie ).

I am doing some more research into the Palm EXIT command. Based on its
apparent normal behavior in other devices and the examples in the
documentation, there seems to be a disconnect. We'll see if we can get to the
bottom.

Thanks again
Jim

> You said "The Palm device really does not need an EXIT command since the
> application icon (the little house in the lower left) is the "exit"." I agree
> this works for exiting out of the EntryForm (it actually exits the whole
> MIDlet suite) but doesn't satisfy the requirements of the ChartCanvas. The
> ChartCanvas as used by RetrieveQuoteMIDlet is suppose to (section 5.5.3 pg
> 122) "When the exit command on the canvas is triggered, this commandAction()
> method in this listener calls on the display manager to set the current
> Displayable back to the EntryForm object." This is also illustrated in Figure
> 5.28. To satsify this requirement and to use the API to the letter the
> ChartCanvas constructor in Listing 5.15 pg 123 should be at least
>
> public ChartCanvas()
> {
> exitCommand = new Command("Exit", Command.BACK, 1);
> addCommand(exitCommand);
> }
>
> That's what Command.BACK is for.
>
> What do you think? This guarantees the one "Exit" ("Return"smilie button that is
> really needed shows up. I think I deserve another typo award or something.
> One of those No-Prizes of Marvel Comics fame. smilie
import-bot (20211) [Avatar] Offline
#8
Re: Errata
[Originally posted by gerardrg]

Thanks for following up on the Exit issue. It seems to be pretty important
for writing portable code.

I've finished reading the book (skipped part 3 actually) and found it very
well worth the money I spent on it. Thanks for writing it.

A few more typos...

===============

In section 6.4.2 pg 152 in the code listing at the bottom. There is two lines
import-bot (20211) [Avatar] Offline
#9
Re: Errata
[Originally posted by gerardrg]

Thanks for following up on the Exit issue. It seems to be pretty important
for writing portable code.

I've finished reading the book (skipped part 3 actually) and found it very
well worth the money I spent on it. Thanks for writing it.

A few more typos...

===============

In section 6.4.2 pg 152 in the code listing at the bottom. There are two lines
import-bot (20211) [Avatar] Offline
#10
Re: Errata
[Originally posted by gerardrg]

Sorry about having sent out mistakenly two copies of what I was writing up.
Didn't mean for the profuse gratitude. smilie

A few more typos...

===============

In section 6.4.2 pg 152 in the code listing at the bottom. There are two lines

Random generator = new Random();

There should only be one.

===============

In section 6.4.3 pg 158 Listing 6.7 should say

"The parsePrices method in RetrieveQuoteMIDlet"

and the method removed from Listing 6.9 for ObtainQuoteMIDlet since it is
never used there.

===============

Not a typo but as a suggestion initCanvasListener() (section 6.4.3 pg 159
listing 6.smilie should probably be moved into the if statement at the beginning
of the method displayChartCanvas() as in

if (chartCanvas == null) {
chartCanvas = new ChartCanvas();
initCanvasListener();
}

since initCanvasListener() doesn't have to be called more than once. It does
create a new CommandListener every time it is called which means the old one
will have to be garbage collected.

================

In section 7.3.1 pg 175 half the code listing in the middle of the page I
think was put here mistakenly. The line above the listing says "...
javax.microedition.io package and an InputStreamReader from the
java.io.package are used." The first half of the code listing is basically a
functional duplicate of the second half but doesn't use the InputStreamReader.
Adding to the confusion on pg 176 Listing 7.1 uses the first half of the
listing on pg 175 but the listing on pg 179 uses the second half of the
listing on pg 175 even though the impression here is that the listing on pg
179 is a copy of that on pg 176. Sound confusing to you? I think picking one
way of doing things is fine or point out that you are showing two and using
one for your code.

================

In section 11.3.8 pg 322 4th paragraph I think instead of saying

"... that is being loaded has not been tapered with."

I think you meant "... tampered with."

=================

In section 11.3.8 pg 323 2nd paragraph I think instead of saying

"... example, you application may not be the only means of access the data."

I think you meant to say "... example, your application..."

=================

In section 12.3 pg 335 second to last paragraph says

"... in the javax.Servlet.http package."

I think you meant to write "... javax.servlet.http package". Lowercase "s"
should be specified.

=================

In section 12.4.4 pg 353 1st paragraph says

" ... encodes XML is binary form..."

I think you meant to say "... XML in binary form...".

==================

In section 13.2 pg 372 4th paragraph is says

"..., which uses the CLDC at the configuration."

I think you meant to say "... CLDC as the configuration."

==================