SlideShare a Scribd company logo
1 of 15
Swapnal Agarwal
Vipul Kishor Bhatt
1. Introduction

2. Platform

3. Software development

4. Dalvik VM

5. Components & API

6. Building Blocks

7. Layouts
Introduction
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)

 • Allows writing managed code in the Java language

 • Android platform was announced on 5th November 2007
   with the founding of OHA
Android
An Open Handset Alliance Project
  What is the Open Handset Alliance (OHA)?
  •   OHA is an alliance of nearly 50 organizations devoted to
      advancing open standards for mobile devices
  •   Develop technologies that will significantly lower the cost of
      developing and distributing mobile devices and services

  What’s the Target?
  • Write apps to run on mobile phones
  • Will be released as open source
   http://code.google.com/android
Platform
Operating System(s) 
 
    •   Android uses Linux for its device drivers, memory management,
        process management, and networking.
 
    •   The next level up contains the Android native libraries. They are
        all written in C/C++ internally, but you’ll be calling them through
        Java interfaces. In this layer you can find the Surface Manager, 2D
        and 3D graphics, Media codecs, the SQL database (SQLite), and
        a native web browser engine (WebKit).
 
                                               Call through Java
                                               Call through Java
                                               Interface
                                               Interface



                                C/C++

                            Native Libraries

                            Surface Manager
                            Surface Manager
                                 SQLite
                                 SQLite
                             Media Codecs
                             Media Codecs
                                 Webkit
                                 Webkit
Platform
                                                  •   Dalvik Virtual Machine. Dalvik runs .dex files,
                                                      which are converted at compile time from
layout
layout
.xml
.xml
            R.java
            R.java                                    standard class and jar files.
                         *.class
                         *.class         *dex.
                                         *dex.
                                                  •   The Dalvik runtime is highly optimized:
            *.java
            *.java                                      Run multiple VMs efficiently
                                                        Each app has its own VM
                                                        Minimal memory footprint
          android-
          android-
          manifest.xml
          manifest.xml
                                   application.
                                     apk file     •   Android applications are compiled to Dalvik
                                                      bytecode.
Software Development
 IDE and Tools
  
 Android SDK
     •   Class Library
     •   Developer Tools
                 dx – Dalvik Cross-Assembler
                 aapt – Android Asset Packaging Tool
                 adb – Android Debug Bridge
                 ddms – Dalvik Debug Monitor Service
     •   Emulator and System Images
     •   Documentation and Sample Code


 Eclipse IDE + ADT (Android Development Tools)
     •   Reduces Development and Testing Time
     •   Makes User Interface-Creation easier
     •   Makes Application Description Easier
Components
Android APIs

Android-specific packages are easy to identify because they start with android in
the package name. Some of the more important packages are:

android.app—Android application model access
android.bluetooth—Android’s Bluetooth functionality
android.content—Accessing and publishing data in Android
android.net—Contains the Uri class, used for accessing content
android.gesture—Create, recognize, load, and save gestures
android.graphics—Graphics primitives
android.location—Location-based services (such as GPS)
android.opengl—OpenGL classes
android.os—System-level access to the Android environment
android.provider—ContentProvider-related classes
android.telephony—Telephony capability access, including support for both Code Division Multiple
Access (CDMA) and Global System for Mobile communication (GSM) devices
android.text—Text layout
android.util—Collection of utilities for logging and text manipulation, including XML
android.view—UI elements
android.webkit—Browser functionality
android.widget—More UI elements
Android APIs
Java packages included in the Android SDK:
java.lang—Core Java language classes
java.io—Input/output capabilities
java.net—Network connections
java.text—Text-handling utilities
java.math—Math and number-manipulation classes
javax.net—Network classes
javax.security—Security-related classes
javax.xml—DOM-based XML classes
org.apache.*—HTTP-related classes
org.xml—SAX-based XML classes
Android Building Blocks
       Android Manifest.xml



           Activities

             Views

            Intents

           Services

         Notifications

       Content Provider
Android Building Blocks
          Activity:
   It represents a visible               Services
  application component
       within Android


            Intents:
      An Intent in Android             Notification
    describes what you want
             to do.


          Content Provider:             Views:
    It helps data sharing between     UI elements
   different Android Applications
   or between different Activities.
Layouts
•   Different Layouts :-
                           <?xml version="1.0" encoding="utf-8"?>
                           <RelativeLayout
       Linear Layout      xmlns:android="http://schemas.android.com/apk/res/android"
                                            android:id="@+id/job_search_layout"
       Relative Layout                     android:layout_width="fill_parent"
       Table Layout                        android:layout_height="wrap_content"
       Frame Layout       <ListView        android:layout_width="wrap_content“
       Absolute Layout                         android:layout_width="wrap_content"
        (Deprecated)                        android:layout_height="wrap_content" />

                           <ImageView       android:id="@+id/geo_location“
                                                android:src="@drawable/geo_location"
                                                android:layout_width="wrap_content"
                                            android:layout_height="wrap_content" />

                            <LinearLayout      android:id="@+id/location_selection_layout“
                                                android:layout_width="wrap_content"
                                            android:layout_height="wrap_content" >

                                <TextView
                           android:id="@+id/recent_search_header_count”>
                                              android:layout_width="wrap_content"
                                          android:layout_height="wrap_content" />
                            </LinearLayout>
                           </RelativeLayout>
Activity Life Cycle
Thanks

More Related Content

What's hot

Frontend APIs powering fast paced product iterations
Frontend APIs powering fast paced product iterationsFrontend APIs powering fast paced product iterations
Frontend APIs powering fast paced product iterationsKarthik Ramgopal
 
CouchConf NYC CouchApps
CouchConf NYC CouchAppsCouchConf NYC CouchApps
CouchConf NYC CouchAppsBradley Holt
 
Bala Sr Java Developer
Bala  Sr Java DeveloperBala  Sr Java Developer
Bala Sr Java DeveloperJava Dev
 
Web Apps atop a Content Repository
Web Apps atop a Content RepositoryWeb Apps atop a Content Repository
Web Apps atop a Content RepositoryGabriel Walt
 
Introduction to Android Development Part 1
Introduction to Android Development Part 1Introduction to Android Development Part 1
Introduction to Android Development Part 1Kainda Kiniel Daka
 
Optimizing HTML5 Sites with CQ5/WEM
Optimizing HTML5 Sites with CQ5/WEMOptimizing HTML5 Sites with CQ5/WEM
Optimizing HTML5 Sites with CQ5/WEMGabriel Walt
 
Android- Introduction for Beginners
Android- Introduction for BeginnersAndroid- Introduction for Beginners
Android- Introduction for BeginnersTripti Tiwari
 
Android Training - Part 2
Android Training - Part 2Android Training - Part 2
Android Training - Part 2Tbldevelopment
 
Ajax toolkit framework
Ajax toolkit frameworkAjax toolkit framework
Ajax toolkit frameworkSunil Kumar
 
JUDCon 2014: Gearing up for mobile development with AeroGear
JUDCon 2014: Gearing up for mobile development with AeroGearJUDCon 2014: Gearing up for mobile development with AeroGear
JUDCon 2014: Gearing up for mobile development with AeroGearprajods
 

What's hot (20)

Android basics
Android basicsAndroid basics
Android basics
 
Frontend APIs powering fast paced product iterations
Frontend APIs powering fast paced product iterationsFrontend APIs powering fast paced product iterations
Frontend APIs powering fast paced product iterations
 
Neeraja ganesh fs-v1
Neeraja ganesh fs-v1Neeraja ganesh fs-v1
Neeraja ganesh fs-v1
 
CouchConf NYC CouchApps
CouchConf NYC CouchAppsCouchConf NYC CouchApps
CouchConf NYC CouchApps
 
Crx 2.2 Deep-Dive
Crx 2.2 Deep-DiveCrx 2.2 Deep-Dive
Crx 2.2 Deep-Dive
 
Bala Sr Java Developer
Bala  Sr Java DeveloperBala  Sr Java Developer
Bala Sr Java Developer
 
Android primer
Android primerAndroid primer
Android primer
 
Web Apps atop a Content Repository
Web Apps atop a Content RepositoryWeb Apps atop a Content Repository
Web Apps atop a Content Repository
 
Krishnagopal Thogiti_Java
Krishnagopal Thogiti_JavaKrishnagopal Thogiti_Java
Krishnagopal Thogiti_Java
 
Santosh_Resume_Java
Santosh_Resume_JavaSantosh_Resume_Java
Santosh_Resume_Java
 
CQ 5.4 Deep-Dive
CQ 5.4 Deep-DiveCQ 5.4 Deep-Dive
CQ 5.4 Deep-Dive
 
Introduction to Android Development Part 1
Introduction to Android Development Part 1Introduction to Android Development Part 1
Introduction to Android Development Part 1
 
Windows Azure
Windows AzureWindows Azure
Windows Azure
 
01 02 - introduction - adroid stack
01  02 - introduction - adroid stack01  02 - introduction - adroid stack
01 02 - introduction - adroid stack
 
Optimizing HTML5 Sites with CQ5/WEM
Optimizing HTML5 Sites with CQ5/WEMOptimizing HTML5 Sites with CQ5/WEM
Optimizing HTML5 Sites with CQ5/WEM
 
Android- Introduction for Beginners
Android- Introduction for BeginnersAndroid- Introduction for Beginners
Android- Introduction for Beginners
 
Android Training - Part 2
Android Training - Part 2Android Training - Part 2
Android Training - Part 2
 
Ajax toolkit framework
Ajax toolkit frameworkAjax toolkit framework
Ajax toolkit framework
 
JUDCon 2014: Gearing up for mobile development with AeroGear
JUDCon 2014: Gearing up for mobile development with AeroGearJUDCon 2014: Gearing up for mobile development with AeroGear
JUDCon 2014: Gearing up for mobile development with AeroGear
 
Spring
SpringSpring
Spring
 

Similar to Android Introduction

Android dev o_auth
Android dev o_authAndroid dev o_auth
Android dev o_authlzongren
 
Android Development
Android DevelopmentAndroid Development
Android Developmentmclougm4
 
Androidoscon20080721 1216843094441821-9
Androidoscon20080721 1216843094441821-9Androidoscon20080721 1216843094441821-9
Androidoscon20080721 1216843094441821-9Gustavo Fuentes Zurita
 
Androidoscon20080721 1216843094441821-9
Androidoscon20080721 1216843094441821-9Androidoscon20080721 1216843094441821-9
Androidoscon20080721 1216843094441821-9Gustavo Fuentes Zurita
 
Android 101 - Introduction to Android Development
Android 101 - Introduction to Android DevelopmentAndroid 101 - Introduction to Android Development
Android 101 - Introduction to Android DevelopmentAndy Scherzinger
 
Android Starting App Development
Android  Starting App DevelopmentAndroid  Starting App Development
Android Starting App DevelopmentParamvir Singh
 
Android operating system
Android operating systemAndroid operating system
Android operating systemDev Savalia
 
Android Applications Development: A Quick Start Guide
Android Applications Development: A Quick Start GuideAndroid Applications Development: A Quick Start Guide
Android Applications Development: A Quick Start GuideSergii Zhuk
 
Android App development and test environment, Understaing android app structure
Android App development and test environment, Understaing android app structureAndroid App development and test environment, Understaing android app structure
Android App development and test environment, Understaing android app structureVijay Rastogi
 
Mobile Web Apps and the Intel® XDK
Mobile Web Apps and the Intel® XDKMobile Web Apps and the Intel® XDK
Mobile Web Apps and the Intel® XDKIntel® Software
 
Crosswalk and the Intel XDK
Crosswalk and the Intel XDKCrosswalk and the Intel XDK
Crosswalk and the Intel XDKIntel® Software
 
Developing for Android-Types of Android Application
Developing for Android-Types of Android ApplicationDeveloping for Android-Types of Android Application
Developing for Android-Types of Android ApplicationNandini Prabhu
 
Matteo Gazzurelli - Introduction to Android Development - Have a break edition
Matteo Gazzurelli - Introduction to Android Development - Have a break editionMatteo Gazzurelli - Introduction to Android Development - Have a break edition
Matteo Gazzurelli - Introduction to Android Development - Have a break editionDuckMa
 
Ii 1300-java essentials for android
Ii 1300-java essentials for androidIi 1300-java essentials for android
Ii 1300-java essentials for androidAdrian Mikeliunas
 
Cross-Platform Development using Angulr JS in Visual Studio
Cross-Platform Development using Angulr JS in Visual StudioCross-Platform Development using Angulr JS in Visual Studio
Cross-Platform Development using Angulr JS in Visual StudioMizanur Sarker
 

Similar to Android Introduction (20)

Android - Anroid Pproject
Android - Anroid PprojectAndroid - Anroid Pproject
Android - Anroid Pproject
 
Android dev o_auth
Android dev o_authAndroid dev o_auth
Android dev o_auth
 
Android Development
Android DevelopmentAndroid Development
Android Development
 
My androidpresentation
My androidpresentationMy androidpresentation
My androidpresentation
 
Androidoscon20080721 1216843094441821-9
Androidoscon20080721 1216843094441821-9Androidoscon20080721 1216843094441821-9
Androidoscon20080721 1216843094441821-9
 
Androidoscon20080721 1216843094441821-9
Androidoscon20080721 1216843094441821-9Androidoscon20080721 1216843094441821-9
Androidoscon20080721 1216843094441821-9
 
Android 101 - Introduction to Android Development
Android 101 - Introduction to Android DevelopmentAndroid 101 - Introduction to Android Development
Android 101 - Introduction to Android Development
 
Android Starting App Development
Android  Starting App DevelopmentAndroid  Starting App Development
Android Starting App Development
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to android
 
PPT Companion to Android
PPT Companion to AndroidPPT Companion to Android
PPT Companion to Android
 
Android operating system
Android operating systemAndroid operating system
Android operating system
 
Android Applications Development: A Quick Start Guide
Android Applications Development: A Quick Start GuideAndroid Applications Development: A Quick Start Guide
Android Applications Development: A Quick Start Guide
 
Android App development and test environment, Understaing android app structure
Android App development and test environment, Understaing android app structureAndroid App development and test environment, Understaing android app structure
Android App development and test environment, Understaing android app structure
 
Mobile Web Apps and the Intel® XDK
Mobile Web Apps and the Intel® XDKMobile Web Apps and the Intel® XDK
Mobile Web Apps and the Intel® XDK
 
Crosswalk and the Intel XDK
Crosswalk and the Intel XDKCrosswalk and the Intel XDK
Crosswalk and the Intel XDK
 
Android
AndroidAndroid
Android
 
Developing for Android-Types of Android Application
Developing for Android-Types of Android ApplicationDeveloping for Android-Types of Android Application
Developing for Android-Types of Android Application
 
Matteo Gazzurelli - Introduction to Android Development - Have a break edition
Matteo Gazzurelli - Introduction to Android Development - Have a break editionMatteo Gazzurelli - Introduction to Android Development - Have a break edition
Matteo Gazzurelli - Introduction to Android Development - Have a break edition
 
Ii 1300-java essentials for android
Ii 1300-java essentials for androidIi 1300-java essentials for android
Ii 1300-java essentials for android
 
Cross-Platform Development using Angulr JS in Visual Studio
Cross-Platform Development using Angulr JS in Visual StudioCross-Platform Development using Angulr JS in Visual Studio
Cross-Platform Development using Angulr JS in Visual Studio
 

Android Introduction

  • 2. 1. Introduction 2. Platform 3. Software development 4. Dalvik VM 5. Components & API 6. Building Blocks 7. Layouts
  • 3. Introduction 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) • Allows writing managed code in the Java language • Android platform was announced on 5th November 2007 with the founding of OHA
  • 4. Android An Open Handset Alliance Project What is the Open Handset Alliance (OHA)? • OHA is an alliance of nearly 50 organizations devoted to advancing open standards for mobile devices • Develop technologies that will significantly lower the cost of developing and distributing mobile devices and services What’s the Target? • Write apps to run on mobile phones • Will be released as open source  http://code.google.com/android
  • 5. Platform Operating System(s)    • Android uses Linux for its device drivers, memory management, process management, and networking.   • The next level up contains the Android native libraries. They are all written in C/C++ internally, but you’ll be calling them through Java interfaces. In this layer you can find the Surface Manager, 2D and 3D graphics, Media codecs, the SQL database (SQLite), and a native web browser engine (WebKit).   Call through Java Call through Java Interface Interface C/C++ Native Libraries Surface Manager Surface Manager SQLite SQLite Media Codecs Media Codecs Webkit Webkit
  • 6. Platform • Dalvik Virtual Machine. Dalvik runs .dex files, which are converted at compile time from layout layout .xml .xml R.java R.java standard class and jar files. *.class *.class *dex. *dex. • The Dalvik runtime is highly optimized: *.java *.java  Run multiple VMs efficiently  Each app has its own VM  Minimal memory footprint android- android- manifest.xml manifest.xml application. apk file • Android applications are compiled to Dalvik bytecode.
  • 7. Software Development IDE and Tools   Android SDK • Class Library • Developer Tools  dx – Dalvik Cross-Assembler  aapt – Android Asset Packaging Tool  adb – Android Debug Bridge  ddms – Dalvik Debug Monitor Service • Emulator and System Images • Documentation and Sample Code Eclipse IDE + ADT (Android Development Tools) • Reduces Development and Testing Time • Makes User Interface-Creation easier • Makes Application Description Easier
  • 9. Android APIs Android-specific packages are easy to identify because they start with android in the package name. Some of the more important packages are: android.app—Android application model access android.bluetooth—Android’s Bluetooth functionality android.content—Accessing and publishing data in Android android.net—Contains the Uri class, used for accessing content android.gesture—Create, recognize, load, and save gestures android.graphics—Graphics primitives android.location—Location-based services (such as GPS) android.opengl—OpenGL classes android.os—System-level access to the Android environment android.provider—ContentProvider-related classes android.telephony—Telephony capability access, including support for both Code Division Multiple Access (CDMA) and Global System for Mobile communication (GSM) devices android.text—Text layout android.util—Collection of utilities for logging and text manipulation, including XML android.view—UI elements android.webkit—Browser functionality android.widget—More UI elements
  • 10. Android APIs Java packages included in the Android SDK: java.lang—Core Java language classes java.io—Input/output capabilities java.net—Network connections java.text—Text-handling utilities java.math—Math and number-manipulation classes javax.net—Network classes javax.security—Security-related classes javax.xml—DOM-based XML classes org.apache.*—HTTP-related classes org.xml—SAX-based XML classes
  • 11. Android Building Blocks Android Manifest.xml Activities Views Intents Services Notifications Content Provider
  • 12. Android Building Blocks Activity: It represents a visible Services application component within Android Intents: An Intent in Android Notification describes what you want to do. Content Provider: Views: It helps data sharing between UI elements different Android Applications or between different Activities.
  • 13. Layouts • Different Layouts :- <?xml version="1.0" encoding="utf-8"?> <RelativeLayout  Linear Layout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/job_search_layout"  Relative Layout android:layout_width="fill_parent"  Table Layout android:layout_height="wrap_content"  Frame Layout <ListView android:layout_width="wrap_content“  Absolute Layout android:layout_width="wrap_content" (Deprecated) android:layout_height="wrap_content" /> <ImageView android:id="@+id/geo_location“ android:src="@drawable/geo_location" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <LinearLayout android:id="@+id/location_selection_layout“ android:layout_width="wrap_content" android:layout_height="wrap_content" > <TextView android:id="@+id/recent_search_header_count”> android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> </RelativeLayout>