I'm very new at this so please have mercy on what may appear to be a simple question ... It seems that each PDA and Phone vendor that runs J2ME has a different vendor-specific implementation of "Java". Let's say I had a great J2ME programming idea that I would like to run on all the PDAs and Phones from all the different manufacturers, let's say 15 different devices. To market such a program wouldn't I have to write a core system stuff but then filter all I/O and/or other stuff to match each vendor's specific "interphase"? I would like to right such a program one day and want to know if the only way to test it is to get every possible simulator and or device. it would sem that struggling with each vendor's interphase would eb more of a hassle than just writing the main program.
The good people for the J2ME JSRs have always faced this question. It is dealt with in two ways. First, we have multiple profiles and configurations. There are different flavors of J2ME for different classes of devices. See my posting here for a few more details. Second, vendors can add their own APIs. For example, most profiles just support a basic HTTP protocol. But vendors can add FTP or other proprietary protocols. The PDA Profile calls for a stylus input device. however, if there's also a thumb wheel, the vendor can add a thumb wheel input API as well. --Mark