Java ME, in particular MIDP and CLDC specifications and Mobile device hardware Java is also referred to as a programming environment oriented to the server and it is based on a number of technologies which constitutes the Java 2 Enterprise Edition (J2EE). Such technologies include servlets, JavaServer pages (JSPs), and Enterprise JavaBeans (EJBs). Nowadays, Java is officially known as Java 2 platform and it is divided into three distinct editions: Java 2 Enterprise Edition (J2EE), Java 2 Standard Edition (J2SE), and Java 2 Micro Edition (J2ME).
Java 2 Micro Edition (J2ME) has three concepts, namely profiles, configurations, and optional packages. All of them determine Java features applicable, available application programming interfaces, and the form in which applications are packaged. J2ME has two configurations: Connected Limited Device Configuration (CLDC) and Connected Device Configuration (CDC). CLDC is designed for mobile devices with slow processors (Enrique & Eric 2001 pp. 28- 45). There are two versions of CLDC: versions 1. 0 and 1. 1. CLDC specifies the ability of Java virtual machine, a small subset of J2SE 1.
3 classes, and a set of application programming interfaces for output/input which is also called Generic Connection Framework. However, CLDC is limiting programming platform as it does not specify the user interface classes. Hence, alternative classes that are defined by J2ME profile are required and such include MIDP to accomplish anything substantial. Java runtime environments for devices such as pagers, resource-challenged handheld devices, and cell phones is defined by Mobile Information Device Profile (MIDP).
MIDP target devices are characterized by ample memory to run its applications, bit-addressable display (96*56 pixels), touch screen, and two-way wireless enhanced networking. There exist two versions of MIDP which are defined by Java Community Process and include Java Specification Request 37 (MIDP 1. 0) and Java Specification Request 118 (MIDP 2. 0). Nevertheless, most of the devices in the market apply MIDP 1. Besides, MIDP 1 does not provide standards for interfacing to the phonebook in a device and synchronization of data.
In particular, MIDP specifications are silent in one area: ‘how MIDP applications are loaded onto a device and how they are activated or deactivated’ (Enrique & Eric 2001 pp. 40-68). Record Management System and MIDlet methods Record management system is a key subsystem of the Mobile Information Device Profile and is an application programming interface. Besides, Record Management system provides a persistence on-device data. Therefore, Record Management System acts as the sole facility for storing data locally –record store.
Reason being only a couple of mobile devices sustains a conventional system of files. The MIDP Record Management System facilitates a way in which application data is stored to ensure that it persists across MIDlet. Record Management System is a simp0le database with a row comprised of two columns. One is a unique row identifier while the other contains a sequence of bytes that represents record data. Record stores are identified by a special name which consists of 32 characters in every MIDlet suite.
There are a number of MIDlets applicable in the record store. First, ReadWrite MIDlet is creates record store, write down records into persistent storage and reads them, and deletes the record store while exiting. This MIDlet has convenience methods which opens, closes, and deletes record stores. Secondly, IntegerSort MIDlet is used to retrieve records and sort them on basis of their integer value within each record. Nevertheless, its codes do not have a distinct difference from the previous MIDlets.
The only additional features are ways of ‘extracting appropriate fields, real sorting, and the comparator image class’. Integer Class MIDlet establishes a sort order by different integers and every record passed through has various Java data. Lastly, is the StringSearch MIDlet which enables searching for records in the Record Management System and it also beefs-up the User Interface. In creating a UI, a text filed, form, and two commands are established. Upon activation, all tasks are executed within the CommandAction ( ) method.
Consequently, upon request of CmFind command, SearchRecordstore ( ) initiates searching and it involves assigning SearchFilter ( ) class instance which associates it with record enumeration object Enrique & Eric 2001). Sprites basics (Image Sets and Tools Class) and package classes (Graphics class) Spites basics animation in Java can be written in frame animation, sprite animation, and/or both of the two. Mostly, these are used to write mobile enabled application games. There are a number of classes which are important to learn in order to understand Java programming and in particular the sprite animation.
These include the Toolkit, Image, Graphics, Random, and Media Tracker. Image class is regarded as the super class when compared with the others and it represents graphical images. Besides, images have to be obtained in a platform specific manner (Richard, 2001). The fact that image is an abstract class makes it impossible to instantiate objects in this class, and besides objects of type image are obtained by applying a roundabout approach. Hence, it makes use of tool kit class. In regard to tool toolkit class, it is probable access system-dependent resources by making use of system their unique codes.
In the Graphics class [cite page 8] there are two variables but of particular importance is the Graphics reference type as shown below. Figure 1. The Graphics class. private Graphics offScreenGraphicsCtx; private Thread animationThread; Listing 2 Note: Richard, GB, 2001, Fun with Java: Sprite Animation, Part 1 It refers to an object that serves as an off-screen graphics context and ‘is an area of memory that serves as a stand-in for the computer screen’. It facilitates to rapidly blast pictures from the off-screen Graphics context onto the actual computer screen.
As this process does not interfere with the visible image when creating pictures, it renders a ‘smoother animation which can be achieved by creating and drawing the pictures directly on the computer screen’. Thus, it does away with possible distractions and flashing. Graphics class makes provisions for methods which can be applied to draw pictures on a graphics context (Richard, 2001). Development environments for the Windows phone, the Apple iPhone, the Google Android platforms and Location Based Services (LBC).
Mobile application development involves a process in which in-built and downloaded applications are developed for hand-held devices suh as cell phones and personal digital assistants. The windows mobile development requires C/ C++ programming language. Visual Studio is nevertheless the most reliable development environment for creating testing, and deploying applications in the Microsoft Windows platform. Besides, this Visual Studio facilitates ample support for the development of Windows Mobile applications.
To develop mobile applications, Visual Studio 2005 Edition and Visual Studio Professional Edition are required. Mobile Software Development Kits are freely available but they are dependent on device format and platform. Besides, these Software Development Kits are unique for every every family of Windows Mobile Phone (Enrique & Eric 2001). Google Android is an operating system that serves as a platform for mobile applications. The necessary programming language for Android is Java although it is important for the developer to be knowledgeable in XML.
In addition one requires Eclipse IDE and to work in Microsoft Windows, Mac OSX, or Linux environments. Android Software Development Kit comprises of: Developer tools such Android Asset Packaging Tool, Android Debug Bridge, Dalvik Debug Monitor Service; Emulator and system images that represents Android operating system; Documentation Sample Code that contains API programming guidelines; Integrated Development environment Support which uses Eclipse IDE as it has special plug-ins (Android Development Tool –speeds up testing process, enables User Interface, application description, and graphical representations).
Location Based Services offers mobile phone users a personalized service in order to establish their current physical location. Location API for J2ME (JSR179) is a generic API used to develop Location Based Services. J2ME Location API specification identifies javax. microedition. location which is a discretionary package that facilitates software developers to write wireless Local Based applications for resource-limited mobile devices. JSR179 entails Connected Device Configuration or CLDC version 1. 1 and the type of hardware platform determines applicable location methods (Enrique & Eric 2001 PP. 20-39).
To develop operating system for iphone, one requires working on a Mac OSX computer that runs X code tools. X code is suite that provides support for project management, building executables, code editing, source-level debugging, and performance tuning others. X-code application provides the foundation source-code development environment and besides x-code is the only probable tool to use in creating iphone applications.
As mentioned earlier, iphone Software Development Kit runs only on Mac environment that have installed Intel processors (Enrique & Eric 2001 PP. 40-50). Bibliography Enrique, O & Eric, G 2001, Mobile information device profile for Java 2 micro edition: The ultimate guide to creating applications for wireless devices, John Wiley & Sons, New York. Richard, GB, 2001, Fun with Java: Sprite Animation, Part 1, viewed 17 May 2010, <http://www. developer. com/java/other/article. php/893471/Fun-with-Java-Sprite-Animation-Part-1. htm>