Q&A
Is it important to always test a MIDlet on several device profiles?
It depends. The type of device targeted by a MIDlet can vary greatly depending on the MIDlet itself, which means that some MIDlets might be worth testing on a range of devices. On the other hand, some MIDlets might require a large color screen or a full keyboard that is only available on a very specific device. So, to answer the question very vaguely, you must take a close look at how you expect your MIDlet to be used and then assess the device characteristics required of it. After doing that, it is certainly valuable to test the MIDlet on all the device profiles that adhere to your MIDlet's target requirements.
Is there an advantage to running the J2ME emulator from the command line versus from within a visual development environment, or vice versa?
Not exactly. All the features and properties of the J2ME emulator are readily available from both the command line and from within visual development environments. However, where you might find an advantage is the simple convenience of being able to launch the emulator from within a visual development environment without having to issue lengthy commands or doctoring script files.
How are the visual development environments able to utilize the command-line J2ME emulator?
Because the emulator is a command-line application, its output is sent to standard output, which is typically the command window. It is possible for another application to intervene and fill the role of standard output, which is what visual development environments do to receive emulator output. The visual application launches the emulator as a separate process and then routes the output of the emulator to a special window.