SlideShare a Scribd company logo
Android Application Development
    Android Internals: A Quick Overview




                                                  Ahsanul Karim
                               http://androidstream.wordpress.com
What is Android?
An Open Platform for Mobile Development
Google’s Andy Rubin describes Android as:

The first truly open and comprehensive platform for mobile
devices, all of the software to run a mobile phone but without   the
proprietary obstacles that have hindered mobile innovation

  Android is a software    stack for wide range of devices
  including mobiles, tablets and televisions that includes an
         Operating System
         Middleware
         Key Applications.
The Stack
The Stack: Linux Kernel
Android runs of Linux
Linux provides:
1. Hardware Abstraction
    Layer
2. Memory Management
3. Process Management
4. Networking

Users never see Linux sub-
system

(adb shell commands opens
Linux shell we’ll see later)
The Stack: Linux Kernel
Android runs of Linux
Linux provides:
1. Hardware Abstraction
    Layer
2. Memory Management
3. Process Management
4. Networking

Users never see Linux sub-
system

(adb shell commands opens
Linux shell we’ll see later)
The Stack: Native Libraries
Bionic, a super fast and small
GPL-based libc library optimized
for embedded use.
Surface Manager for composing
window manager with off-
screen buffering.
2D and 3D graphics hardware
support or software simulation.
Media codecs offer support for
major audio/video codecs
SQLite database
WebKit library for fast HTML
rendering
The Stack: Android Runtime
  Dalvik VM
Every Android app runs in its own process,
with its own instance of the Dalvik VM.

  Why Dalvik VM?
 1.   Optimized
 2.   Small memory footprints
 3.   Register based architecture
 4.   Security
 5.   Or may be Google’s trick to
      avoid SUN’s lawsuit
The Stack: Application Framework
Activity Manager controls the life
cycle of the app

Resource Manager manages
everything that is not the code

Location Manager figures out the
location of the phone (GPS, GSM,
WiFi)

Notification Manager for events
such as arriving messages,
appointments, etc
The Stack: Applications
Shipped Apps:
an email client,
SMS program,
calendar, maps,
browser, contacts etc.

Third Party Apps

This is where we
        are
What is Android SDK
Provides all necessary tools to develop Android applications. This includes
1.   a compiler,
2.   debugger
3.   a device emulator,
4.   Own virtual machine to run Android programs.


     background processing rich user interface library
        OpenGL libraries access to the file system
                     embedded    SQLite database
Android SDK Features
Features/APIs
Connectivity+Telephony   GSM, EDGE, 3G, 4G, and LTE data transfer+calls+SMS

Location API             APIs for GPS and Network based location detection

MAP Controls             Full support for map integration+controls

Multimedia               Full Multimedia hardware control
                         (camera+recorder+audio+video+still images)
Sensors                  APIs for using sensor hardware including accelerometer,
                         compasses, barometers etc.
Bluetooth & NFC          Peer to peer communication

C2DM                     Cloud to Device Messaging (Push Notification)
Android SDK Features
Features/APIs
Shared Data Stores          Shared Data Stores, APIs for contacts, social networks,
                            calendar and multimedia
Background Services         Background Services and processes

Home Screen Widgets+ Live
Wallpaper
HTML5 Web-kit browser

Localization Framework

Reuse of Application
component
SQLite Data storage
Android Features (Cont.)

            Accelerometer     GPS




    Thermal Sensor
                                               Your App
                                        +     With logic to
                                                Actuate
                                                              =

    Gyroscope




          Light Sensor                                            TTS
                                       Voice Search
                     Magnetic Sensor

More Related Content

PPTX
Android Workshop Day 1 Part 2
PPTX
Introduction to Android Development: Before Getting Started
PPTX
Android before getting started
PDF
Day 1 Android: Before Getting Started
PDF
Sensors in Android (old)
PDF
লেকচার ১ (ক)- শুরুর আগে:
PDF
Lecture 1 Session 1 Before Getting Started
PPTX
Android 1.8 sensor
Android Workshop Day 1 Part 2
Introduction to Android Development: Before Getting Started
Android before getting started
Day 1 Android: Before Getting Started
Sensors in Android (old)
লেকচার ১ (ক)- শুরুর আগে:
Lecture 1 Session 1 Before Getting Started
Android 1.8 sensor

What's hot (20)

PDF
Day1 before getting_started
PPT
Day 3: Getting Active Through Activities
PDF
Lecture 2(b) Android Internals A Quick Overview
PDF
Training android
PPTX
Android Development Training
PDF
Android Development: Build Android App from Scratch
PPT
Android Application Development Using Java
PDF
Android Development in a Nutshell
PPT
android-tutorial-for-beginner
PPTX
Aptech Apps
DOCX
Questions About Android Application Development
PDF
Synopsis on android nougat
ZIP
Android Application Development
PPT
Android development tutorial
PPTX
Basic of Android App Development
PPTX
Android basic principles
PPTX
Introduction to Android Development
PDF
AndroidManifest
PPT
Android application structure
PPT
cpuk10745
Day1 before getting_started
Day 3: Getting Active Through Activities
Lecture 2(b) Android Internals A Quick Overview
Training android
Android Development Training
Android Development: Build Android App from Scratch
Android Application Development Using Java
Android Development in a Nutshell
android-tutorial-for-beginner
Aptech Apps
Questions About Android Application Development
Synopsis on android nougat
Android Application Development
Android development tutorial
Basic of Android App Development
Android basic principles
Introduction to Android Development
AndroidManifest
Android application structure
cpuk10745
Ad

Viewers also liked (19)

PDF
Ui layout (incomplete)
PPT
Day 4: Android: Getting Active through Activities
PPTX
Action Bar Sherlock tutorial
PPTX
Client-Server
PPTX
Day 9: Make Your App Location Aware using Location API
PPTX
Android MapView and MapActivity
PPTX
Android Services
PPT
Android User Interface: Basic Form Widgets
PDF
Day 8: Dealing with Lists and ListViews
PDF
List Views
PPTX
Android User Interface Tutorial: DatePicker, TimePicker & Spinner
PPT
Day 5: Android User Interface [View Widgets]
PPTX
Creating the first app with android studio
PPTX
Android GPS Tutorial
PPT
Day 4: Android: UI Widgets
PPT
Day 6: Android BroadcastReceiver Component
PPTX
Day: 1 Introduction to Mobile Application Development (in Android)
PDF
Lecture 3 getting active through activities
PPTX
Android Workshop: Day 1 Part 3
Ui layout (incomplete)
Day 4: Android: Getting Active through Activities
Action Bar Sherlock tutorial
Client-Server
Day 9: Make Your App Location Aware using Location API
Android MapView and MapActivity
Android Services
Android User Interface: Basic Form Widgets
Day 8: Dealing with Lists and ListViews
List Views
Android User Interface Tutorial: DatePicker, TimePicker & Spinner
Day 5: Android User Interface [View Widgets]
Creating the first app with android studio
Android GPS Tutorial
Day 4: Android: UI Widgets
Day 6: Android BroadcastReceiver Component
Day: 1 Introduction to Mobile Application Development (in Android)
Lecture 3 getting active through activities
Android Workshop: Day 1 Part 3
Ad

Similar to Day 2 android internals a quick overview (20)

PPT
My androidpresentation
PDF
Ch1 hello, android
PDF
Google Android @ AlphaCSP's JavaEdge
PDF
Android
PDF
Google Android Naver 1212
DOCX
Android..overwiew
PPSX
Android Introduction
PPT
Android Anatomy
PPTX
Android architecture
PPTX
Cross compiling android applications
PPTX
18ITT61 - Introduction.pptx
PDF
Android fundamentals and tutorial for beginners
PPT
Google android os
PDF
20IT601PE - Mobile Application Development PPT.pdf
PDF
01 02 - introduction - adroid stack
PDF
Embedded Android Workshop at Embedded Linux Conference Europe 2011
PDF
Begining Android Development
PDF
Android : Revolutionizing Mobile Devices
PDF
Embedded Android Workshop
DOCX
Android architecture
My androidpresentation
Ch1 hello, android
Google Android @ AlphaCSP's JavaEdge
Android
Google Android Naver 1212
Android..overwiew
Android Introduction
Android Anatomy
Android architecture
Cross compiling android applications
18ITT61 - Introduction.pptx
Android fundamentals and tutorial for beginners
Google android os
20IT601PE - Mobile Application Development PPT.pdf
01 02 - introduction - adroid stack
Embedded Android Workshop at Embedded Linux Conference Europe 2011
Begining Android Development
Android : Revolutionizing Mobile Devices
Embedded Android Workshop
Android architecture

More from Ahsanul Karim (7)

PDF
Lecture 5: Storage: Saving Data Database, Files & Preferences
PPTX
Day 15: Content Provider: Using Contacts API
PPTX
Day 15: Working in Background
PDF
Day 8: Dealing with Lists and ListViews
DOC
Day 4: Activity lifecycle
PDF
Mobile Banking in Bangladesh: An Incomplete Study
PDF
GCM for Android
Lecture 5: Storage: Saving Data Database, Files & Preferences
Day 15: Content Provider: Using Contacts API
Day 15: Working in Background
Day 8: Dealing with Lists and ListViews
Day 4: Activity lifecycle
Mobile Banking in Bangladesh: An Incomplete Study
GCM for Android

Day 2 android internals a quick overview

  • 1. Android Application Development Android Internals: A Quick Overview Ahsanul Karim http://androidstream.wordpress.com
  • 2. What is Android? An Open Platform for Mobile Development Google’s Andy Rubin describes Android as: The first truly open and comprehensive platform for mobile devices, all of the software to run a mobile phone but without the proprietary obstacles that have hindered mobile innovation Android is a software stack for wide range of devices including mobiles, tablets and televisions that includes an Operating System Middleware Key Applications.
  • 4. The Stack: Linux Kernel Android runs of Linux Linux provides: 1. Hardware Abstraction Layer 2. Memory Management 3. Process Management 4. Networking Users never see Linux sub- system (adb shell commands opens Linux shell we’ll see later)
  • 5. The Stack: Linux Kernel Android runs of Linux Linux provides: 1. Hardware Abstraction Layer 2. Memory Management 3. Process Management 4. Networking Users never see Linux sub- system (adb shell commands opens Linux shell we’ll see later)
  • 6. The Stack: Native Libraries Bionic, a super fast and small GPL-based libc library optimized for embedded use. Surface Manager for composing window manager with off- screen buffering. 2D and 3D graphics hardware support or software simulation. Media codecs offer support for major audio/video codecs SQLite database WebKit library for fast HTML rendering
  • 7. The Stack: Android Runtime Dalvik VM Every Android app runs in its own process, with its own instance of the Dalvik VM. Why Dalvik VM? 1. Optimized 2. Small memory footprints 3. Register based architecture 4. Security 5. Or may be Google’s trick to avoid SUN’s lawsuit
  • 8. The Stack: Application Framework Activity Manager controls the life cycle of the app Resource Manager manages everything that is not the code Location Manager figures out the location of the phone (GPS, GSM, WiFi) Notification Manager for events such as arriving messages, appointments, etc
  • 9. The Stack: Applications Shipped Apps: an email client, SMS program, calendar, maps, browser, contacts etc. Third Party Apps This is where we are
  • 10. What is Android SDK Provides all necessary tools to develop Android applications. This includes 1. a compiler, 2. debugger 3. a device emulator, 4. Own virtual machine to run Android programs. background processing rich user interface library OpenGL libraries access to the file system embedded SQLite database
  • 11. Android SDK Features Features/APIs Connectivity+Telephony GSM, EDGE, 3G, 4G, and LTE data transfer+calls+SMS Location API APIs for GPS and Network based location detection MAP Controls Full support for map integration+controls Multimedia Full Multimedia hardware control (camera+recorder+audio+video+still images) Sensors APIs for using sensor hardware including accelerometer, compasses, barometers etc. Bluetooth & NFC Peer to peer communication C2DM Cloud to Device Messaging (Push Notification)
  • 12. Android SDK Features Features/APIs Shared Data Stores Shared Data Stores, APIs for contacts, social networks, calendar and multimedia Background Services Background Services and processes Home Screen Widgets+ Live Wallpaper HTML5 Web-kit browser Localization Framework Reuse of Application component SQLite Data storage
  • 13. Android Features (Cont.) Accelerometer GPS Thermal Sensor Your App + With logic to Actuate = Gyroscope Light Sensor TTS Voice Search Magnetic Sensor