Learning Wireless Java 110
Learning Wireless Java (1st Ed.) | |
author | Qusay Mahmoud |
pages | 262 |
publisher | O'Reilly |
rating | 9 |
reviewer | Alex Moskalyuk |
ISBN | 0596002432 |
summary | Java developers’ guide to programming wireless devices |
Qusay Mahmoud's text starts off with an introduction to the Java wireless platform, which includes learning about a good deal of four-letter abbreviations, among which are J2ME, CLDC, and MIDP. In fact, the first three chapters of the book offer a detailed explanation of what those platforms are, what they provide, and how they differ. For those who have done some J2ME programming before, this might seem a bit too detailed, but for beginners venturing into the wireless world these chapters offer helpful information on where to start, what software to download on your machine and what different software packages represent.
In fact, the author goes into detailed explanations of each software package that you need to download in order to start developing for J2ME, and most of the examples, such as setting the path and required system variables, provide step-by-step information for both Windows and Linux platforms.
You don't get to write your own MIDlet until chapter 4, and by that time you should be pretty comfortable with the terminology and abbreviations used throughout the book. Most of the examples in the early chapters of the book involve working with the command-line compiler, and only in section 4.2.6 does the author introduce the J2ME Wireless Toolkit IDE.
The rest of the chapters are concentrate heavily on the classes provided with the J2ME platform. Chapter 5 gives an overview of MIDP GUI programming with abundant examples and source code. Chapter 6 goes into MIDP event handling, where you learn about the ways users interact with their cellular phones and how all those button pushes are interpreted by the K Virtual Machine. Chapter 7 deals with networking issues (you actually get to write your own J2ME application for accessing the server), and Chapter 8 provides an introduction to database programming and storing non-volatile data on J2ME phones. While the application examples are definitely helpful, well-written and commented, I wish the author would spend more time discussing the hardware implementation of server-client communications, since it's not precisely clear how you can test your J2ME Internet-enabled applications on a real phone without calling your cellular operator and using up valuable minutes.
There is also a chapter on Palm OS programming, which was of limited value to me, and thus cannot be properly evaluated in this review. The appendices are very nice, and include the information that most of the developers would probably find very relevant. Appendices A, B, C, D, E, F and G include descriptions of such J2ME API libraries as java.io, java.lang, and java.util (even though the names are the same as J2EE versions, don't be tricked -- to save space, a lot of classes didn't make it to J2ME) as well as complete javax.microedition reference.
The book is a worthwhile read, easy to understand and follow if you have a good knowledge of Java behind you, and can definitely give you a good introduction to wireless development.
You can purchase Learning Wireless Java from bn.com. Slashdot welcomes readers' book reviews -- to submit yours, read the book review guidelines, then visit the submission page.
Yes but... (Score:2, Interesting)
Will the TabletPCs even support Java?
I only ask because these things are coming out SOON, wil work on wireless techonology, but won't be running an open-source OS. Remember, just because you like it so muc doesn't mean it's the reality of the situation, M$ does still dominate over 90% of the market.
Which brings me to my next point, why not do more open source development for windows, it's not like it would be impossible. Maybe if some really neat win32 based OSS projects became popular, it would really boost the image of OSS in general.
(BTW this was not supposed to be a troll, so if it comes across as such I'm sorry)
Re:Yes but... (Score:2, Interesting)
Re:Yes but... (Score:1)
AAFA(Another Acronym Filled Article (Score:1, Funny)
TOO MANY ACRONYMS!!!! ;)
Re:AAFA(Another Acronym Filled Article (Score:1)
Re:New kind of slow (Score:2)
Wireless = slow
Java + Wireless = I'de rather not think about it.
See my post here [slashdot.org]. This is bunkum.
If you have some magicly fast method of networking for these new devices (like, maybe we should like them together with co-ax), then I'm sure there's a few companies would like to hear about it.
Re:New kind of slow (Score:1)
Java + Wireless = I'de rather not think about it.
So *you'd* rather that cell phone and other wireless devices remained large monolithic bricks that had no more capabilities then dialing a phone number?
No thankee! I'll take application and network capable devices anyday to make my life easier.
-Brent
Re:New kind of slow (Score:1, Informative)
If you think Java is too slow, you might still be in the mid 90s. Consider purchasing a time machine instead of a wireless PDA, and I think you'll find 2002 to be a more pleasant time than the 1996 that you've been marooned in.
Re:New kind of slow (Score:3, Insightful)
Re:New kind of slow (Score:3, Informative)
Wireless + Java = Fast
When using dedicated hardware Java is much faster on a wireless device that using a Virtual Machine on a Pentium machine, do your homework:
http://www.arm.com/aboutarm/4X8JCD/$File/ARM926
Re:You are wrong. (Score:2, Funny)
Obviously.
Re:You are wrong. (Score:2)
Somehow I doubt that, considering that I don't have a mobile, and I still use the same clunky land-line phone that I've had for the past 3 years.
Jython! (Score:1)
Just plain BS: No it's not (Score:5, Interesting)
The only code I have to change is anything UI related. As long as the developers don't embed BL into the UI then we can use the same code for both the PDA and the desktop. Even the event model can be the same.
Just change the UI.
Oh, and one more thing: don't use every package in the book. Trying to have every jakarta library on a PDA get's a little harsh.
Re:J2ME vs J2EE (Score:1)
you are right, the UI may not be the only thing you have to change (e.g. MIDP uses RecordStores for persistent data storage).
however, by using abstract classes and interfaces as "glues" it is possible to port from one J2ME profile to another (or even from one config to another), and it may even be possible (although harder) to port J2SE apps to J2ME...the problem is that many authors of j2se and j2ee apps write their code in expectation of relatively robust environments --- not the constrained environments of j2me.
for info on the diff profiles and configs of j2me:
http://www.blueboard.com/j2me/intro.htm [blueboard.com]
Re:Just plain BS: No it's not (Score:1)
Re: Your sig (Score:2)
You might need to update your sig soon [newsday.com]...
Re: Your sig (Score:1, Flamebait)
No, this isn't flamebait, it's just a friendly jab at the other side of the pond.
Re:Just plain BS: No it's not (Score:1)
Supported Phone List? (Score:1)
Re:Supported Phone List? (Score:1)
Re:A glimmer of reality... (Score:2)
Er, are you sure? If the network communication was fast, then the language would need to be fast, but if it's slow (as you say, but I disagree, BT is anything but slow) you would hve plenty of time to do your calculation before you had to do more network activity.
The whole point of running java is so apps can work on the multitude of new devices coming out.
Re:A glimmer of reality... (Score:4, Informative)
How true this was in 1998. But after Java1.2 came out (we're on java 1.4 atm), its been compairable to C++.
I can't stand it when people talk about how slow java is. When was the last time you coded any java?
Re:A glimmer of reality... (Score:1)
Re:A glimmer of reality... (Score:1)
What kind of software have you worked on with Java, C++, and PHP? In what environments? What type of hardware?
(This isn't a troll, BTW, I am always interested in alternative viewpoints. I often learn something interesting, and sometimes re-evaluate my own perspective.)
-Thomas
Re:A glimmer of reality... (Score:1)
Well, it's always been comparable. The results, however, seem to be changing
Very few readers around... (Score:1, Funny)
basically, only James Gosling!
(yeah, my
Another needed book (Score:1, Interesting)
franco
this book's title is misleading (Score:5, Informative)
Re:this book's title is misleading (Score:1)
Java+SMS+malicious users=BAD!
Re:this book's title is misleading (Score:1)
Re:this book's title is misleading (Score:2)
J2ME - does it have a place in the market? (Score:1)
This would have been a great thing to have - about a year ago. A few select phones support J2ME at the current time (more on the way, I guess) - but what we're seeing, really, is a move towards Convergence cellphones [slashdot.org], which are combining PDA's, cellphones, GPS, (you name it), into one tiny phone-shaped device.
With phones running PalmOS or M$-Whatever-its-called-this-week (and Linux, as soon as you nerds get around to it), I see no need for J2ME as a platform. You want software? Use the thousands [palmgear.com] of applications already written for Palm (and likewise for the M$ solution).
I like the idea of J2ME - I just think it is a day late and a dollar short. Sun is trying to get a handhold on a platform that is being outdated by the next generation of handheld devices. Sure, J2ME will probably run on the next generation of devices - but the user base and development community for those platforms is already in place.
Re:J2ME - does it have a place in the market? (Score:1)
Phone companies have an extremly strong market power. Just look at the number of phones sold. Then compare to the number of palms sold.
Did you know that the Noka Communicator is the most sold Organizer?
This is the market power and this is why all newer phones will get one of the following features.
1. MP3
2. Camera
3. Java
The newer phones are getting better and better. Who needs a Gameboy if he has a java phone with colour screen? You can download applications (say games), new levels, even play with others.
My opinion is that J2ME will be the future. Who knows, maybe we will sometimes get a phone where you can switch the whole UI because it is all implemented in Java.
Re:J2ME - does it have a place in the market? (Score:1)
The variety of OS's available for cellphones is exactly why running J2ME is a good thing. Spanning the different platforms underlines the whole point of Java's write once, run anywhere concept.
It's great that there are thousands of Palm applications.... but what happens when I want to run them on a Linux phone? Java apps are nice because you theoretically don't have to care about stuff like that.
J2ME is not just Phones (Score:1)
hmmm...some misconceptions here about j2me (Score:1)
i am actually quite surprised about some of the misconceptions here about j2me.
there's the usual java is slow mantra, which related to circa 1997 java maybe, but certainly not java today. there's the "but microsoft controls 90% of XXX", which of course forgets the fact that we're talking beyond the desktop here... etc,etc.
for a partial listing of reasons to use j2me:
http://www.blueboard.com/j2me/why.htm [blueboard.com]
btw, j2me is a PROVEN solution, with more than 23 MILLION handset clients already running it around the world (projected to more than a BILLION by 2004), and more than one hundred million java smart cards being used. it runs as the OS, on top of BREW, on top of SYMBIAN, and on top of LINUX, and on top of the lone WinCE phone.
more info:
Lurker's Guide to J2ME [blueboard.com]
Phone recommendations? (Score:1)
Looking for a model that is
1) Reasonably inexpensive
2) Preferably supported by Sprint PCS (which looks like its going to be my carrier of choice.)
Any ideas?
* By hacking, of course I mean in the I-like-to-play-with-code sense, not in the evil, screw-with-other-peoples systems sense.
Re:Phone recommendations? (Score:1)
if you are in the USA:
Sprint PCS is coming out with new J2ME phones this summer along with their rollout of the new network. i am not sure specifically what phone types, but you could contact them.
Nextel has had J2ME phones since last year. There are several java phones from motorola, from the cheapo i50sx ($49-$79?) to the i90 (which is a clamshell). motorola is also adding a color j2me phone this summer to nextel's line.
Nokia has just started shipping one of its high end phone/pda (Nokia communicator, forgot the number), but this costs more than $400 and runs PersonalJava instead of MIDlets (MIDP).
RIM BLackberry has rolled out a j2me-handheld with phone functionality for the enterprise (there's a link to that news article in the lurker's guide, i believe).
Re:Phone recommendations? (Score:1)
I would definitely prefer something in color, but I need it next week, and not later this summer. Looks like Nextel/Motorola is what's fitting my needs now... so they get my business. Still, something in my heart would prefer a Nokia.
Thanks,
Bobby
Re:Phone recommendations? (Score:1)
it's not that bad a phone.
here's mine running a skateboard game: http://www.blueboard.com/phone/nextel.gif [blueboard.com]
Br sure to order the data cable the same day you order the phone. You'll need it to install your own apps into the thing. i think it's $19 or so right now.
You'll also need to get the download software at iden.motorola.com, and (if you want to install your own network-aware apps) need to get permission from nextel (it's by email and fast).
Look at my website for J2ME and iAppli notes (Score:3, Interesting)
Jython J2ME (Score:1)