Published on

  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide


  1. 1. Introduction of J2ME !Guided By :- Submitted By:-Prof. S C Himbade Kumar Gaurav Roll no :- 26
  2. 2. Research work At a Glance 1. What is J2ME. 2. Introduction to Java 3. Why J2ME 4. Evolution of J2me 5. Overview 6. MIDP 7. CLDC 8. CDC 9. J2ME Vs. J2EE 10. Limitation
  3. 3. What is J2MEJ2ME is a family of specifications that defines various downsized versions of the standard Java 2 platform; these downsized versions can be used to program consumer electronic devices ranging from cell phones to highly capable Personal Data Assistants (PDAs), smart phones, and set-top boxes. J2ME is a reduced version of Java for small devices ”write once, run anywhere”
  4. 4. J2ME Overview• Java – A programming language developed by Sun Microsystems – Required a Virtual machine to interpret the source codes and generate bytecode – Syntax is similar to C++ – Platform independent feature 4
  5. 5. J2ME Overview• Java2 is divided into three platforms – J2EE (Java2 Enterprise Edition) • Business applications. – J2SE (Java2 Standard Edition) • General applications – J2ME (Java2 Micro Edition) • Small devices such as mobile phone, PDA, car navigation.The above three editions target for different devices or systems
  6. 6. Java Family -- java.sun.com (2003)
  7. 7. Why J2ME ?
  8. 8. Environment requirements• We need an environment which is adapted for constrained devices - devices that have limitations on what they can do when compared to standard desktop or server computers.• The constraints are: – extremely limited memory – small screen sizes – alternative input methods – slow processors J2ME
  9. 9. So – what’s the solution?• Because of the vast need, Sun has decided to develop a special edition of Java - J2ME (Java 2 Micro Edition). J2ME
  10. 10. Let’s us try to answer it ?J2ME is targeted to developers of intelligent wireless devicesand small computing devices who need to incorporate cross-platform functionality in their products.J2ME is used on the devices with limited resources (Resourceconstraint devices) like Mobile phone, PDAs, Set topbox, screenphone, wireless, car, and digital assistant
  11. 11. Contd.. The J2ME platform maintains the qualities that Java technology has become famous for:• Built-in consistency across products in terms of running anywhere, anytime, over any device• Portability of the code• Leveraging of the same Java programming language• Safe network delivery• Applications written with J2ME technology are upwardly scalable to work with the J2SE and J2EE platforms
  12. 12. Evolution Of J2ME
  13. 13. Java Editions• Different devices have different requirements and different expectations of Java.• One platform (solution) cannot address all the market segments (web server, video games etc.)• Users/developers want flexibility. They want to choose what they want to use and what they do not. J2ME
  14. 14. Java Editions• The Java 2 Platform is split into three editions.• Each edition provides a complete environment for running Java-based applications, including the Java virtual machine (VM) and runtime classes.• The three editions target different kinds of applications running on different kinds of devices. J2ME
  15. 15. Java Editions Java 2 Platform Java2 Java2 Java2Standard Edition Enterprise Edition Micro Edition (J2SE™) (J2EE™) (J2ME™)Standard desktop & Heavy duty server Small & memoryworkstation applications systems constrained devices J2ME
  16. 16. Java Editions• Each edition defines different sets of class libraries.• There are thousands of core J2SE runtime classes, taking up to 10-20 megabytes of space.• J2ME-based devices have J2EE fewer classes. J2SE J2ME J2ME
  17. 17. Contd.• Announced in June 1999 at the JavaOne Developer Conference, J2ME brings the cross-platform functionality of the Java language to smaller devices.• In 2000 Sun extended Personal Java for handsets with a JavaPhone API which found its way into several SymbianOS 6 implementations. It was to target PDAs and SmartPhones. Several of these extensions became new classes in the J2ME via the Personal Profile and the Personal Basis Profile
  18. 18. J2ME Overview
  19. 19. J2ME Core Concepts• Configuration J2ME – Minimum platform Profile required for a group of devices J2ME• Profile Libraries – Addresses specific Java Language needs of a certain device family Java Virtual Machine• Optional Packages Host Operating System J2ME
  20. 20. J2ME Core ConceptsJ2ME is based on 3 core concepts:• Configuration• Profiles• Optional packages J2ME
  21. 21. Configurations• A configuration is a complete Java runtime environment, consisting of: – Java virtual machine (VM) to execute Java bytecode – Native code to interface to the underlying system – Set of core Java runtime classes• To use a configuration, a device must meet certain minimum requirements. J2ME
  22. 22. Configurations• The set of core classes is normally quite small and must be enhanced with additional classes supplied by J2ME profiles or by configuration implementor.• Configurations do not define any user interface classes. J2ME
  23. 23. Configurations Configuration CLDC CDC Connected Limited Connected DeviceDevice Configuration Configuration J2ME
  24. 24. Connected Limited Device Configuration (CLDC) CLDC is aimed at the low end of the consumer electronics range.• 16-bit or 32-bit small computing devices with limited memory.• These devices usually have between 160KB and 512KB of available memory.• Usually these are powered by battery.• They use small-bandwidth network wireless connection.• These devices include pagers, personal digital assistants, cell phones, dedicated terminals, and handheld consumer device.
  25. 25. Connected Device Configuration (CDC) CDC for plug-in devices:CDC(Connected Device Configuration) devices use a• 32-bit architecture, have at least 2 MB of memory available, and• Implement a complete functional JVM. CDC devices include digital set-top boxes, home appliances, navigation systems, point-of-sale terminals, and smart phones.
  26. 26. CLDC vs. CDC• CLDC • CDC – For very constrained – 2 MB or more memory devices for Java platform – 160 - 512 KB of total – 32-bit processor memory – High bandwidth – 16-bit or 32-bit network connection, processor most often using – Low power TCP/IP consumption and often operating with battery power – Connectivity with limited bandwidth J2ME
  27. 27. J2ME Core ConceptsJ2ME is based on 3 core concepts:• Configurations• Profiles• Optional packages J2ME
  28. 28. Profiles• Adds domain-specific classes to a configuration: – To fill in missing functionality – To support specific uses of a device• Most profiles define user interface classes for building interactive applications.• To use a profile, the device must meet the minimum requirements of the underlying configuration and of the profile. J2ME
  29. 29. The Mobile Information Device Profile and MIDlets• The Mobile Information Device Profile, or MIDP for short, is one such profile, intended for use on small footprint devices with a limited user interface in the form of a small screen with some kind of input capability.• Java applications that run on MIDP devices are known as MIDlets. A MIDlet consists of atleast one Java class
  30. 30. MIDP Hardware RequirementsHardware Minimum RequirementDisplay 96 X 54 Pixels 65,536 colorsMemory 32 KB workspace 128KB MIDP Implementation 8KB for MIDlets run the device has the equivalent of a keypad thatInput Device allows the user to type the numbers 0 through 9,together with the equivalent of arrow keys and a select buttonConnectivity HTTP 1.1; TCP/IP
  31. 31. MIDP vs J2SE• No floating point (CLDC 1.0)• No Object Finalization• No Reflection• No Native Methods• Threading, but no use of interrupt()• No file-based I/O• Many classes with fewer methods• Collections (Vector, Hashtable & Stack)
  32. 32. J2ME Core ConceptsJ2ME is based on 3 core concepts:• Configurations• Profiles• Optional packages J2ME
  33. 33. Optional Packages• Set of APIs in support of additional, common behaviors.• Have specific dependencies on a particular configuration and/or one or more profiles.• Examples of optional packages : – RMI Optional Package – Bluetooth Optional Package – JDBC Optional Package J2ME
  34. 34. How To Start
  35. 35. Getting Started…– 1st step: Download sun’s J2ME Wireless Toolkit from: http://java.sun.com/products/j2mewtoolkit/do wnload-2_1.html– 2nd step: Make sure you have J2SE SDK installed– 3rd step: Install the J2ME Toolkit. J2ME
  36. 36. After the installation….• Shortcuts are available from the start menu.• New directories created J2ME
  37. 37. Using KToolbar J2ME
  38. 38. Creating a new Application• Press “New Project”.• Enter the project’s name and the MIDlet’s class name.• New directories will automatically be created. J2ME
  39. 39. Where to place your files?J2ME/apps/{proj} source, resource, and binary filesJ2ME/apps/{proj}/bin JAR, JAD, unpacked manifest files.J2ME/apps/{proj}/lib external class libraries, (JAR or ZIP) for a specific projectJ2ME/apps/{proj}/res resource filesJ2ME/apps/{proj}/src source files external class libraries, (JAR orJ2ME/apps/lib ZIP) for all KToolbar projects. J2ME
  40. 40. And then what?• Choose the target platform• Write your code Java Technology for the Wireless Industry JTWI - conforms to (JSR-185).• SaveMIDP1.0 - includes MIDP 1.0 and CLDC 1.0 Custom - user defined settings, you can select project• Build profile, configurations and various APIs. (Compile + Preverify)• Run J2ME
  41. 41. Distribution to actual devices• Create a package• Place your code somewhere on the net.• Update .jad file• Download the application to your mobile• Start playing…  J2ME
  42. 42. 4. Overall Evaluation Advantages – Game building – Network applications – Rapid prototiping© artesis 2008 | 42
  43. 43. 4. Overall Evaluation Limitations • Accessing device resources • Multimedia applications • Performance-intensive applications© artesis 2008 | 43
  44. 44. Q&AAny questions??