SlideShare une entreprise Scribd logo
1  sur  31
Télécharger pour lire hors ligne
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
Outline
 ●   Motivation & Goal
 ●   Java Micro Edition Platform
 ●   Android
 ●   Java ME vs Android
 ●   Conclusion & Discussion




May 13th, 2008     Seminar on Small and Mobile Devices
                    Dejan Juric (djuric@student.ethz.ch)   2
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­constrained



May 13th, 2008           Seminar on Small and Mobile Devices
                          Dejan Juric (djuric@student.ethz.ch)   3
Goal
 ●   Allow customization of devices
       –   Download new services and applications from the 
           Internet
 ●   Development of applications and services
       –   Device­independent
       –   Cost efficient




May 13th, 2008              Seminar on Small and Mobile Devices
                             Dejan Juric (djuric@student.ethz.ch)   4
Java Micro Edition Platform
 ●   Available on most current mobile phones
 ●   Subset of the Java Platform 
       –   for resource­constrained devices

                                                         Java ME


                                  Java SE




May 13th, 2008           Seminar on Small and Mobile Devices
                          Dejan Juric (djuric@student.ethz.ch)     5
Java Platforms




May 13th, 2008    Seminar on Small and Mobile Devices
                   Dejan Juric (djuric@student.ethz.ch)   6
Java Micro Edition ­ Overview




                                                            Profiles




                                                            Configurations

May 13th, 2008      Seminar on Small and Mobile Devices
                     Dejan Juric (djuric@student.ethz.ch)              7
Java ME ­ Configurations
 ●   Configuration: 
     complete Java 
     runtime environment
       –   Defines the minimum 
           set of Java virtual 
           machine features & 
           class libraries




May 13th, 2008          Seminar on Small and Mobile Devices
                         Dejan Juric (djuric@student.ethz.ch)   8
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 APIs


May 13th, 2008          Seminar on Small and Mobile Devices
                         Dejan Juric (djuric@student.ethz.ch)   9
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.util
May 13th, 2008            Seminar on Small and Mobile Devices     javax.microedition.io
                           Dejan Juric (djuric@student.ethz.ch)                       10
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 verification
May 13th, 2008            Seminar on Small and Mobile Devices
                           Dejan Juric (djuric@student.ethz.ch)   11
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 profile
May 13th, 2008           Seminar on Small and Mobile Devices
                          Dejan Juric (djuric@student.ethz.ch)   12
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 connection

May 13th, 2008           Seminar on Small and Mobile Devices
                          Dejan Juric (djuric@student.ethz.ch)   13
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.rms


May 13th, 2008                 Seminar on Small and Mobile Devices
                                Dejan Juric (djuric@student.ethz.ch)          14
Java ME – Development Process
                  Java Source

                           Compile


                 Java Class Files                            Application on Device


                           Preverification                                 Deployment

         Preverified Class Files                                    JAR Package

                                       Packaging
May 13th, 2008                  Seminar on Small and Mobile Devices
                                 Dejan Juric (djuric@student.ethz.ch)                15
Java ME – Development Tools
 ●   Wireless toolkits:
       –   Sun Wireless Toolkits
       –   Motorola SDK for J2ME™
       –   Sony Ericsson J2ME SDK
 ●   Development Environments
       –   EclipseME
       –   Netbeans Mobility


May 13th, 2008           Seminar on Small and Mobile Devices
                          Dejan Juric (djuric@student.ethz.ch)   16
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
Java Micro Edition
 ●   Questions?




May 13th, 2008      Seminar on Small and Mobile Devices
                     Dejan Juric (djuric@student.ethz.ch)   18
Android
 ●   Software platform and 
     operating system for 
     mobile devices based 
     on the Linux 
     operating system
 ●   Developed by Google 
     and the Open 
     Handset Alliance

May 13th, 2008     Seminar on Small and Mobile Devices
                    Dejan Juric (djuric@student.ethz.ch)   19
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, Noser



May 13th, 2008          Seminar on Small and Mobile Devices
                         Dejan Juric (djuric@student.ethz.ch)   20
Android ­ Architecture




May 13th, 2008        Seminar on Small and Mobile Devices
                       Dejan Juric (djuric@student.ethz.ch)   21
Android ­ Runtime
 ●   Dalvik: It's 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
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 
     applications
May 13th, 2008      Seminar on Small and Mobile Devices
                     Dejan Juric (djuric@student.ethz.ch)   23
Android – Activity & Intent
 ●   Activity: single, focused thing that the user can 
     do
 ●   Intent: abstract description of an operation to be 
     performed




May 13th, 2008          Seminar on Small and Mobile Devices
                         Dejan Juric (djuric@student.ethz.ch)   24
Android – Life cycle ­ Activity
                                          ●   Activity can be killed! 
                                          ●   We have to store the 
                                              state




May 13th, 2008       Seminar on Small and Mobile Devices
                      Dejan Juric (djuric@student.ethz.ch)        25
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)
       –   Emulator


May 13th, 2008                    Seminar on Small and Mobile Devices
                                   Dejan Juric (djuric@student.ethz.ch)   26
Android ­ Demo
 ●   Demonstration with SDK and emulator




May 13th, 2008     Seminar on Small and Mobile Devices
                    Dejan Juric (djuric@student.ethz.ch)   27
JavaME vs Android – Developer's 
              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 ME


May 13th, 2008        Seminar on Small and Mobile Devices
                       Dejan Juric (djuric@student.ethz.ch)         28
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
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 
     future



May 13th, 2008             Seminar on Small and Mobile Devices
                            Dejan Juric (djuric@student.ethz.ch)   30
Discussion
 ●   Questions?




May 13th, 2008    Seminar on Small and Mobile Devices
                   Dejan Juric (djuric@student.ethz.ch)   31

Contenu connexe

En vedette

같은 유저수, 다른 수익? 모바일 앱의 수익을 높이는 방법
같은 유저수, 다른 수익? 모바일 앱의 수익을 높이는 방법같은 유저수, 다른 수익? 모바일 앱의 수익을 높이는 방법
같은 유저수, 다른 수익? 모바일 앱의 수익을 높이는 방법GDG Korea
 
디자이너 없어도 괜찮아! (feat.Material Design Guide)
디자이너 없어도 괜찮아! (feat.Material Design Guide)디자이너 없어도 괜찮아! (feat.Material Design Guide)
디자이너 없어도 괜찮아! (feat.Material Design Guide)GDG Korea
 
GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?
GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?
GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?GDG Korea
 
GKAC 2015 Apr. - RxAndroid
GKAC 2015 Apr. - RxAndroidGKAC 2015 Apr. - RxAndroid
GKAC 2015 Apr. - RxAndroidGDG Korea
 
GKAC 2014 Nov. - RxJava를 활용한 Functional Reactive Programming
GKAC 2014 Nov. - RxJava를 활용한 Functional Reactive ProgrammingGKAC 2014 Nov. - RxJava를 활용한 Functional Reactive Programming
GKAC 2014 Nov. - RxJava를 활용한 Functional Reactive ProgrammingGDG Korea
 
GKAC 2015 Apr. - 테스트 코드에서 코드 커버리지까지
GKAC 2015 Apr. - 테스트 코드에서 코드 커버리지까지GKAC 2015 Apr. - 테스트 코드에서 코드 커버리지까지
GKAC 2015 Apr. - 테스트 코드에서 코드 커버리지까지GDG Korea
 
Best Practices in Media Playback
Best Practices in Media PlaybackBest Practices in Media Playback
Best Practices in Media PlaybackGDG Korea
 
FIrebase를 이용한 호우호우 미니게임 만들기
FIrebase를 이용한 호우호우 미니게임 만들기FIrebase를 이용한 호우호우 미니게임 만들기
FIrebase를 이용한 호우호우 미니게임 만들기GDG Korea
 
Reinfocement learning
Reinfocement learningReinfocement learning
Reinfocement learningGDG Korea
 
안드로이드 데이터 바인딩
안드로이드 데이터 바인딩안드로이드 데이터 바인딩
안드로이드 데이터 바인딩GDG Korea
 
Introduce Android TV and new features from Google I/O 2016
Introduce Android TV and new features from Google I/O 2016Introduce Android TV and new features from Google I/O 2016
Introduce Android TV and new features from Google I/O 2016GDG Korea
 
Android - Preventing common memory leaks
Android - Preventing common memory leaksAndroid - Preventing common memory leaks
Android - Preventing common memory leaksAli Muzaffar
 
Android : How Do I Code Thee?
Android : How Do I Code Thee?Android : How Do I Code Thee?
Android : How Do I Code Thee?Viswanath J
 
Inside the Android application framework - Google I/O 2009
Inside the Android application framework - Google I/O 2009Inside the Android application framework - Google I/O 2009
Inside the Android application framework - Google I/O 2009Viswanath J
 

En vedette (15)

같은 유저수, 다른 수익? 모바일 앱의 수익을 높이는 방법
같은 유저수, 다른 수익? 모바일 앱의 수익을 높이는 방법같은 유저수, 다른 수익? 모바일 앱의 수익을 높이는 방법
같은 유저수, 다른 수익? 모바일 앱의 수익을 높이는 방법
 
디자이너 없어도 괜찮아! (feat.Material Design Guide)
디자이너 없어도 괜찮아! (feat.Material Design Guide)디자이너 없어도 괜찮아! (feat.Material Design Guide)
디자이너 없어도 괜찮아! (feat.Material Design Guide)
 
GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?
GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?
GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?
 
GKAC 2015 Apr. - RxAndroid
GKAC 2015 Apr. - RxAndroidGKAC 2015 Apr. - RxAndroid
GKAC 2015 Apr. - RxAndroid
 
GKAC 2014 Nov. - RxJava를 활용한 Functional Reactive Programming
GKAC 2014 Nov. - RxJava를 활용한 Functional Reactive ProgrammingGKAC 2014 Nov. - RxJava를 활용한 Functional Reactive Programming
GKAC 2014 Nov. - RxJava를 활용한 Functional Reactive Programming
 
GKAC 2015 Apr. - 테스트 코드에서 코드 커버리지까지
GKAC 2015 Apr. - 테스트 코드에서 코드 커버리지까지GKAC 2015 Apr. - 테스트 코드에서 코드 커버리지까지
GKAC 2015 Apr. - 테스트 코드에서 코드 커버리지까지
 
Best Practices in Media Playback
Best Practices in Media PlaybackBest Practices in Media Playback
Best Practices in Media Playback
 
FIrebase를 이용한 호우호우 미니게임 만들기
FIrebase를 이용한 호우호우 미니게임 만들기FIrebase를 이용한 호우호우 미니게임 만들기
FIrebase를 이용한 호우호우 미니게임 만들기
 
Reinfocement learning
Reinfocement learningReinfocement learning
Reinfocement learning
 
안드로이드 데이터 바인딩
안드로이드 데이터 바인딩안드로이드 데이터 바인딩
안드로이드 데이터 바인딩
 
Android Platform Architecture
Android Platform ArchitectureAndroid Platform Architecture
Android Platform Architecture
 
Introduce Android TV and new features from Google I/O 2016
Introduce Android TV and new features from Google I/O 2016Introduce Android TV and new features from Google I/O 2016
Introduce Android TV and new features from Google I/O 2016
 
Android - Preventing common memory leaks
Android - Preventing common memory leaksAndroid - Preventing common memory leaks
Android - Preventing common memory leaks
 
Android : How Do I Code Thee?
Android : How Do I Code Thee?Android : How Do I Code Thee?
Android : How Do I Code Thee?
 
Inside the Android application framework - Google I/O 2009
Inside the Android application framework - Google I/O 2009Inside the Android application framework - Google I/O 2009
Inside the Android application framework - Google I/O 2009
 

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

OOP_chapter _1.pptx
OOP_chapter _1.pptxOOP_chapter _1.pptx
OOP_chapter _1.pptxAbdexAliyi
 
Mobile Tools for Java - Current Project Status
Mobile Tools for Java - Current Project StatusMobile Tools for Java - Current Project Status
Mobile Tools for Java - Current Project Statusgustavoeliano
 
JavaME Development Workflow - JMDF 2007
JavaME Development Workflow - JMDF 2007JavaME Development Workflow - JMDF 2007
JavaME Development Workflow - JMDF 2007Edoardo Schepis
 
Introduction to Android Programming by Dr.M.Pyingkodi-kongu engineering c...
Introduction to  Android   Programming by  Dr.M.Pyingkodi-kongu engineering c...Introduction to  Android   Programming by  Dr.M.Pyingkodi-kongu engineering c...
Introduction to Android Programming by Dr.M.Pyingkodi-kongu engineering c...pyingkodi maran
 
Be ieee 2014 15 computer&inforamation science&mca titles
Be ieee 2014 15 computer&inforamation science&mca titlesBe ieee 2014 15 computer&inforamation science&mca titles
Be ieee 2014 15 computer&inforamation science&mca titlesIGEEKS TECHNOLOGIES
 
2014-2015-IEEE MCA Projects,Bangalore
2014-2015-IEEE MCA Projects,Bangalore2014-2015-IEEE MCA Projects,Bangalore
2014-2015-IEEE MCA Projects,BangaloreIGEEKS TECHNOLOGIES
 
BE Final Year CSE, ECE, EEE, IT, IS Projects,Bangalore
BE Final Year CSE, ECE, EEE, IT, IS Projects,BangaloreBE Final Year CSE, ECE, EEE, IT, IS Projects,Bangalore
BE Final Year CSE, ECE, EEE, IT, IS Projects,BangaloreIGEEKS TECHNOLOGIES
 
DSDP Mobile Tools for Java New and Noteworthy
DSDP Mobile Tools for Java New and NoteworthyDSDP Mobile Tools for Java New and Noteworthy
DSDP Mobile Tools for Java New and Noteworthydiegomadruga
 
DSDP Mobile Tools for Java New and Noteworthy
DSDP Mobile Tools for Java New and NoteworthyDSDP Mobile Tools for Java New and Noteworthy
DSDP Mobile Tools for Java New and Noteworthygustavoeliano
 
Resume_ChuangCao
Resume_ChuangCaoResume_ChuangCao
Resume_ChuangCaoChuang Cao
 
Introduction to Android Programming
Introduction to  Android ProgrammingIntroduction to  Android Programming
Introduction to Android ProgrammingPyingkodi Maran
 
A Taste of Java ME
A Taste of Java MEA Taste of Java ME
A Taste of Java MEwiradikusuma
 
Resume_Sheetal_3Years
Resume_Sheetal_3YearsResume_Sheetal_3Years
Resume_Sheetal_3YearsSheetal Dorby
 
MTJ Taking Mobile Java Developers to the Next Level
MTJ Taking Mobile Java Developers to the Next LevelMTJ Taking Mobile Java Developers to the Next Level
MTJ Taking Mobile Java Developers to the Next Levelgustavoeliano
 
DSDP Mobile Tools for Java Project
DSDP Mobile Tools for Java ProjectDSDP Mobile Tools for Java Project
DSDP Mobile Tools for Java Projectgustavoeliano
 

Similaire à Java Micro Edition Platform & Android - Seminar on Small and Mobile Devices (20)

OOP_chapter _1.pptx
OOP_chapter _1.pptxOOP_chapter _1.pptx
OOP_chapter _1.pptx
 
Mobile Tools for Java - Current Project Status
Mobile Tools for Java - Current Project StatusMobile Tools for Java - Current Project Status
Mobile Tools for Java - Current Project Status
 
JavaME Development Workflow - JMDF 2007
JavaME Development Workflow - JMDF 2007JavaME Development Workflow - JMDF 2007
JavaME Development Workflow - JMDF 2007
 
Java-Unit-I.ppt
Java-Unit-I.pptJava-Unit-I.ppt
Java-Unit-I.ppt
 
Mobile Java
Mobile JavaMobile Java
Mobile Java
 
Introduction to Android Programming by Dr.M.Pyingkodi-kongu engineering c...
Introduction to  Android   Programming by  Dr.M.Pyingkodi-kongu engineering c...Introduction to  Android   Programming by  Dr.M.Pyingkodi-kongu engineering c...
Introduction to Android Programming by Dr.M.Pyingkodi-kongu engineering c...
 
Ah java-ppt1
Ah java-ppt1Ah java-ppt1
Ah java-ppt1
 
Resume
ResumeResume
Resume
 
Be ieee 2014 15 computer&inforamation science&mca titles
Be ieee 2014 15 computer&inforamation science&mca titlesBe ieee 2014 15 computer&inforamation science&mca titles
Be ieee 2014 15 computer&inforamation science&mca titles
 
2014-2015-IEEE MCA Projects,Bangalore
2014-2015-IEEE MCA Projects,Bangalore2014-2015-IEEE MCA Projects,Bangalore
2014-2015-IEEE MCA Projects,Bangalore
 
BE Final Year CSE, ECE, EEE, IT, IS Projects,Bangalore
BE Final Year CSE, ECE, EEE, IT, IS Projects,BangaloreBE Final Year CSE, ECE, EEE, IT, IS Projects,Bangalore
BE Final Year CSE, ECE, EEE, IT, IS Projects,Bangalore
 
DSDP Mobile Tools for Java New and Noteworthy
DSDP Mobile Tools for Java New and NoteworthyDSDP Mobile Tools for Java New and Noteworthy
DSDP Mobile Tools for Java New and Noteworthy
 
DSDP Mobile Tools for Java New and Noteworthy
DSDP Mobile Tools for Java New and NoteworthyDSDP Mobile Tools for Java New and Noteworthy
DSDP Mobile Tools for Java New and Noteworthy
 
Resume_ChuangCao
Resume_ChuangCaoResume_ChuangCao
Resume_ChuangCao
 
Introduction to Android Programming
Introduction to  Android ProgrammingIntroduction to  Android Programming
Introduction to Android Programming
 
A Taste of Java ME
A Taste of Java MEA Taste of Java ME
A Taste of Java ME
 
Ieee 2013 projects download
Ieee 2013 projects downloadIeee 2013 projects download
Ieee 2013 projects download
 
Resume_Sheetal_3Years
Resume_Sheetal_3YearsResume_Sheetal_3Years
Resume_Sheetal_3Years
 
MTJ Taking Mobile Java Developers to the Next Level
MTJ Taking Mobile Java Developers to the Next LevelMTJ Taking Mobile Java Developers to the Next Level
MTJ Taking Mobile Java Developers to the Next Level
 
DSDP Mobile Tools for Java Project
DSDP Mobile Tools for Java ProjectDSDP Mobile Tools for Java Project
DSDP Mobile Tools for Java Project
 

Dernier

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 

Dernier (20)

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 

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

  • 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. Outline ● Motivation & Goal ● Java Micro Edition Platform ● Android ● Java ME vs Android ● Conclusion & Discussion May 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 2
  • 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­constrained May 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 3
  • 4. Goal ● Allow customization of devices – Download new services and applications from the  Internet ● Development of applications and services – Device­independent – Cost efficient May 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 4
  • 5. Java Micro Edition Platform ● Available on most current mobile phones ● Subset of the Java Platform  – for resource­constrained devices Java ME Java SE May 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 5
  • 6. Java Platforms May 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 6
  • 7. Java Micro Edition ­ Overview Profiles Configurations May 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 7
  • 8. Java ME ­ Configurations ● Configuration:  complete Java  runtime environment – Defines the minimum  set of Java virtual  machine features &  class libraries May 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 8
  • 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 APIs May 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 9
  • 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.util May 13th, 2008 Seminar on Small and Mobile Devices javax.microedition.io Dejan Juric (djuric@student.ethz.ch) 10
  • 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 verification May 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 11
  • 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 profile May 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 12
  • 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 connection May 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 13
  • 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.rms May 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 14
  • 15. Java ME – Development Process Java Source Compile Java Class Files Application on Device Preverification Deployment Preverified Class Files JAR Package Packaging May 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 15
  • 16. Java ME – Development Tools ● Wireless toolkits: – Sun Wireless Toolkits – Motorola SDK for J2ME™ – Sony Ericsson J2ME SDK ● Development Environments – EclipseME – Netbeans Mobility May 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 16
  • 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. Java Micro Edition ● Questions? May 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 18
  • 19. Android ● Software platform and  operating system for  mobile devices based  on the Linux  operating system ● Developed by Google  and the Open  Handset Alliance May 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 19
  • 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, Noser May 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 20
  • 21. Android ­ Architecture May 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 21
  • 22. Android ­ Runtime ● Dalvik: It's 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. 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  applications May 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 23
  • 24. Android – Activity & Intent ● Activity: single, focused thing that the user can  do ● Intent: abstract description of an operation to be  performed May 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 24
  • 25. Android – Life cycle ­ Activity ● Activity can be killed!  ● We have to store the  state May 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 25
  • 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) – Emulator May 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 26
  • 27. Android ­ Demo ● Demonstration with SDK and emulator May 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 27
  • 28. JavaME vs Android – Developer's  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 ME May 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 28
  • 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. 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  future May 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 30
  • 31. Discussion ● Questions? May 13th, 2008 Seminar on Small and Mobile Devices Dejan Juric (djuric@student.ethz.ch) 31