Java Micro Edition Platform                             &                           Android                 Seminar on Sma...
Outline ●   Motivation & Goal ●   Java Micro Edition Platform ●   Android ●   Java ME vs Android ●   Conclusion & Discussi...
Motivation ●   Number of mobile phone subscribers by      November 2007: 3.3 billion. (personal      computers: 1 billion)...
Goal ●   Allow customization of devices       –   Download new services and applications from the            Internet ●   ...
Java Micro Edition Platform ●   Available on most current mobile phones ●   Subset of the Java Platform        –   for res...
Java PlatformsMay 13th, 2008    Seminar on Small and Mobile Devices                   Dejan Juric (djuric@student.ethz.ch)...
Java Micro Edition ­ Overview                                                            Profiles                         ...
Java ME ­ Configurations ●   Configuration:      complete Java      runtime environment       –   Defines the minimum     ...
Java ME – Configurations ­ CDC ●   Connected Device      Configuration       –   32bit CPU, 2MB of            RAM, 2 MB of...
Java ME – Configurations ­ CLDC ●   Connected Limited      Device Configuration       –   At least 160 kB of            no...
Java ME – CLDC ●   Eliminated features       –   User­defined class loaders       –   Thread groups and daemon threads    ...
Java ME ­ Profiles ●   Define a minimum set      of APIs available on a      “family” of devices ●   Applications are     ...
Java ME ­ MIDP ●   Mobile Information Device Profile       –   Screen of at least 96x54 pixels       –   Keypad, keyboard ...
Java ME ­ MIDP ●   Mobile Information Device Profile – Building      Blocks                CLDC 1.1                       ...
Java ME – Development Process                  Java Source                           Compile                 Java Class Fi...
Java ME – Development Tools ●   Wireless toolkits:       –   Sun Wireless Toolkits       –   Motorola SDK for J2ME™       ...
Java ME – MIDlet Demo                 // Exceptions omitted for clarity                 public class TestMIDlet extends MI...
Java Micro Edition ●   Questions?May 13th, 2008      Seminar on Small and Mobile Devices                     Dejan Juric (...
Android ●   Software platform and      operating system for      mobile devices based      on the Linux      operating sys...
Android ­ Open Handset Alliance ●   Vision: “... accelerate innovation in mobile and      offer consumers a richer, less e...
Android ­ ArchitectureMay 13th, 2008        Seminar on Small and Mobile Devices                       Dejan Juric (djuric@...
Android ­ Runtime ●   Dalvik: Its not a Java virtual machine ●   Every Android application runs in its own      process wi...
Android – Application Framework ●   Views: User Interface ●   Content Providers: Access & share data ●   Resource Manager:...
Android – Activity & Intent ●   Activity: single, focused thing that the user can      do ●   Intent: abstract description...
Android – Life cycle ­ Activity                                          ●   Activity can be killed!                      ...
Android ­ Development ●   Software Development Kit:       –   Eclipse Plugin       –   Command line tools                 ...
Android ­ Demo ●   Demonstration with SDK and emulatorMay 13th, 2008     Seminar on Small and Mobile Devices              ...
JavaME vs Android – Developers               Perspective ●   Java ME                               ●   Android       + Sec...
Java ME vs. Android ­ General ●   Java ME                                 ●   Android       + Lots of devices             ...
Conclusions ●   Rapid growth in the mobile market expected ●   Wireless devices getting more powerful       –   More featu...
Discussion ●   Questions?May 13th, 2008    Seminar on Small and Mobile Devices                   Dejan Juric (djuric@stude...
Upcoming SlideShare
Loading in...5
×

Java Micro Edition Platform & Android - Seminar on Small and Mobile Devices

995

Published on

Published in: Technology, News & Politics
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
995
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
16
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Java Micro Edition Platform & Android - Seminar on Small and Mobile Devices

  1. 1. Java Micro Edition Platform &  Android Seminar on Small and Mobile Devices May 13th, 2008 Dejan Juric (djuric@student.ethz.ch)May 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 1
  2. 2. Outline ● Motivation & Goal ● Java Micro Edition Platform ● Android ● Java ME vs Android ● Conclusion & DiscussionMay 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 2
  3. 3. Motivation ● Number of mobile phone subscribers by  November 2007: 3.3 billion. (personal  computers: 1 billion) ● Problems with mobile devices: – Heterogeneous: different form factors, features,  functions – Resource­constrainedMay 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 3
  4. 4. Goal ● Allow customization of devices – Download new services and applications from the  Internet ● Development of applications and services – Device­independent – Cost efficientMay 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 4
  5. 5. Java Micro Edition Platform ● Available on most current mobile phones ● Subset of the Java Platform  – for resource­constrained devices Java ME Java SEMay 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 5
  6. 6. Java PlatformsMay 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 6
  7. 7. Java Micro Edition ­ Overview Profiles ConfigurationsMay 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 7
  8. 8. Java ME ­ Configurations ● Configuration:  complete Java  runtime environment – Defines the minimum  set of Java virtual  machine features &  class librariesMay 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 8
  9. 9. Java ME – Configurations ­ CDC ● Connected Device  Configuration – 32bit CPU, 2MB of  RAM, 2 MB of ROM – Modified Java SE core  class libraries – CDC 1.1 matches JDK  1.4 APIsMay 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 9
  10. 10. Java ME – Configurations ­ CLDC ● Connected Limited  Device Configuration – At least 160 kB of  non­volatile memory – At least 32 kB of  volatile memory – Minimal host  CLDC 1.1 java.lang operating system or  +java.lang.ref kernel available  java.io java.utilMay 13th, 2008 Seminar on Small and Mobile Devices javax.microedition.io Dejan Juric (djuric@student.ethz.ch) 10
  11. 11. Java ME – CLDC ● Eliminated features – User­defined class loaders – Thread groups and daemon threads – Finalization of class instances – Asynchronous exceptions – Floating point types (since CLDC 1.1) ● Class file verification – Off­device preverification and runtime verificationMay 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 11
  12. 12. Java ME ­ Profiles ● Define a minimum set  of APIs available on a  “family” of devices ● Applications are  written for a particular  profile – Portable across  devices that support  that profileMay 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 12
  13. 13. Java ME ­ MIDP ● Mobile Information Device Profile – Screen of at least 96x54 pixels – Keypad, keyboard or touchscreen input – 256 KB of nonvolatile memory  – 128 KB of RAM – 8 KB of nonvolatile writable memory for persistent  data – Two­way network connectionMay 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 13
  14. 14. Java ME ­ MIDP ● Mobile Information Device Profile – Building  Blocks CLDC 1.1 MIDP 2.0 java.lang javax.microedition.lcdui +java.lang.ref +javax.microedition.lcdui.game java.io +javax.microedition.media java.util +javax.microedition.media.control javax.microedition.io javax.microedition.midlet +javax.microedition.pki javax.microedition.rmsMay 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 14
  15. 15. Java ME – Development Process Java Source Compile Java Class Files Application on Device Preverification Deployment Preverified Class Files JAR Package PackagingMay 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 15
  16. 16. Java ME – Development Tools ● Wireless toolkits: – Sun Wireless Toolkits – Motorola SDK for J2ME™ – Sony Ericsson J2ME SDK ● Development Environments – EclipseME – Netbeans MobilityMay 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 16
  17. 17. Java ME – MIDlet Demo // Exceptions omitted for clarity public class TestMIDlet extends MIDlet implements CommandListener { private Form mMainForm; public TestMIDlet() { mMainForm = new Form("TestMIDlet"); mMainForm.append(new StringItem(null, "Hello, MIDP!")); mMainForm.addCommand(new Command("Exit", Command.EXIT, 0)); mMainForm.setCommandListener(this); } protected void destroyApp(boolean arg0)  { } protected void pauseApp() { } protected void startApp() { Display.getDisplay(this).setCurrent(mMainForm); } public void commandAction(Command arg0, Displayable arg1) { notifyDestroyed(); } }May 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 17
  18. 18. Java Micro Edition ● Questions?May 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 18
  19. 19. Android ● Software platform and  operating system for  mobile devices based  on the Linux  operating system ● Developed by Google  and the Open  Handset AllianceMay 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 19
  20. 20. Android ­ Open Handset Alliance ● Vision: “... accelerate innovation in mobile and  offer consumers a richer, less expensive, and  better mobile experience.” ● Members (more than 30): – Google, HTC, NTT DoCoMo, China Mobile, T­ Mobile, Motorola, Samsung, Intel ... – Swiss members: Esmertec, NoserMay 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 20
  21. 21. Android ­ ArchitectureMay 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 21
  22. 22. Android ­ Runtime ● Dalvik: Its not a Java virtual machine ● Every Android application runs in its own  process within its own instance of the Dalvik  VM. javac Java Source Java Class Files dx Dalvik Executable Files (.dex)May 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 22
  23. 23. Android – Application Framework ● Views: User Interface ● Content Providers: Access & share data ● Resource Manager: non­code resources  (graphics, external strings ...) ● Notification Manager: custom alerts in status  bar ● Activity Manager: Manages life cycle of  applicationsMay 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 23
  24. 24. Android – Activity & Intent ● Activity: single, focused thing that the user can  do ● Intent: abstract description of an operation to be  performedMay 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 24
  25. 25. Android – Life cycle ­ Activity ● Activity can be killed!  ● We have to store the  stateMay 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 25
  26. 26. Android ­ Development ● Software Development Kit: – Eclipse Plugin – Command line tools ● Dalvik Debug Monitor Service (ddms) ● Android Debug Bridge (adb) ● Android Asset Packaging Tool (aapt) ● Android Interface Description Language (aidl) – EmulatorMay 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 26
  27. 27. Android ­ Demo ● Demonstration with SDK and emulatorMay 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 27
  28. 28. JavaME vs Android – Developers  Perspective ● Java ME ● Android + Security model + Security model + Works on many  + Optimized for  devices smartphones ­ On mobile phones:  + Seamless integration  Integration into  into system system not seamless ­ API: more complicated  ­ Too many APIs than Java MEMay 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 28
  29. 29. Java ME vs. Android ­ General ● Java ME ● Android + Lots of devices  + Opensource already available + Defines unique  ­ Fully controlled by Sun  software stack for  (Licensing!) mobile devices ­ Formal specification  ­ No devices available process (slow) ­ No standards are used  (e.g. VM, IDL ...)May 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 29
  30. 30. Conclusions ● Rapid growth in the mobile market expected ● Wireless devices getting more powerful – More features – Better connectivity ● Both technologies could play a big role in the  futureMay 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 30
  31. 31. Discussion ● Questions?May 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 31
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×