"Networked devices can use numerous protocols to communicate with each other. In this article, I'll focus on the HttpConnection interface that you can use to access information stored on a Web server. Preceding the article's example, I will discuss the interactions of the javax.microedition.io interfaces and classes. The example will concentrate on the interaction between a MIDP device and a JSP-based system."
"A core feature of the MIDP (Mobile Information Device Profile) technology is its support for developing mobile phone user interfaces. The MIDP provides a set of Java APIs known as the LCDUI, which has functionalities similar to the Java Abstract Windows Toolkit (AWT) and Swing APIs in the desktop world. This article covers mobile phone UI development using the MIDP APIs. Our focus is the MIDP 2.0 API, which is standard on all Nokia Developer Platform 2.0 devices. At the time of writing (late 2004), Developer Platform 1.0 devices, which are based on MIDP 1.0, still have a large installed base. Hence, the key differences between the MIDP 2.0 and MIDP 1.0 APIs are also briefly covered throughout the discussion. The topics in this article are as follows:"
"In this article, I will examine the mechanics of these Displayableobjects, including the construction, interaction, and event-handling schemes that enable them to come together to form an application."
"Most Web browsers and desktop HTTP applications support both session-tracking methods. However, the HTTP session support in wireless Java platforms is far from smooth. In the main Java platform designed for cell phones and low-powered PDAs—the Mobile Information Device Profile (MIDP), a Java 2 Platform, Micro Edition (J2ME)-based technology—the HttpConnection object supports neither cookie nor URL rewriting out of the box. Considering the importance of session tracking in e-commerce applications, if we want J2ME/MIDP to be a serious mobile commerce platform, we must equip it with session-aware HTTP connections."
"Unlike games, the value of knowledge-based applications lies in the data. Due to the hardware-imposed simplicity of a MIDP application, if the data file is compromised, one can easily come up with a competing application. Although a client-server model, where the data resides in a backend server, can address this concern, such a model proves impractical for most wireless applications. Until the cost of wireless data comes down and wireless connections become more reliable and ubiquitous, embedding the data file into the MIDP JAR is the only option. Therefore, protecting the data file from copyright thefts becomes imperative."
"The J2ME is Sun Microsystems's attempt to port the Java programming language to devices with resource limitations. A mobile phone, which lacks the computational power, memory, and workstation power, cannot perform the same functionality as high-end servers or client workstations."
"The J2ME MIDP specification has global industry support and the potential to turn hundreds of millions of next-generation mobile phones into lightweight Internet application terminals. MIDP 2.0 furthers that vision by introducing substantial new capabilities to the core platform that will allow developers to create more effective and powerful mobile applications with less effort. These new capabilities include a robust security model, expanded connection options, and push capabilities, in addition to basic audio media controls and gaming interfaces."
"This is the first in a series of articles from O'Reilly's Learning Wireless Java, by Qusay Mahmoud. This first section of Chapter 5 introduces us to MIDP GUI programming and considers whether to use the Abstract Window Toolkit (AWT)."
"This is the second in a series of articles from O'Reilly's Learning Wireless Java, by Qusay Mahmoud. This section from Chapter 5 focuses on the high-level MIDP GUI APIs and components. You can also read the first excerpt in this series."
"This is the third and final in a series of articles from O'Reilly's Learning Wireless Java, by Qusay Mahmoud. This section from Chapter 5 focuses on the low-level MIDP GUI APIs and components."
"The first in a series of podcasts from the Brazilian Month of Java, Renato Bellia discusses his recently promoted project Diamond Powder and it's data collector facilities."
"This is the first installment of a comprehensive four-part introduction to Java? 2 Micro Edition (J2ME) and the Mobile Information Device Profile (MIDP). The series will consist of two tutorials and two companion articles. In this first tutorial, you will learn about the essential components of J2ME, with a primary focus on MIDP. The focus is on MIDP's high-level user interface, with a step-by-step introduction to the components that facilitate the main interaction between the user and the device display."
"This second part of a two-part tutorial series on J2ME shifts the focus from MIDP's high-level user interface to the most important components of the low-level interface. You'll learn the basics of creating and working with the Canvas and Graphics classes. As with Part 1, you will learn about each component and build a MIDlet to demonstrate its capabilities. The tutorial will conclude with a brief overview of the Game API, introduced with MIDP 2.0."
"The design process for MIDP (Mobile Information Device Profile) applications, small Java programs for portable devices like cell phones, largely resembles designing software for any platform. With MIDP, however, you'll manage a few points in the design process a bit differently."
"In this article I'll take the new MIDP 2.0 user interface API for a test drive. By developing a simple, custom GUI component (or Item), you will learn a little bit about the CustomItem class, as well as some of the other new features of MIDP 2.0."
"This tutorial will walk through the basics of using Push technology with MIDP 2.0, including development of a MIDlet that will be activated based on an incoming SMS message (Simple Message Service)."
"Although configurations are at the heart of Java 2 Micro Edition (J2ME), it's the profiles that are of real interest. Profiles define the application programming interfaces (APIs) that are required to write useful applications for a particular group or family of J2ME devices. The Mobile Information Device Profile (MIDP) defines a Java runtime environment for cellphones, interactive pagers, and similar mass-produced, resource-constrained handheld devices."
"Receiving changes of interactive high-level UI items in MIDP is based on a listener model similar to AWT. Classes implementing the ItemStateListener interface are able to receive notifications for the following events:"
"JSR 120 defines WMA 1.1, which encompasses Short Message Service (SMS), commonly known as text messaging or texting. JSR 205 defines WMA 2.0, which adds support for Multimedia Messaging Service (MMS)."
"The lack of a TCP/IP stack usually means that access to lower-level programming paradigms, such as sockets, is not guaranteed to be available to a MIDP application, even though the Generic Connection Framework provides an interface to such low-level services, and the next version of the MIDP specification is likely to require their inclusion in all devices. For the time being, then, wireless Java applications will have to use HTTP to communicate with the outside world. However, several features of the wireless Java environment make it slightly more difficult to write a MIDP HTTP client than would be the case with J2SE. This article highlights some of the pitfalls that are unique to the J2ME environment, using an example taken from Chapter 6 of my recently published book, J2ME in a Nutshell."
"You may also choose to download the J2ME specification. This download includes the MIDP API. A great reference once you begin development of MIDlets."
"J2ME Tutorial, Part 4: Multimedia and MIDP 2.0 In part four of this J2ME tutorial, you will use the Mobile Media API 1.1 (MMAPI) to load and play audio and video on your MIDP device."
"J2ME Tutorial, Part 4: Multimedia and MIDP 2.0 In part four of this J2ME tutorial, you will use the Mobile Media API 1.1 (MMAPI) to load and play audio and video on your MIDP device."
"J2ME Tutorial, Part 3: Exploring the Game API of MIDP 2.0 In part three of this J2ME tutorial, you will use the mobile gaming package to develop a simple game, which uses all of the classes of this package, as a learning tool."
"Despite the limited capabilities of mobile devices, the Record Management System provides a convenient and easy-to-use infrastructure for longterm persistence of user data. In the next part of this series, we will once again turn to the javax.microedition.lcdui package and have a closer look at low-level display output. We will also see how input facilities are handled."