Java 2 Platform Micro Edition ME Benedek Balzs
Java 2 Platform Micro Edition (ME) Benedek Balázs benedek@iit. bme. hu
JAVA platform
JAVA platform http: //www. clib. dote. hu/javacska
Lego® Mindstorms™ Robotics Invention System™, http: //mindstorms. lego. com A RIS egy Lego robot építő csomag: – – – RCX kocka USB IR torony 2 motor 2 érintés érzékelő 1 fény érzékelő 718 kocka
J 2 ME Platform • Because J 2 ME spans such a variety of devices, it wouldn't make sense to try to create a one-size-fits-all solution. J 2 ME, therefore, is divided into configurations, profiles, and optional packages. • Configurations are specifications that detail a virtual machine and a base set of APIs that can be used with a certain class of device. A configuration, for example, might be designed for devices that have less than 512 KB of memory and an intermittent network connection. The virtual machine is either a full Java Virtual Machine (as described in the specification) or some subset of the full JVM. The set of APIs is customarily a subset of the J 2 SE APIs. • A profile builds on a configuration but adds more specific APIs to make a complete environment for building applications. While a configuration describes a JVM and a basic set of APIs, it does not by itself specify enough detail to enable you to build complete applications. Profiles usually include APIs for application life cycle, user interface, and persistent storage. • An optional package provides functionality that may not be associated with a specific configuration or profile. One example of an optional package is the Bluetooth API (JSR 82), which provides a standardized API for using Bluetooth networking. This optional package could be implemented alongside virtually any combination of configurations and profiles.
The J 2 ME Universe
Configurations, Profiles, Packages Configurations • JSR 30 CLDC 1. 0 Configuration • JSR 139 CLDC 1. 1 Configuration 1. 1 • JSR 36 CDC • JSR 218 CDC 1. 1 Profiles • JSR 37 MIDP 1. 0 • JSR 118 MIDP 2. 0 • JSR 75 PDAP • JSR 46 FP • JSR 219 FP 1. 1 • JSR 129 PBP • JSR 217 PBP 1. 1 • JSR 62 PP • JSR 215 PP 1. 1 • JSR 195 IMP • JSR 228 IMP-NG Generation Connected, Limited Device Connected Device Configuration 1. 1 Mobile Information Device Profile PDA Profile Foundation Profile 1. 1 Personal Basis Profile 1. 1 Personal Profile 1. 1 Information Module Profile - Next Optional Packages • JSR 75 PDA Optional Packages for the J 2 ME Platform • JSR 82 Java APIs for Bluetooth • JSR 120 Wireless Messaging API • JSR 205 Wireless Messaging API 2. 0 • JSR 135 Mobile Media API • JSR 164 JAIN SIMPLE Presence • JSR 165 JAIN SIMPLE Instant Messaging • JSR 172 J 2 ME Web Services • JSR 177 Security and Trust Services API for J 2 ME • JSR 179 Location API for J 2 ME • JSR 180 SIPSIP API for J 2 ME • JSR 184 Mobile 3 D Graphics API for J 2 ME • JSR 186 JAIN Presence • JSR 187 JAIN Instant Messaging • JSR 190 Event Tracking API for J 2 ME • JSR 209 Advanced Graphics and User Interface • JSR 211 Content Handling API • JSR 213 Micro WSCI Framework for J 2 ME • JSR 214 Micro BPSS for J 2 ME Devices • JSR 226 Scalable 2 D Vector Graphics API • JSR 229 Payment API • JSR 230 Data Sync API • JSR 232 Mobile Operational Management • JSR 234 Advanced Multimedia Supplements • JSR 238 Mobile Internationalization API • JSR 239 Java Bindings for Open. GL ES • JSR 246 Device Management API • JSR 253 Mobile Telephony API (MTA)
Hello World!
High-Level MIDP GUI Command. Listener interface
High-Level MIDP GUI • • Alert Date. Field Form Gauge List Text. Box Text. Field http: //developers. sun. com/techtopics/mobility/midp/articles/ui/
Low-Level MIDP GUI • • Canvas Raw input event Command. Listener http: //developers. sun. com/techtopics/mobility/midp/articles/ui/
Low-Level MIDP GUI http: //developers. sun. com/techtopics/mobility/midp/articles/ui/
Over-The-Air (OTA) Deploying
Deploying – JAD file File Extension. JAD. JAR MIME Type text/vnd. sun. j 2 me. app-descriptor application/java-archive MIDlet-1: Word. Learner, Word. Learner. png, Main MIDlet-Data-Size: 40000 MIDlet-Install-Notify: http: //wordlearner. com/dl/installed. php? ID=101 MIDlet-Jar-Size: 74932 MIDlet-Jar-URL: http: //wordlearner. com/Word. Learner. jar MIDlet-Name: Word. Learner MIDlet-Vendor: Up. Spring MIDlet-Version: 0. 32. 11 Micro. Edition-Configuration: CLDC-1. 0 Micro. Edition-Profile: MIDP-1. 0
MIDP Emulator Applicatons http: //developers. sun. com/techtopics/mobility/midp/articles/emulators/index. html
MIDP Emulator Applet http: //sourceforge. net/projects/microemulator/
Bibliográfia • Jávácska portál http: //www. clib. dote. hu/javacska • Wireless Development Tutorial Part I http: //developers. sun. com/techtopics/mobility/midp/articl es/wtoolkit/ • MIDP Emulators http: //developers. sun. com/techtopics/mobility/midp/articl es/emulators/index. html • Obfuscating http: //developers. sun. com/techtopics/mobility/midp/ttips/ proguard/index. html • Technical Articles and Tips http: //developers. sun. com/techtopics/mobility/midp/refere nce/techart/
Overview of the Java 2 Platform • • • The Java programming language is syntactically similar to C++ but differs fundamentally. While C++ uses unsafe pointers and programmers are responsible for allocating and freeing memory, the Java programming language uses type safe object references, and unused memory is reclaimed automatically. Furthermore, the Java programming language eschews multiple inheritance (a likely source of confusion and ambiguity in C++) in favor of a cleaner construct, interfaces. A virtual machine forms the foundation of the Java platform. This architecture offers several attractive features: The virtual machine can be implemented to run atop a variety of operating systems and hardware, with binary-compatible Java applications operating consistently across many implementations. In addition, the virtual machine provides tight control of executed binaries, enabling safe execution of untrusted code. Finally, an extensive set of standard application programming interfaces (APIs) rounds out the Java platform. These support almost everything you might want your applications to do, from user interface through cryptography, from CORBA connectivity through internationalization. Java 2, Standard Edition (J 2 SE) is designed for desktop computers. Most often it runs on top of OS X, Linux, Solaris, or Microsoft Windows. Java 2, Enterprise Edition (J 2 EE) is a comprehensive platform for multiuser, enterprise-wide applications. It is based on J 2 SE and adds APIs for server-side computing. Java 2, Micro Edition (J 2 ME) is a set of technologies and specifications developed for small devices like pagers, mobile phones, and set-top boxes. J 2 ME uses subsets of J 2 SE components, such as smaller virtual machines and leaner APIs.
- Slides: 21