Targeting PocketPC (PersonlJava) -and- PalmOS (KVM)
1 posts in topic
Flat View  Flat View
TOPIC ACTIONS:
 

Posted By:   Jeff_Ishaq
Posted On:   Friday, February 22, 2002 12:30 PM

I want to write code once which can then be deployed to exactly two platforms: PocketPC devices, and PalmOS devices. The most important aspect of this code is that it uses java.lang.Thread class for some simple multithreading. As I understand it, PersonalJava is the Java implementation for the PocketPC, and MIDP for PalmOS is the Java implementation for PalmOS (and KVM, and J9 VM etc, but I'm trying to keep it simple). These two Java implementations surely support different, though overlapping, subsets of J2ME's class library. How do I know which classes to use, and which to avoid, so as to design a lowest-common-denominator codebase which can target, without code changes , either platform? Furthermo   More>>

I want to write code once which can then be deployed to exactly two platforms: PocketPC devices, and PalmOS devices. The most important aspect of this code is that it uses java.lang.Thread class for some simple multithreading.



As I understand it, PersonalJava is the Java implementation for the PocketPC, and MIDP for PalmOS is the Java implementation for PalmOS (and KVM, and J9 VM etc, but I'm trying to keep it simple). These two Java implementations surely support different, though overlapping, subsets of J2ME's class library. How do I know which classes to use, and which to avoid, so as to design a lowest-common-denominator codebase which can target, without code changes , either platform?



Furthermore, can I get some insight on the process of building against the PersonalJava API to make a PocketPC EXE, and building against the CLDC MIDP to make a PalmOS PRC? Is this a relatively easy task to do in my favorite Java development IDE?



Thanks very much for your time! Have a great weekend.


-Jeff Ishaq


Jeff DOT Ishaq AT uvm DOT edu

   <<Less

Re: Targeting PocketPC (PersonlJava) -and- PalmOS (KVM)

Posted By:   Shane_Isbell  
Posted On:   Sunday, February 24, 2002 07:53 PM

Unfortunately, the idea of writing code once and running anywhere does not hold in either J2ME or PersonalJava. Instead the idea is to write once and run on any specific set of similar platforms or devices.



To get this type of cross functionality will significantly reduce the power of the PocketPC and the Palm, but if it must be done the following information may be useful:



1) VAME (j9 VM) does not have complete MIDP support for Palm MIDP. It is missing the lcdui classes, so all graphical support is native (JNI). Sun does have a complete version but no access to source code.



2) MIDP does not support any of the AWT classes, so no cross support for graphical interfaces.



3) MIDP has no RMI, Security, reflection, beans, math, sql or text.



4) You will need to use vectors to maintain cross compatibility. No Lists or other collections.



5) MIDP has no float types (no floats or doubles)



Basically, you are going to have to do a lot of coding of factories/adapters/wrappers to get a good cross compatibility. Otherwise, HelloWorld may be the best that you can do.

About | Sitemap | Contact