ANDROID
OBJECTIVES
Why Android
Android Introduction
Android History
Android Features
Android and Java
Android Software Stack
Android SDK
Hello Word
WHY DEVELOP FOR ANDROID
 Android is open
 Android is free
 Java Based Platform (HTML for Cross
Platform Apps)
 Developer Community
 Powered by Google, Easy to Access
Google Services
 Google Search Rank
Vision for Android
Our goal is not just a single device. Our vision is a
mobile platform
That runs on many different devices.
- Eric Schmidt
WHAT IS ANDROID
A software platform and operating system for mobile
devices
Based on the linux kernel.
Developed by Google and later the Open handset
Alliance (OHA)
Possibility to write applications in other languages
(i.e. C#, HTML) and compiling it to ARM native code.
An open platform for developers, users & industry
OHA
ANDROID HISTORY
2005 Google buys Android Inc. Work on
Dalvik starts
2007 Open Handset Alliance announced
Early Software Development Kit
2011 Games, Tablets, TVs
Future Beyond phones
ANDROID FEATURES
Software Features
 Integrated browser based on the open source WebKit engine
 SQLite for relational data storage
 Media support for common audio, video, and still image formats(MPEG4,
H.264, MP3, AAC, AMR, JPG, PNG, GIF)
 Dalvik Virtual Machine optimized for mobile devices
Hardware Features
 Cellular networking : GSM, EDGE, 3G (hardware dependent)
 LAN : Bluetooth, and Wi-Fi (hardware dependent)
 Graphics Hardware Acceleration
 Camera, GPS and Compass (hardware dependent)
 Touch screen and accelerometer for motion sensing
ANDROID AND JAVA
 Based on Apache Harmony Java and Dalvik VM
 Android’s Java is open as it gets. Although Oracle disagrees
 Android Java = Java SE – AWT/Swing + Android API’s
Java Source Code
Java
Compiler
Java Byte Code
Java VM
Java Byte Code
Java Source Code
Java
Compiler
Java Byte Code
Dalvic VM
Dalvic Byte Code
Dex
Compiler
Dalvic Byte Code
Core Libraries
 Provides the functionality of the JAVA Programming Language
 Android Application runs in its own process, with its own instance of the
Dalvik virtual machine
Dalvik VM: Java based license free VM
 Register based VM, optimization for low memory requirements
 Executes files in the Dalvik Executable (.dex) format
 DX tool converts classes to .dex format
Dalvik VM is Android implementation of
Java VM
Dalvik is optimized for mobile devices:
• Battery consumption
• CPU capabilities
Key Dalvik differences:
• Register-based versus stack-based VM
• Dalvik runs .dex files
• More efficient and compact implementation
• Different set of Java libraries than JDK
MORE ABOUT DALVIK
Dalvik VM is Android implementation of Java VM
Dalvik is optimized for mobile devices:
• Battery consumption
• CPU capabilities
Key Dalvik differences:
• Register-based versus stack-based VM
• Dalvik runs .dex files
• More efficient and compact implementation
• Different set of Java libraries than JDK
• LIBC: C STANDARD LIB.
• SSL: SECURE SOCKET LAYER
• SGL: 2D IMAGE ENGINE
• OPENGL|ES: 3D IMAGE ENGINE
• MEDIA FRAMEWORK: CORE PART OF ANDROID MULTI-MEDIA
• SQLITE: EMBEDDED DATABASE
• WEBKIT: KERNEL OF WEB BROWSER
• FREETYPE: BITMAP AND VECTOR
• SUFRACE MANAGER: MANAGE DIFFERENCE WINDOWS FOR
DIFFERENT APPLICATIONS
PREREQUISITES FOR LEARNING
ANDROID
 Java Experience: Android development is mostly done in
Java. It’s not a difficult language to learn, per se, but
knowing how it applies to Android development can be
confusing without a firm foundation in the language.
Android Java is not exactly standard Java, but learning
standard Java will make it much easier for you to pick up
Android development.
 XML Experience: Knowing XML can be useful in a number
of tech-related fields and Android is no exception. In
particular, XML files make it easier to declare UI elements
in the apps you create. Past experience is a big plus.

Android introduction

  • 1.
  • 2.
    OBJECTIVES Why Android Android Introduction AndroidHistory Android Features Android and Java Android Software Stack Android SDK Hello Word
  • 3.
    WHY DEVELOP FORANDROID  Android is open  Android is free  Java Based Platform (HTML for Cross Platform Apps)  Developer Community  Powered by Google, Easy to Access Google Services  Google Search Rank
  • 4.
    Vision for Android Ourgoal is not just a single device. Our vision is a mobile platform That runs on many different devices. - Eric Schmidt
  • 5.
    WHAT IS ANDROID Asoftware platform and operating system for mobile devices Based on the linux kernel. Developed by Google and later the Open handset Alliance (OHA) Possibility to write applications in other languages (i.e. C#, HTML) and compiling it to ARM native code. An open platform for developers, users & industry
  • 6.
  • 11.
    ANDROID HISTORY 2005 Googlebuys Android Inc. Work on Dalvik starts 2007 Open Handset Alliance announced Early Software Development Kit 2011 Games, Tablets, TVs Future Beyond phones
  • 12.
    ANDROID FEATURES Software Features Integrated browser based on the open source WebKit engine  SQLite for relational data storage  Media support for common audio, video, and still image formats(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)  Dalvik Virtual Machine optimized for mobile devices Hardware Features  Cellular networking : GSM, EDGE, 3G (hardware dependent)  LAN : Bluetooth, and Wi-Fi (hardware dependent)  Graphics Hardware Acceleration  Camera, GPS and Compass (hardware dependent)  Touch screen and accelerometer for motion sensing
  • 13.
    ANDROID AND JAVA Based on Apache Harmony Java and Dalvik VM  Android’s Java is open as it gets. Although Oracle disagrees  Android Java = Java SE – AWT/Swing + Android API’s Java Source Code Java Compiler Java Byte Code Java VM Java Byte Code Java Source Code Java Compiler Java Byte Code Dalvic VM Dalvic Byte Code Dex Compiler Dalvic Byte Code
  • 15.
    Core Libraries  Providesthe functionality of the JAVA Programming Language  Android Application runs in its own process, with its own instance of the Dalvik virtual machine Dalvik VM: Java based license free VM  Register based VM, optimization for low memory requirements  Executes files in the Dalvik Executable (.dex) format  DX tool converts classes to .dex format Dalvik VM is Android implementation of Java VM Dalvik is optimized for mobile devices: • Battery consumption • CPU capabilities Key Dalvik differences: • Register-based versus stack-based VM • Dalvik runs .dex files • More efficient and compact implementation • Different set of Java libraries than JDK
  • 16.
    MORE ABOUT DALVIK DalvikVM is Android implementation of Java VM Dalvik is optimized for mobile devices: • Battery consumption • CPU capabilities Key Dalvik differences: • Register-based versus stack-based VM • Dalvik runs .dex files • More efficient and compact implementation • Different set of Java libraries than JDK
  • 17.
    • LIBC: CSTANDARD LIB. • SSL: SECURE SOCKET LAYER • SGL: 2D IMAGE ENGINE • OPENGL|ES: 3D IMAGE ENGINE • MEDIA FRAMEWORK: CORE PART OF ANDROID MULTI-MEDIA • SQLITE: EMBEDDED DATABASE • WEBKIT: KERNEL OF WEB BROWSER • FREETYPE: BITMAP AND VECTOR • SUFRACE MANAGER: MANAGE DIFFERENCE WINDOWS FOR DIFFERENT APPLICATIONS
  • 18.
    PREREQUISITES FOR LEARNING ANDROID Java Experience: Android development is mostly done in Java. It’s not a difficult language to learn, per se, but knowing how it applies to Android development can be confusing without a firm foundation in the language. Android Java is not exactly standard Java, but learning standard Java will make it much easier for you to pick up Android development.  XML Experience: Knowing XML can be useful in a number of tech-related fields and Android is no exception. In particular, XML files make it easier to declare UI elements in the apps you create. Past experience is a big plus.