Java Reference
In-Depth Information
Introducing the Foundation Profile
The Foundation Profile, targeted for CDC-enabled devices, runs on devices with less than
256KB of ROM (of course, a Foundation Profile device can have more ROM, but that's the
minimum supported by the profile), a minimum of 512KB of RAM, and a persistent net-
work connection. In many ways, the Foundation Profile is far less ambitious than the
MIDP. In conjunction with the CDC, it provides network and input/output (I/O) support,
but no classes for application development; those are relegated instead to the Personal
Basis Profile and the Personal Profile.
Classes augmented by the Foundation Profile include those in the java.lang , java.io ,
java.net , java.security , java.text , and java.util packages. These classes are based on classes
found in the Java SE 1.4 class hierarchy, as well as additional javax.microedition.io classes
that provide HTTP and HTTP-over-Transport Layer Security (TLS) network operations.
Introducing the Personal Basis Profile
Most CDC-based devices have at least some user-interface requirements. The most highly
embedded devices may use only the Foundation Profile with a custom package atop that
to provide support for a custom-made liquid-crystal or light-emitting diode (LED) display,
but by far the most common are devices with raster displays that need rich graphical user
interfaces (GUIs). To accommodate this in a standard way, two profiles are available. The
smaller of the two, the Personal Basis Profile, actually provides two class hierarchies for
applications: the applet model, and a new hierarchy for media devices that defines the
Xlet programming model. Xlets are similar to applets, except they have a life cycle that
supports being paused and resumed, which is important for media devices in which mul-
tiple applications and media streams may interrupt an application's execution at any time.
The Personal Basis Profile also defines a subset of the AWT for GUI development.
Unlike the traditional AWT, the Personal Basis Profile defines a lightweight control facil-
ity, in which user-interface components draw themselves rather than have peer controls
derived from the native platform. (The Java Swing implementation takes the same
approach of having the Java environment draw its own controls.) Consequently, the
Personal Basis Profile only includes support for java.awt.Window and java.awt.Frame
(which hook to the native platform's windowing manager and contain lightweight
components), and java.awt.Component and java.awt.Container (which are lightweight
components used to create all of the other components in the hierarchy). Note that the
Personal Basis profile does not define traditional AWT controls, including buttons, lists,
and other items, because these would have connections to peer components from the
native platform. Instead, you can create your own components or import a package on a
specific platform that provides the components you need.
Finally, the Personal Basis Profile also includes classes that support communication
between Xlets, using a subset of Java's Remote Method Invocation (RMI) API. It's important
to remember, though, that while parts of the java.rmi package are included in the Personal
 
Search WWH ::




Custom Search