Keith Kim’s Blog
Technology, Development, Tech Trends, Tech Team Management
27th
OCT
Intro: Java ME and Palm
Posted by Keith under J2ME, PDA
Java ME or BREW
I’ve only done backend development in Java professionally. More and more, all the inexpensive phones are supporting BREW or Java ME. Since I like Java, and don’t want to go back to C/C++ unless it’s absolutely necessary, I started to look into Java ME instead of BREW. Besides, I have Palm TX that can run Java ME apps well.
Palm Development and Java ME
I’m not too interested in developing cell phone apps. I’m more interested for Palm TX which I own and like it a lot. I’ve tried different development tools for Palm (Since PalmOS 2.0, now it’s PalmOS 5) — but didn’t really find a good tool/dev environment I really liked. The best tool was CodeWarrior for Palm, but code has to be in C/C++. Writing something for Palm is purely hobby, and I’m not willing to spend too much time for debugging; debugging for C/C++ based apps vs. Java, that’s what I mean.
Another reason is, CodeWarrior doesn’t run on Vista which my home PC runs on. And IBM JVM for Palm works very well on Palm TX. All the tools can be downloaded for free too. (CodeWarrior is not free.) And, it worth to invest on learning Java ME environment and API, since it will run on other types of devices like cell phones, PocketPC, etc.
What’s Needed
Basic development environment for JavaME and Palm TX is quite easy. See resources at the bottom of this posting for URLs and instruction:
1. Download Palm TX simulator.
2. Download JVM for Palm.
3. Download Java ME SDK from Sun. (Assuming Java SE SDK is installed already.)
That’s it. And in fact, if target device is not Palm TX, then just download Netbeans with mobility package.
The Palm simulator doesn’t need seting up or installation process. So just double clicking the executable will launch the app. Play around with the Palm simulator. Install PRC, and check what’s in the directory, etc.
Not for old Palm
Don’t try KVM (old JVM from Sun for Palm) with PalmOS 3.0 or up. It’s slow and buggy, at least from my experience. I’m now looking at Java ME on Palm, only because now the hardware (Palm TX) is fast and has large memory, and IBM JVM is very stable. Only advantage of this KVM is that it’s Java ME.
If any Java developer wants to write code in Java for old Palm devices, then use different tools: Waba, SuperWaba, Jump or WabaJump. (I’ll post about these some time.) Of course, they are not Java ME at all. But they work fine from PalmOS 2.x and using WabaJump, it can produce native Palm 68k binary and runs fast — but no multi-threading and GC.
Advantages
By writing Java ME code, it’s faster (you know Java already), and wide range of platforms, and have fun with your Palm. Learning PalmOS API (C/C++) is not a good investment. PalmOS will fade out, either no market for it, or will be replaced by Linux based OS. Well, I’m talking about writing apps for Palm as a hobby, for Java developers. So while having fun writing Java ME code, and run your own cool apps on your palm, at the same time, you now have Java ME on your resume! ;-)
I’m going to post more about using this basic tool sets. I’m currently trying to set up Netbeans 6.0 Beta 2, using its mobility package for Palm apps. If this can be integrated well, then I can take advantage of the IDE’s GUI tools to generate forms, code generation, debugging features of the IDE.
Resources
- Palm TX simulator
1. Go to http://www.palm.com, and click on “developers” link at the top.
2. You have to join PDN (Palm Developer Network) to log in and download.
3. Find “Palm OS” for platform.
4. Click on “SDK for Palm Products on Palm OS Platform”
5. You’ll find Palm T|X simulator. Download RELEASE version. I couldn’t get the Debug version work with JVM:Palm_TX_BEFIGS_Simulator_Release.zip - JVM for Palm, WebSphere Everyplace Micro Environment v5.7.1)
http://www.palm.com/us/support/jvm/download.html - Java ME SDK, Sun Java Wireless Tool Kit
http://java.sun.com/products/sjwtoolkit/download.html

| M | T | W | T | F | S | S |
|---|---|---|---|---|---|---|
| « Jul | ||||||
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 | |||
Recent Posts
- Using SVN in Mac
- Setting up CVS pserver on OSX 10.4 and up (10.5, 10.6)
- PhoneGap: development apps for iPad
- PhoneGap install
- iPhone and iPad development
Recent Comments
- Pranav on Intro: Java ME and Palm
- Keith on Code Review tools
- Jesse Gibbs on Code Review tools
- pdumsproject on MS Project replacement (Desktop apps)
- sparky on EverNote, better than Microsoft OneNote
Categories
- Apple
- Architecture
- Books
- Clojure
- Cool Apps
- Development Tools
- Erlang
- Fun
- Golang
- iPhone iPad development
- J2EE
- J2ME
- Java
- Lisp
- Management
- PDA
- Sites
- Tips
- Unix/Linux
- Windows
Archives
- July 2010
- June 2010
- January 2010
- December 2009
- November 2009
- July 2009
- May 2009
- January 2009
- December 2008
- November 2008
- September 2008
- August 2008
- July 2008
- June 2008
- May 2008
- April 2008
- March 2008
- November 2007
- October 2007
- September 2007
- August 2007
- July 2007
- June 2007
- April 2007

