MIDlets:
So far in this course you have made use of the powerful facilities provided by the J2SE edition of Java. In a later section of this unit, you will briefiy encounter the J2EE edition of Java, which offers even more powerful features than J2SE. The downside to the functionality and power of these editions of Java are that they make substantial demands for computing resources in terms of memory, processing power and network connectivity to run and make use of them.
However, there are a very large number of computing devices that do not have the memory and processing power of even low specification laptop and desktop computers. Among these are devices such as Personal Digital Assistants (PDAs) and mobile phones. Devices such as these, despite having increasingly powerful processors, memories and full colour screens, still lack the resources needed to run J2SE or J2EE.
The solution to this is a third edition of Java for mobile devices - J2ME (Java 2 Micro Edition). J2ME is a collection of API specifications that defines a reduced version of the J2SE platform for a range of small devices such as mobile phones, PDAs and set-top boxes. Applications constructed using J2ME are known as MIDlets. The name comes from applying the diminutive to the acronym for Mobile Information Device. As we shall see, MIDlets are similar to applets and are able to run on small devices.
In this section, we focus on programming for mobile phones. Although primarily used for voice communication, increasingly mobile phones are being supplied as Java enabled devices capable of running Java applications. These applications can range from simple applications, to hold a shopping list, to very sophisticated games. In addition, these Java applications can make use of the inherent connectivity of the devices that they are running on.
While we will not be able to go through the whole of the development and publishing life cycle of an application, this section will show how you can use the knowledge of Java that you have developed so far to write programs that will run on mobile phone sized devices. You have been supplied with a toolkit that provides mobile phone emulators on which you will be able to try out your applications. At the end of this section, we will briefiy look at issues surrounding the porting of applications to mobile devices.
The J2ME technology encompasses almost (if not more in many ways) as wide a range of issues and features as does the J2SE technology. This section will only be able to give you a fiavour of the scope and potential of the J2ME technology, but it should allow you to then follow the detailed APIs with confidence. We will give you the core skills and knowledge needed to explore the fascinating and booming area of computing for mobile devices. This is a quickly developing area of IT and mobile (abbreviated 'm') applications are already plentiful, with fields such as m-gaming, m-commerce and
m-learning making use of increasingly powerful devices and new API specifications.
Unlike J2SE, J2ME is not a single specification but rather a collection of specifications. This is a response to the very wide range of devices available, each with very different capabilities in terms of memory, functionality, speed, network access, and so on. As a result of this range of capabilities, it is not possible to specify a single environment to cover all of these devices while making best use of the functionality of all of them.
J2ME currently defines two basic configurations based on the memory, processing speed and network connectivity that are available on target devices. Each of these configurations defines a core set of class libraries along with a virtual machine on which they will run. These are as follows.
Connected Limited Device Configuration (CLDC) is aimed at small resource devices such as mobile phones. This configuration is designed for devices with intermittent network connections and because of the limited resources available, the class libraries run on an abridged version of the Java Virtual Machine called the Kilobyte Virtual Machine (KVM). Typically, this configuration is aimed at devices with 128Kb to 512Kb of memory.
Connected Device Configuration (CDC) is aimed at higher specification devices such as PDAs and set-top boxes. This configuration uses JVM and has a wider range of APIs available. We will not consider CDC any further in this course.
Configurations, however, are only part of the story. Even within each configuration there is a huge range of devices and so we have profiles to target particular categories of device and particular applications. Each profile has APIs additional to those in the configurations. The profile that we will focus on in this course is the Mobile Information Device Profile (MIDP). This is designed for mobile phones and provides APIs for user interfaces and network connectivity suitable for these devices. MIDP requires these devices to have a minimum display of 96 pixels by 54 pixels and to support at least two colours. Of course, many devices currently being used have displays far superior to this specification and it is one of the tasks of the MIDlet programmer to ensure that they either design their MIDlet for a specific device or make use of the various language features that allow a MIDlet to interrogate the device that it is running on.
There are many optional packages currently available or specified that are aimed at particular tasks and devices, such as Java APIs for Bluetooth, Mobile 3D Graphics, Games, Security and Trust.
So, for any particular device, there is a combination of a configuration and at least one profile, which provides a complete run-time environment.
Figure shows an overview of the relationship between the CLDC and profiles for mobile phones.
Figure: The J2ME environment for mobile phones
Java applications that run within the CLDC-MIDP environment are known as MIDlets. When you use an application such as a game on a mobile phone, it is a MIDlet that is running on the virtual machine embedded within the phone. Many applications are single MIDlets and we will be looking at these applications in this section. However, some applications are made up of a suite of MIDlets. These tend to be more sophisticated applications and MIDlets within a suite can share data and resources. In this section we will only consider applications composed of one MIDlet.
Java Assignment Help - Java Homework Help
Struggling with java programming language? Are you not finding solution for your MIDlets homework and assignments? Live MIDlets experts are working for students by solving their doubts & questions during their course studies and training program. We at Expertsmind.com offer MIDlets homework help, java assignment help and MIDlets projects help anytime from anywhere for 24x7 hours. Computer science programming assignments help making life easy for students.
Why Expertsmind for assignment help
- Higher degree holder and experienced experts network
- Punctuality and responsibility of work
- Quality solution with 100% plagiarism free answers
- Time on Delivery
- Privacy of information and details
- Excellence in solving java programming language queries in excels and word format.
- Best tutoring assistance 24x7 hours