Java 2 Micro Edition (J2ME)




Let the server do most of the work. Move the computationally intensive tasks to the server, and let the server run them for you. Let the mobile device handle the interface and minimal amounts of computations, and let the server do the intensive work. Of course, the mobile device for which you are developing plays a factor in how easy and how often the device can connect to a server.

Choose the language carefully. J2ME still is in its infancy and may not be the best option. Other object-oriented languages, like C++, could be a better choice, depending on your needs.

Use local variables. It is quicker to access local variables than to access class members.



Enterprise J2ME: Developing Mobile Java Applications Description

J2ME book makes it possible for skilled Java developers to create high-value mobile applications that leverage the company’s IT infrastructure. It also allows developers to add mobility features to existing enterprise solutions. He did not repeat the identical J2ME/MIDP API tutorial covered by numerous other books. Soon after a thorough analysis of the landscape and trends of the J2ME platform uses the source code of several award-winning books for real world applications to illustrate the style, architecture and finest practices from beginning to end intelligent mobile solutions. Comparison of competing application paradigms could prove invaluable to architects. Given that the book focuses on four principal areas of enterprise applications: convergent messaging (email, IM, mobile P2P as properly as enterprise messaging middleware), data management (mobile and backend relational databases) ubiquitous integration (mobile Internet services) and advanced security (J2ME cryptography). The book includes much more than 30 C Enterprise J2ME: Developing Mobile Java Applications.


Wireless Java Programming with J2ME provides Java developers with the information, techniques, and examples needed to use Java 2 Micro Edition (J2ME) to create applications for Java-enabled wireless devices

Wireless Java Programming with J2ME presents fully-developed examples of J2ME applications designed for wireless devices. By building examples based on Sun’s CLDC (Connected Limited Device Configuration) API and Mobile Information Device Profile (MIDP), readers will become familiar with the standard practices for J2ME programming for wireless devices. This hands-on guide to wireless J2ME programming is loaded with practical sample programs that can be applied in real world development.


Wireless Java Programming with Java 2 Micro Edition is being written by Yu Feng, the first-prize winner of Motorola’s Wireless Application contest. Moto Shop, the winning m-commerce application, takes advantage of J2ME incorporates both innovative interface design and location-based service features. The authors” in-depth knowledge and commercial interest in this technology truly separates this book from other Java books on the market.

Wireless Java Programming with Java 2 Micro Edition assumes readers are motivated to build the next generation wireless application by leveraging the J2ME technology.


J2ME is also called Java 2 Platform Micro Edition and is widely used for mobile phone applications. This platform is primarily the reason why people would can work play games on their mobile phones and even use other software’s in it like antivirus and others. And since mobile phones are already the second solution for people who would like to have easy access on their mails and other applications, companies are already on the lookout for J2ME experts to help them make the programs. They would need experts to do this as one mistake in embedding as well as programming would ruin the whole application design.


i5 J2ME

Sun Microsystems J2ME will be defined as "to a wide range of consumer products targeting the highly optimized Java runtime environment, including pagers, mobile phones, video telephony, digital set-top boxes and car navigation systems".

Since 1999 6 loper Conference on the statement, J2ME for small equipment brought the cross-platform Java language, which allows mobile wireless devices sharing applications. With J2ME, Sun has been able to adapt to the Java platform integration or small computing devices based on the JavaOne Deve user products.


J2ME general framework

J2ME configuration and the use of summary tables customized Java Runtime Environment (JRE). As a complete JRE, J2ME configuration and summary by the composition, configuration decisions on the use of JVM, and summary tables by adding specific domain in the class to define applications.

Run-time configuration environment will be basically defined as a core group of category and a particular type of equipment in operation on specific JVM. J2ME configuration we will be discussed in detail in chapter configuration.

Summary definition applications; particular, it added to the J2ME configuration of the domain-specific category, the definition of role equipment. We will J2ME summary chapter on in-depth summary.

The chart below describes the different virtual machine, configuration, and the relationship between the summary tables. It also J2SE API and the Java Virtual Machine it was compared. Although J2SE virtual machine is often referred to as a JVM, but J2ME Virtual Machine, JVM KVM and CVM are a subset. KVM and CVM can be seen as a Java virtual machine - which is a condensed version of J2SE JVM, and in particular J2ME.




J2ME - Java 2 Micro Edition

This book is intended to give a simple introduction to programming in J2ME and is intended for readers with some previous programming experience.
Java is very similar to C++ so if you have any C++ experience you will probably find it very easy to pick up.


i7 J2ME architecture

J2ME uses configurations and profiles to customize the Java Runtime Environment (JRE). As a complete JRE, J2ME is comprised of a configuration, which determines the JVM used, and a profile, which defines the application by adding domain-specific classes. The configuration defines the basic run-time environment as a set of core classes and a specific JVM that run on specific types of devices. We'll discuss configurations in detail in the section on J2ME configurations on page. The profile defines the application; specifically, it adds domain-specific classes to the J2ME configuration to define certain uses for devices. We'll cover profiles in depth in the section on J2ME profiles on page.

The following graphic depicts the relationship between the different virtual machines, configurations, and profiles. It also draws a parallel with the J2SE API and its Java virtual machine. While the J2SE virtual machine is generally referred to as a JVM, the J2ME virtual machines, KVM and CVM, are subsets of JVM. Both KVM and CVM can be thought of as a kind of Java virtual machine it's just that they are shrunken versions of the J2SE JVM and are specific to J2ME.


i8 Connected Limited Device Configuration (CLDC)
Connected Limited Device Configuration (CLDC) is used specifically with the KVM for 16-bit or 32-bit devices with limited amounts of memory. This is the configuration (and the virtual machine) used for developing small J2ME applications. Its size limitations make CLDC more interesting and challenging (from a development point of view) than CDC. CLDC is also the configuration that we will use for developing our drawing tool application. An example of a small wireless device running small applications is a Palm hand-held computer. We will cover CLDC in depth in the section on J2ME configurations on page.


Connected Device Configuration (CDC) i9
Connected Device Configuration (CDC) is used with the C virtual machine (CVM) and is used for 32-bit architectures requiring more than 2 MB of memory. An example of such a device is a Net TV box. CDC is outside scope of this tutorial, although we will cover it briefly later on in the section on CDC API on page.


Design considerations for mobile devices i10
The same rule of thumb applies for mobile device development that we mentioned for small device development: design and then code. Let's examine some design recommendations to consider when developing applications for mobile devices.



Avoid string concatenation. String concatenation decreases performance and can increase the application's peak memory usage.

Use threads and avoid synchronization. Any operation that takes more than 1/10 of a second to run requires a separate thread. Avoiding synchronization can increase performance as well.

Separate the model using the model-view-controller (MVC). MVC separates the logic from the code that controls the presentation.