Presentation is loading. Please wait.

Presentation is loading. Please wait.

Java2 Platform Micro Edition (ME) Benedek Balázs

Similar presentations


Presentation on theme: "Java2 Platform Micro Edition (ME) Benedek Balázs"— Presentation transcript:

1 Java2 Platform Micro Edition (ME) Benedek Balázs benedek@iit.bme.hu

2 JAVA platform

3 http://www.clib.dote.hu/javacska

4 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

5

6 J2ME Platform Because J2ME spans such a variety of devices, it wouldn't make sense to try to create a one-size-fits-all solution. J2ME, 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 J2SE 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.

7 The J2ME Universe

8 Configurations, Profiles, Packages Configurations JSR 30CLDC 1.0Connected, Limited Device ConfigurationJSR 30 JSR 139CLDC 1.1Connected, Limited Device Configuration 1.1JSR 139 JSR 36CDCConnected Device ConfigurationJSR 36 JSR 218CDC 1.1Connected Device Configuration 1.1JSR 218 Profiles JSR 37MIDP 1.0Mobile Information Device ProfileJSR 37 JSR 118MIDP 2.0Mobile Information Device Profile 2.0JSR 118 JSR 75PDAPPDA ProfileJSR 75 JSR 46FPFoundation ProfileJSR 46 JSR 219FP 1.1Foundation Profile 1.1JSR 219 JSR 129PBPPersonal Basis ProfileJSR 129 JSR 217PBP 1.1Personal Basis Profile 1.1JSR 217 JSR 62PPPersonal ProfileJSR 62 JSR 215PP 1.1Personal Profile 1.1JSR 215 JSR 195IMPInformation Module ProfileJSR 195 JSR 228IMP-NGInformation Module Profile - Next GenerationJSR 228 Optional Packages JSR 75PDA Optional Packages for the J2ME PlatformJSR 75 JSR 82Java APIs for BluetoothJSR 82 JSR 120Wireless Messaging APIJSR 120 JSR 205Wireless Messaging API 2.0JSR 205 JSR 135Mobile Media APIJSR 135 JSR 164JAIN SIMPLE PresenceJSR 164 JSR 165 JAIN SIMPLE Instant MessagingJSR 165 JSR 172 J2ME Web ServicesJSR 172 JSR 177Security and Trust Services API for J2MEJSR 177 JSR 179 Location API for J2MEJSR 179 JSR 180SIPSIP API for J2MEJSR 180 JSR 184Mobile 3D Graphics API for J2MEJSR 184 JSR 186 JAIN PresenceJSR 186 JSR 187JAIN Instant MessagingJSR 187 JSR 190 Event Tracking API for J2MEJSR 190 JSR 209 Advanced Graphics and User InterfaceJSR 209 JSR 211Content Handling APIJSR 211 JSR 213Micro WSCI Framework for J2MEJSR 213 JSR 214Micro BPSS for J2ME DevicesJSR 214 JSR 226 Scalable 2D Vector Graphics APIJSR 226 JSR 229Payment APIJSR 229 JSR 230Data Sync APIJSR 230 JSR 232Mobile Operational ManagementJSR 232 JSR 234Advanced Multimedia SupplementsJSR 234 JSR 238Mobile Internationalization APIJSR 238 JSR 239Java Bindings for OpenGL ESJSR 239 JSR 246Device Management APIJSR 246 JSR 253Mobile Telephony API (MTA)JSR 253

9

10 Hello World!

11 High-Level MIDP GUI Command CommandListener interface

12 High-Level MIDP GUI Alert DateField Form Gauge List TextBox TextField http://developers.sun.com/techtopics/mobility/midp/articles/ui/

13 Low-Level MIDP GUI Canvas Raw input event Command CommandListener http://developers.sun.com/techtopics/mobility/midp/articles/ui/

14 Low-Level MIDP GUI http://developers.sun.com/techtopics/mobility/midp/articles/ui/

15 Over-The-Air (OTA) Deploying

16 Deploying – JAD file MIDlet-1: WordLearner, WordLearner.png, Main MIDlet-Data-Size: 40000 MIDlet-Install-Notify: http://wordlearner.com/dl/installed.php?ID=101http://wordlearner.com/dl/installed.php?ID=101 MIDlet-Jar-Size: 74932 MIDlet-Jar-URL: http://wordlearner.com/WordLearner.jar MIDlet-Name: WordLearner MIDlet-Vendor: UpSpring MIDlet-Version: 0.32.11 MicroEdition-Configuration: CLDC-1.0 MicroEdition-Profile: MIDP-1.0 File ExtensionMIME Type.JADtext/vnd.sun.j2me.app-descriptor.JARapplication/java-archive

17

18 MIDP Emulator Applicatons http://developers.sun.com/techtopics/mobility/midp/articles/emulators/index.html

19 MIDP Emulator Applet http://sourceforge.net/projects/microemulator/

20 Bibliográfia Jávácska portál http://www.clib.dote.hu/javacska http://www.clib.dote.hu/javacska Wireless Development Tutorial Part I http://developers.sun.com/techtopics/mobility/midp/articl es/wtoolkit/ 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 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/ http://developers.sun.com/techtopics/mobility/midp/refere nce/techart/

21 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 (J2SE) is designed for desktop computers. Most often it runs on top of OS X, Linux, Solaris, or Microsoft Windows. Java 2, Enterprise Edition (J2EE) is a comprehensive platform for multiuser, enterprise-wide applications. It is based on J2SE and adds APIs for server-side computing. Java 2, Micro Edition (J2ME) is a set of technologies and specifications developed for small devices like pagers, mobile phones, and set-top boxes. J2ME uses subsets of J2SE components, such as smaller virtual machines and leaner APIs.


Download ppt "Java2 Platform Micro Edition (ME) Benedek Balázs"

Similar presentations


Ads by Google