On the surface, this would seem to be a good thing for developers hoping to leverage mobile computing for an application. However, the term "mobile devices" covers quite a bit of territory, including the traditional PDA, so-called smart phones, pagers, and even GPS units—all of which represent very different hardware configurations. Likewise, the marketplace for these devices is fragmented to the point that expecting compatibility between two devices from the same vendor, let alone devices from different vendors, is foolish in many cases.
Trying to serve this motley crew of devices with a single one-size-fits-all
development platform would be impossible. So J2ME defines two types of
specifications that operate hand in hand to provide a mobile Java platform: configurations and profiles. A veritable alphabet
soup of configuration and profile specifications exists. Let's take a look at a
few of them.
Configurations galore
J2ME handles the vastly different hardware capabilities of mobile devices
through an abstraction known as a configuration. A J2ME configuration defines
the virtual machine and low-level API that is made available on a particular
device, providing the development foundation. Two primary configurations are in
use, Connected Device
Configuration (CDC) and Connected Limited Device
Configuration (CLDC).
Connected Device Configuration
CDC is applicable for devices with relatively large amounts of memory and powerful processors. The CDC specification calls for a memory-optimized virtual machine, called the CVM that offers the same features as the standard JVM. According to Sun's documentation, the CDC is meant for higher-end devices such as newer PDAs, smart communication devices, and set-top TV boxes. To be supported by CDC, a device must have, at a minimum:


















There are currently no comments for this post.