1
FAHAD ALI SHAIKH
                     Mobile Wizard




                      www.mobistry.com
www.sileria.com    http://twitter.com/mobistry
   Introduction to Mobile Application Development
   Mobile Native vs. Mobile Web Applications
   Open Handset Alliance
   Let’s Do Java
   Welcome to Android
   Hello World Application




                                                     3
   CIS NED Graduate
   3+ years experience in developing software
   Mobile Wizard @ SILERIA Inc. LA. USA
   Asp.net 3.5, Silverlight 3, Drupal, Android, Socket
    Programming.
   Passionate Technology Trainer
   Technology Advocate
   Mixed Martial Arts Enthusiast
   Google fahad ali shaikh for more 

                                                          4
5
   Smart phones, PDAs, Handheld devices etc.

   Pre-installed apps

   Downloaded by used from app-stores

   mobile software distribution platforms

   Makes simple mobile device a professional business phone by
    creating easy, user friendly and dynamic apps




                                                                  6
   Popular for business expansion.

   High interest in developing mobile apps for their smart phones
    like IPhone, Android, Blackberry, Windows mobile etc.

   Mobile is one of the most successful consumer products




                                                                     7
New member in
                           the club




Main Frame   Server   Workstation       Notebook

                                                   Smart Phone




                                                                 8
   Informational
    ◦ Weather, Area-guide, Finance, Location-based etc

   Data-Entry

    ◦ Business Records, Medical Records, Health and Fitness Data etc

    ◦ Sending information to server for aggregation

   Multimedia

    ◦ Camera, Audio, Video etc.

   Shopping
    ◦ M-Commerce, Price Comparers etc.

                                                                       9
   Social-Networks and Email
    ◦ IM, MySpace, Facebook, Gmail etc.

   Communication
    ◦ Skype, VoIP, SMS, Voice Mail, Google-Talk etc.

   Business Productivity
    ◦ Ledgers, Spreadsheets, Document Management, Inventory
      Control etc.

   Utilities
    ◦ Notepad, Organizer, Alarm etc.

                                                              10
   Travel and Entertainment
    ◦ 2D and 3D games, Traveling Guides etc.




                                               11
   Symbian           • Moblin
    ◦ S40, S60        • Maemo
   Google Android    • MeeGo (Moblin + Maemo)
   J2ME              • Brew
   Apple IPhone      • JavaFX Mobile
   Windows Mobile    • Ubuntu Mobile
   Windows Phone 7
   Blackberry
   Palm
                                                 12
   Mobile Native Apps
    ◦ Built completely using native platform API (Android, IPhone etc.)


   Light Weight (Hybrid) Apps

    ◦ Native API + Web Components (WebKit Browser, web services)


   Mobile Web Apps

    ◦ Completely on cloud

    ◦ Internet connections is mandatory


                                                                          13
14
• Native apps have access to low level hardware/APIs like

   OpenGL and full access to the OS

• Native apps are generally faster and more fun to use

• Native apps can easily take advantage of a smart

   phone’s GPS or camera etc.

• Native apps have better debuggers and emulators




                                                            15
   Must be online

    ◦ Only works with internet connectivity

   Lacking API Power

    ◦ The web app always lacks the power of native API

   Limited hardware

    ◦ It is technically possible to access some smart phone hardware
      from a web but it is not as seamless

   Optimizing look and feel

    ◦ Various mobile style sheets for various phone screens

    ◦ Browser war

                                                                       16
17
   A business alliance of 80 firms and vendors for developing open

    standards for mobile devices




   Member firms include Google, HTC, Dell, Intel, Motorola, QUALCOMM, Texas

    Instruments, Samsung, LG, T-Mobile, Nvidia, and Wind River Systems




   Established on 5 November 2007, led by Google with 34 members including

    mobile handset makers, application developers, some mobile carriers and chip

    makers




                                                                                   18
1 billion people on Internet
1.5 billion TV sets                                    3 billion mobile phones

• The Open Handset Alliance share this vision for changing the
    mobile experience for consumers


                                                                            19
   Android, the flagship software of the alliance, is based on an open
    source license and competes against mobile platforms
    from Apple, Microsoft, Nokia, HP etc




                                                                          20
21
22
23
24
25
   Platform Independent
    ◦ Write a code in one operating system (Windows 7) and
      executing the code in another operating system (Linux)

    ◦ WORA ( Write Once Run Anywhere)




                                                               26
   How is it platform independent?
    ◦ Bytecode




                                      27
   The Java compiler produces an intermediate format called bytecode


          Java Program                     Java ByteCode


                              Compiler



   Bytecode is not machine code for any real computer

   Bytecode is machine code for a model computer

   This model computer is called the Java Virtual Machine



                                                                        28
   A Java Interpreter is required to execute the bytecode on a real
    computer

   A Java Interpreter converts the bytecode into machine code

   You can run bytecode on any computer that has a Java
    Interpreter (JRE) installed!

    ◦ Only have to compile once

    ◦ Can distribute the same bytecode to everyone




                                                                       29
ByteCode


                                (.class)




Source Code          JavaC                                    executable file (.obj,
( .Java)                                                           .dex)

               JavaC Compiler
                                       Java Virtual Machine
                                               JVM
                                            JIT Compiler

                                           Java Interpreter

                                                                                 30
• Different types of JVM are available on different operating
    systems

•   Same .class files can run on various platforms

• This is the way bytecode executes Java programs




                                                                31
   Object Oriented

    ◦ Everything is an object, everything hidden behind objects,
      objects can take static/dynamic forms

   Massive Library

    ◦ Using Java’s tremendous library essentially everything is
      possible

   Portability

    ◦ The Java environment is immensely portable and can
      consistently run applications on a wide range of devices



                                                                   32
   Community at your fingertips

    ◦ A large culture of open source applications

   Jobs

    ◦ There is a shortage of competent Java Programmers




                                                          33
34
   A complete modern embedded operating system


   A cutting edge mobile user experience


   A world class software stack for building applications


   An open platform for developers, users and industry




                                                             35
   Freedom for innovation
    ◦ Open source, open platform
   Excellent Multitasking


   A complete software stack for development including
    key applications


   Android is free


   100% Java Phone


                                                          36
   July 2005
    ◦ Google acquired Android Inc

   5 Nov 2007
    ◦ Open Handset Alliance formed

    ◦ Android is the first product of OHA

   12 Nov 2007
    ◦ OHA released a preview of Android




                                            37
• 2.0/2.1 (Eclair)
 • 2.2 (Froyo)
 • 2.3 (Gingerbread)

 • 3.0 + (Honeycomb) (Tablet-Oriented)

 Upcoming
• Ice-cream sandwich
   – a combination of Gingerbread and Honeycomb into a
     "cohesive whole”, possible release by October/November
     2011




                                                              38
Applications
 Native Applications                             Extended Applications



                               Middleware
                 (Services, Libraries, Frameworks etc.)


                              Kernel
(Device Drivers, Power Management, Memory Management, Security etc.)

                              Hardware



                                                                         39
40
   Includes a set of core libraries that provides most of
    the functionality (Java)


   Every Android application runs in its own process


   Dalvik VM executes files in the .dex format


   Device can run multiple VMs efficiently



                                                             41
42
43
44
45
46
Smart Phones




               47
48
• Android SDK
• JDK (JRE + Java SDK)
• IDE with Android plugin

   • Eclipse (Google’s Recommended and Tools Supported)
   • NetBeans IDE (Award Winning IDE)
   • IntelliJ IDEA (My favourite)




                                                          49
Creating the Hello World Application




                                       50
visit www.google.com




                       51

Android application development

  • 1.
  • 2.
    FAHAD ALI SHAIKH Mobile Wizard www.mobistry.com www.sileria.com http://twitter.com/mobistry
  • 3.
    Introduction to Mobile Application Development  Mobile Native vs. Mobile Web Applications  Open Handset Alliance  Let’s Do Java  Welcome to Android  Hello World Application 3
  • 4.
    CIS NED Graduate  3+ years experience in developing software  Mobile Wizard @ SILERIA Inc. LA. USA  Asp.net 3.5, Silverlight 3, Drupal, Android, Socket Programming.  Passionate Technology Trainer  Technology Advocate  Mixed Martial Arts Enthusiast  Google fahad ali shaikh for more  4
  • 5.
  • 6.
    Smart phones, PDAs, Handheld devices etc.  Pre-installed apps  Downloaded by used from app-stores  mobile software distribution platforms  Makes simple mobile device a professional business phone by creating easy, user friendly and dynamic apps 6
  • 7.
    Popular for business expansion.  High interest in developing mobile apps for their smart phones like IPhone, Android, Blackberry, Windows mobile etc.  Mobile is one of the most successful consumer products 7
  • 8.
    New member in the club Main Frame Server Workstation Notebook Smart Phone 8
  • 9.
    Informational ◦ Weather, Area-guide, Finance, Location-based etc  Data-Entry ◦ Business Records, Medical Records, Health and Fitness Data etc ◦ Sending information to server for aggregation  Multimedia ◦ Camera, Audio, Video etc.  Shopping ◦ M-Commerce, Price Comparers etc. 9
  • 10.
    Social-Networks and Email ◦ IM, MySpace, Facebook, Gmail etc.  Communication ◦ Skype, VoIP, SMS, Voice Mail, Google-Talk etc.  Business Productivity ◦ Ledgers, Spreadsheets, Document Management, Inventory Control etc.  Utilities ◦ Notepad, Organizer, Alarm etc. 10
  • 11.
    Travel and Entertainment ◦ 2D and 3D games, Traveling Guides etc. 11
  • 12.
    Symbian • Moblin ◦ S40, S60 • Maemo  Google Android • MeeGo (Moblin + Maemo)  J2ME • Brew  Apple IPhone • JavaFX Mobile  Windows Mobile • Ubuntu Mobile  Windows Phone 7  Blackberry  Palm 12
  • 13.
    Mobile Native Apps ◦ Built completely using native platform API (Android, IPhone etc.)  Light Weight (Hybrid) Apps ◦ Native API + Web Components (WebKit Browser, web services)  Mobile Web Apps ◦ Completely on cloud ◦ Internet connections is mandatory 13
  • 14.
  • 15.
    • Native appshave access to low level hardware/APIs like OpenGL and full access to the OS • Native apps are generally faster and more fun to use • Native apps can easily take advantage of a smart phone’s GPS or camera etc. • Native apps have better debuggers and emulators 15
  • 16.
    Must be online ◦ Only works with internet connectivity  Lacking API Power ◦ The web app always lacks the power of native API  Limited hardware ◦ It is technically possible to access some smart phone hardware from a web but it is not as seamless  Optimizing look and feel ◦ Various mobile style sheets for various phone screens ◦ Browser war 16
  • 17.
  • 18.
    A business alliance of 80 firms and vendors for developing open standards for mobile devices  Member firms include Google, HTC, Dell, Intel, Motorola, QUALCOMM, Texas Instruments, Samsung, LG, T-Mobile, Nvidia, and Wind River Systems  Established on 5 November 2007, led by Google with 34 members including mobile handset makers, application developers, some mobile carriers and chip makers 18
  • 19.
    1 billion peopleon Internet 1.5 billion TV sets 3 billion mobile phones • The Open Handset Alliance share this vision for changing the mobile experience for consumers 19
  • 20.
    Android, the flagship software of the alliance, is based on an open source license and competes against mobile platforms from Apple, Microsoft, Nokia, HP etc 20
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
    Platform Independent ◦ Write a code in one operating system (Windows 7) and executing the code in another operating system (Linux) ◦ WORA ( Write Once Run Anywhere) 26
  • 27.
    How is it platform independent? ◦ Bytecode 27
  • 28.
    The Java compiler produces an intermediate format called bytecode Java Program Java ByteCode Compiler  Bytecode is not machine code for any real computer  Bytecode is machine code for a model computer  This model computer is called the Java Virtual Machine 28
  • 29.
    A Java Interpreter is required to execute the bytecode on a real computer  A Java Interpreter converts the bytecode into machine code  You can run bytecode on any computer that has a Java Interpreter (JRE) installed! ◦ Only have to compile once ◦ Can distribute the same bytecode to everyone 29
  • 30.
    ByteCode (.class) Source Code JavaC executable file (.obj, ( .Java) .dex) JavaC Compiler Java Virtual Machine JVM JIT Compiler Java Interpreter 30
  • 31.
    • Different typesof JVM are available on different operating systems • Same .class files can run on various platforms • This is the way bytecode executes Java programs 31
  • 32.
    Object Oriented ◦ Everything is an object, everything hidden behind objects, objects can take static/dynamic forms  Massive Library ◦ Using Java’s tremendous library essentially everything is possible  Portability ◦ The Java environment is immensely portable and can consistently run applications on a wide range of devices 32
  • 33.
    Community at your fingertips ◦ A large culture of open source applications  Jobs ◦ There is a shortage of competent Java Programmers 33
  • 34.
  • 35.
    A complete modern embedded operating system  A cutting edge mobile user experience  A world class software stack for building applications  An open platform for developers, users and industry 35
  • 36.
    Freedom for innovation ◦ Open source, open platform  Excellent Multitasking  A complete software stack for development including key applications  Android is free  100% Java Phone 36
  • 37.
    July 2005 ◦ Google acquired Android Inc  5 Nov 2007 ◦ Open Handset Alliance formed ◦ Android is the first product of OHA  12 Nov 2007 ◦ OHA released a preview of Android 37
  • 38.
    • 2.0/2.1 (Eclair) • 2.2 (Froyo) • 2.3 (Gingerbread) • 3.0 + (Honeycomb) (Tablet-Oriented) Upcoming • Ice-cream sandwich – a combination of Gingerbread and Honeycomb into a "cohesive whole”, possible release by October/November 2011 38
  • 39.
    Applications Native Applications Extended Applications Middleware (Services, Libraries, Frameworks etc.) Kernel (Device Drivers, Power Management, Memory Management, Security etc.) Hardware 39
  • 40.
  • 41.
    Includes a set of core libraries that provides most of the functionality (Java)  Every Android application runs in its own process  Dalvik VM executes files in the .dex format  Device can run multiple VMs efficiently 41
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
    • Android SDK •JDK (JRE + Java SDK) • IDE with Android plugin • Eclipse (Google’s Recommended and Tools Supported) • NetBeans IDE (Award Winning IDE) • IntelliJ IDEA (My favourite) 49
  • 50.
    Creating the HelloWorld Application 50
  • 51.