Slashdot Mirror


Learning Wireless Java

prostoalex writes: "Teaching developers to program for wireless platforms is probably not an easy task, since there are just so many focus groups in your audience. This book assumes that reader is already familiar with J2EE concepts, has programmed Java and knows the basic APIs for string manipulation and mathematical operations. Learning Wireless Java was a part of my first-month Safari subscription, and since learning to program for Java-enabled phones was a specific task I set for myself, there were some other books on the list that taught you the details of J2ME." 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.

13 of 110 comments (clear)

  1. F is for firsty. by Anonymous Coward · · Score: -1, Offtopic

    That's good enough for me!
    F is for firsty,
    That's good enough for me!
    F is for firsty,
    That's good enough for me!
    Firsty firsty firsty ENDS WITH POST!!!

    1. Re:F is for firsty. by Anonymous Coward · · Score: -1, Offtopic

      You my friend are a first posting god. I cannot tell you how much in Awe I am of your ability to post firstly. It was written somewhere that a first post will stay in the hearts of men for many years while a modded up post will burn in his stomach. This post certainly belongs in your heart as well as the heart of all man and dare I say mankind. A wonderful congratulations to you during this, your finest hour!

  2. Not First Post by Anonymous Coward · · Score: -1, Offtopic

    This is not the first post. It rules although.

  3. A question to be considered... by getter_85 · · Score: -1, Offtopic

    Has there been an ONTOPIC post yet?

    I'll leave you with that to think about.

    --
    return 0;
    }
    1. Re:A question to be considered... by Anonymous Coward · · Score: -1, Offtopic

      I LEOV CHIKEN!!!!

  4. I did not know Java had by Anonymous Coward · · Score: -1, Offtopic

    wires.

  5. Re:CLIT IN THE HOUSE by Anonymous Coward · · Score: -1, Offtopic

    U R TEH SEX!!

  6. New kind of moron by whynot4 · · Score: -1, Offtopic
    Java + Wireless = I'de rather not think about it.

    Moron. It's I'd.

    --
    So you don't think you need to pay for things? Good luck with that.
  7. Re:Hi! by Anonymous Coward · · Score: -1, Offtopic

    stretchy.

  8. wireless Java expert's opinion... by Anonymous Coward · · Score: -1, Offtopic

    remember, children - Jar Jar says:
    "Meesa likee likee Wirelessly Java!"

  9. Re:A glimmer of reality... by Anonymous Coward · · Score: -1, Offtopic

    when was the last time you got laid, went outside, or got angry about something that wasn't related to how sad your worthless little life is?

  10. o/t VA Linux's latest sec filing by Anonymous Coward · · Score: -1, Offtopic

    VA Linux filed some updated paperwork with the sec, inclusing this nugget: (check edgar or nasdaq.com)

    As of March 31, 2002, VA Software's available cash resources were sufficient to meet working capital needs for approximately three to four months depending on revenues generated during the period. VA Software's auditors have included a paragraph in their report indicating that substantial doubt exists as to its ability to continue as a going concern because it has recurring operating losses and negative cash flows, and an accumulated deficit. VA Software has eliminated various positions, not filled positions opened by attrition, implemented a wage reduction of 15% effective April 1, 2001, and has cut discretionary spending to minimal amounts, but due to a weak U.S. economy in general, and limited visibility of advertising activity, it is unable to accurately predict if and when it will reach cash-flow break even.

    Is the end near?

  11. Insider's scoop: Why BSD is dying by pwpbot by Anonymous Coward · · Score: -1, Offtopic

    The End of FreeBSD ed note in the following text former FreeBSD developerMike Smith gives his reasons for abandoning FreeBSD When I stood for election to theFreeBSD core team nearly two years ago many of you will recall that it was after a long seriesof debates during which I maintained that too much organisation too many rules and too much formality would be a bad thing for the project Today as I read the latest discussions onthe future of the FreeBSD project I see the same problem a few new faces and many of the oldgoing over the same tired arguments and suggesting variations on the same worthless schemes Frankly Im sick of it FreeBSD used to be fun It used to be about doing things theright way It used to be something that you could sink your teeth into when the mundane choresof programming for a living got you down It was something cool and exciting a way to spend your spare time on an endeavour you loved that was at the same time wholesome and worthwhile Its not anymore Its about bylaws and committees and reports and milestones tellingothers what to do and doing what youre told Its about who can rant the longest or shout theloudest or mislead the most people into a bloc in order to legitimise doing what they think is best Individuals notwithstanding the project as a whole has lost track of where its going and has instead become obsessed with process and mechanics So Im leaving core I dont want to feel like I should be doing something about a project that has lost interest in havingsomething done for it I dont have the energy to fight what has clearly become a losing battleI have a life to live and a job to keep and I wont achieve any of the goals I personallyconsider worthwhile if I remain obligated to care for the project Discussion Im sure that Ive offended some people already Im sure that by the time Im done here Illhave offended more If you feel a need to play to the crowd in your replies rather than make asincere effort to address the problems Im discussing here please do us the courtesy of playingyour politics openly From a technical perspective the project faces a set of challengesthat significantly outstrips our ability to deliver Some of the resources that we need toaddress these challenges are tied up in the fruitless metadiscussions that have raged since wemade the mistake of electing officers Others have left in disgust or been driven out by theculture of abuse and distraction that has grown up since then More may well remain availableto recruitment but while the project is busy infighting our chances for successful outreach aresorely diminished Theres no simple solution to this For the project to move forwardone or the other of the warring philosophies must win out either the project returns to itslaidback roots and gets on with the work or it transforms into a superorganised engineeringproject and executes a brilliant plan to deliver what ultimately we all know we want Whatever path is chosen whatever balance is struck the choosing and the striking are theimportant parts The current indecision and endless conflict are incompatible with any sortof progress Trying to dissect the above is far beyond the scope of any parting shotno matter how distended All I can reallyask of you all is to let go of the minutiae for a moment and take a look at the big pictureWhat is the ultimate goal here How can we get there with as little overhead as possibleHow would you like to be treated by your fellow travellers Shouts To theSlashdot BSD is dying crowd big deal Death is part of the cycle take a look at yoursoft pallid bodies and consider that right this very moment parts of you are dying SeeIts not so bad To the bulk of the FreeBSD committerbase and the developer community atlarge keep your eyes on the real goals Its when you get distracted by the politickersthat they sideline you The tireless work that you perform keeping the system clean andbuilding is what provides the platform for the obsessives and the prima donnas to have theirmoments in the sun In the end we need you all in order to go forwards we must first avoidgoing backwards To the paranoid conspiracy theorists yes I work for Apple too No myresignation wasnt on Steves direct orders or in any way related to work Im doing may domay not do or indeed what was in the tea I had at lunchtime today Its about real problemsthat the project faces real problems that the project has brought upon itself You cantescape them by inventing excuses about outside influence the problem stems from within To the politically obsessed give it a break if you can No the project isnt a lemonadestand anymore but its not a worldspanning corporate juggernaut either and some of the moregrandiose visions going around are in need of a solid dose of reality Keep it simple stupid To the grandstanders the prima donnas and anyone that thinks that they can hold the projectto ransom for their own agenda give it a break if you can When the current core were electedwe took a conscious stand against vigorous sanctions and some of you have exploited thatA new core is going to have to decide whether to repeat this mistake or get tough I hope theylearn from our errors Future I started work on FreeBSD because it was funIf Im going to continue it has to be fun again There are things I still feel obligated todo and with any luck Ill find the time to meet those obligations However I dont feelan obligation to get involved in the political mess the project is in right now I tried Iburnt out I dont feel that my efforts were worthwhile So I wont be standing for electionI wont be shouting from the sidelines and I probably wont vote in the next round of ballots You could say Im packing up my toys Im not going home just yet but Im not going toplay unless you can work out how to make the project somewhere fun to be again

    -pwpbot