SlideShare a Scribd company logo
Mobile Platform - Android  - The Anatomy - IBM INDIA Bhavya Siddappa Android Evangelist
Agenda Mobile Eco-system Entertainment Android Overview Challenges & Opportunities What's for me ?
Mobile Eco-System
Smart Phone Market share
What is Android ? Fully customizable On Linux kernel. Set of software for mobile devices: An operating system Middleware & Key mobile applications. Rich set of APIs  Open source. By Google and OHA
Android Events 5 th  November, 2007 -   Open Handset Alliance announced 21 st  October , 2008 -  Android has been available as Open Source. 22 nd  October , 2008 -  T Mobile G1 launched in USA. 5 th  January, 2010 –  Nexus One Launched
 
What is OPEN? Industry -   Open sourced  under Apache 2.0 license Source available after first handsets ship Anyone will be able to build a system image Developers - No permission to ship an application No hidden or privileged framework APIs Can integrate, extend, and replace existing components Users -   Control of their experience Control what gets installed Choose the defaults
Android Features Application framework -  Reuse and replacement of components  Dalvik virtual machine -  Optimized VM  Integrated browser -  Open source WebKit  Optimized graphics -  2D graphics library; 3D graphics SQLite - S tructured data storage  Media support -  Audio, Video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)  GSM Telephony -  (hardware dependent)  Bluetooth, 3G, and WiFi -  (hardware dependent)  Camera, GPS, compass, and accelerometer -  (hardware dependent)  Rich development environment  - Emulator, tools for debugging, memory and performance profiling, and a plug-in for the Eclipse IDE
Android  Architecture  Overview
Android Kernel- Linux Android is build on Linux 2.6.24 kernel It has a core capability like Security Memory management Process management Network stack Driver model Does not include the full set of standard Linux utilities Display Driver Camera Driver Bluetooth Driver Flash Memory Driver USB Driver Keypad Driver WiFi Driver Audio Driver Power Management
Android Kernel – Binder (IPC) Driver Inter process Communication. Every Applications and Services runs as a process. Separate processes must communicate and share data. Driver to facilitated inter-process communication (IPC) Shared Memory Approach for IPC-High performance  Per-process thread pool for processing requests Reference counting, and mapping of object references across processes. Synchronous calls between processes
Libraries Native libraries. Written in C/C++ internally Called through Java interfaces. Layer contains Surface Manager (for compositing windows), 2D and 3D graphics, Media codecs (MPEG-4, H.264, MP3, etc.), SQL database (SQLite) and A native web browser engine (WebKit).
Function Libraries- WebKit Open source WebKit browser:  http://webkit.org Renders pages in full (desktop) view Full CSS, Javascript, DOM, AJAX support
SQLite Serverless, zero-configuration, transactional SQL database engine.  Most widely deployed SQL database engine in the world.  Light-weight transactional data store Back end for most platform data storage Transactions are atomic, consistent, isolated, and durable (ACID) even after system crashes and power failures. Zero-configuration - no setup or administration needed. A complete database is stored in a single cross-platform disk file. Cross-platform: Unix (Linux and Mac OS X), OS/2, and Windows (Win32 and WinCE) supported.
Dalvik Virtual Machine Highly optimized VM, compiled byte is optimized for mobile devices Register based NOT Stack based NOT a JVM End result is NOT the same byte code as Java, dx in the sdk takes compiled Java class files and converts them into .dex No JIT Built with security and performances (battery life) in mind
Core Libraries
Application Framework Provided by Google Other parts are extensions or services that you write. UI components - Lists, grids, text boxes, buttons, and even an embeddable web browser  Content Providers  – access, store and share application data  Resource Manager -  access to strings, graphics, and layout files  Notification Manager  - Display custom alerts in the status bar  Activity Manager  - Manages the lifecycle of applications
Applications Layer Top layer Code will live here Built-in applications such as the Phone and Web Browser. Applications Google writes have to go through the same public API that you use.  You can even tell Android to make your application replace the standard applications, if you like. IBM Internal Use |  March 6, 2010
Android SDK 15 tools for developing,, Debugging,  Packaging  Installing applications on the emulator  Android Development Tools ADT plug-in for Eclipse Android Emulator Write application code & designing an application UI. Documentation.
Eclipse ADT Plugin
Installed Application in Emulator IBM Internal Use |  March 6, 2010
Android Project Structure in Eclipse:
Android Runtime Android application == a process A process == a instance of the Dalvik virtual machine. Dalvik can run multiple VMs efficiently.  Executes classes compiled by a Java language compiler that have been transformed into the .dex format. DVM executes files in the Dalvik Executable (.dex) format which is optimized.
Application Building Blocks - Activity Activity - UI component One screen. For example: List of menu items users can choose. Text messaging application  List of contacts to send messages  Each activity is independent of the others.  Each one is implemented as a subclass of the  Activity  base class.
Application Building Blocks - Intent IntentReceiver Set and respond to notifications or status changes. Can wake up your app. Wakes up a predefined action through the external event.  For example:  Alarm notification, when the user receives email.
Application Building Blocks - Service Faceless task that runs in the background. No visual user interface Runs in the background  Certain period of time For example: Background music  Each service extends the  Service  base class.
Application Building Blocks – Content Providers Enable applications to share data. Makes a specific set of the application's data available to other applications.  Date stored in the file system, in an SQLite database Extends the  ContentProvider  base class Enable other applications to retrieve and store data of the type it controls.
What’s in an App ? (APK) Drawable Layouts Values Assets Android Manifest  Default  Activity Intents Content  Providers Service Libraries Other Activities
Get Started SDK  http://developer.android.com/sdk/index.html Eclipse > 3.5 Galileo Eclipse Plug-in > XP, Vista, Linux, x86 Mac 10.4.8 or later  http://developer.android.com/sdk/eclipse-adt.html Leave the emulator running!
References http://developer.android.com/ http://en.wikipedia.org/wiki/Google_Android http://www.anddev.org/ http://www.ibm.com/developerworks/
Questions and Answers IBM Internal Use |  March 6, 2010
IBMer [email_address] Android Evangelist bhavsidd@gmail.com  Blogger www.bhavyavoice.blogspot.com  Tweeter www.twitter.com/bhavis  LinkedIn www.linkedin.com/in/bhavis   Thank You  !

More Related Content

PPT
Middleware
PPTX
Day: 1 Introduction to Mobile Application Development (in Android)
PPTX
Cs6703 grid and cloud computing unit 2
PPTX
Google Cloud Platform (GCP)
PPTX
Cloud computing using Eucalyptus
PPSX
Introduction to .net framework
PPTX
cloud computing ppt
Middleware
Day: 1 Introduction to Mobile Application Development (in Android)
Cs6703 grid and cloud computing unit 2
Google Cloud Platform (GCP)
Cloud computing using Eucalyptus
Introduction to .net framework
cloud computing ppt

What's hot (20)

PDF
Cloud computing Basics
PDF
Introduction to Microsoft Azure Cloud
PDF
Cloud computing presentation.pdf
PDF
Cloud computing writeup
PPTX
Mobile Application Development Services-MobileApptelligence
PPTX
The Future of Cloud Computing in 2021
PPTX
Cloud Computing
PPT
Android and android versions
PPTX
Windows server
PPT
Comet Cloud
PDF
Introduction to Android Development
PDF
Cloud Computing Architecture
PPTX
Virtual machine
PPTX
Cloud computing
PPTX
Cloud computing ppt
PDF
Introduction to Cloud | Cloud Computing Tutorial for Beginners | Cloud Certif...
PPTX
Cloud computing
PPT
How to install android sdk
PPTX
What is Virtualization
PPTX
Android terminologies
Cloud computing Basics
Introduction to Microsoft Azure Cloud
Cloud computing presentation.pdf
Cloud computing writeup
Mobile Application Development Services-MobileApptelligence
The Future of Cloud Computing in 2021
Cloud Computing
Android and android versions
Windows server
Comet Cloud
Introduction to Android Development
Cloud Computing Architecture
Virtual machine
Cloud computing
Cloud computing ppt
Introduction to Cloud | Cloud Computing Tutorial for Beginners | Cloud Certif...
Cloud computing
How to install android sdk
What is Virtualization
Android terminologies
Ad

Viewers also liked (13)

ODP
Anatomy of android application
PDF
The anatomy and philosophy of Android - Google I/O 2009
PDF
The Anatomy of the Perfect Question [First Look]
PPT
Human anatomy & physiology
PDF
Android HAL Introduction: libhardware and its legacy
PPTX
Creating the first app with android studio
PPT
Chapter 10 Nervous System I - Basic Structure and Function
PDF
Android studio
PPTX
Introduction to Android and Android Studio
PPTX
Top Android Medical Apps
PPT
Human anatomy and physiology
PPT
Android seminar-presentation
PPT
Nerve supply of head and neck
Anatomy of android application
The anatomy and philosophy of Android - Google I/O 2009
The Anatomy of the Perfect Question [First Look]
Human anatomy & physiology
Android HAL Introduction: libhardware and its legacy
Creating the first app with android studio
Chapter 10 Nervous System I - Basic Structure and Function
Android studio
Introduction to Android and Android Studio
Top Android Medical Apps
Human anatomy and physiology
Android seminar-presentation
Nerve supply of head and neck
Ad

Similar to Android Anatomy (20)

PDF
Android fundamentals and tutorial for beginners
PPTX
Basic of Android App Development
PPT
My androidpresentation
PPTX
Getting started with android
PPTX
Android quick talk
ODP
Intro To Android App Development
PPT
Ramakri
PPTX
Android 1-intro n architecture
PDF
Slides bootcamp21
PPT
Android My Seminar
PDF
First Steps with Android - An Exciting Introduction
PDF
Introduction to android
PDF
Android : Architecture & Components
PPTX
Basic android-ppt
PPT
Introduction to android sessions new
PPT
Introduction to Android.ppt
PPTX
Introduction to android
PPT
Google android os
PPT
Chapter 1 Introduction to android.ppt pl
Android fundamentals and tutorial for beginners
Basic of Android App Development
My androidpresentation
Getting started with android
Android quick talk
Intro To Android App Development
Ramakri
Android 1-intro n architecture
Slides bootcamp21
Android My Seminar
First Steps with Android - An Exciting Introduction
Introduction to android
Android : Architecture & Components
Basic android-ppt
Introduction to android sessions new
Introduction to Android.ppt
Introduction to android
Google android os
Chapter 1 Introduction to android.ppt pl

More from Bhavya Siddappa (18)

PPT
Huawei Club - Community Activity & Student Program
PPTX
Android Introduction 2013
PPT
Women in Technology
PPTX
Mobile Cloud Computing 2012
PPTX
Graphology: Art of knowing a character
PPT
GTUG Intro
PPTX
Windows Phone 7 Architecture Overview
PDF
Mobile World Congress 2011 Overview
PPT
Introduction To REST
PPT
8 C's of Mobile EcoSystem
PDF
Google Io Introduction To Android
PPT
JavaScript Misunderstood
PPT
Apache Velocity
PPT
Idea Camp Knowledge Is Power
PPT
Idea Camp Idea Framework
PPT
Secure Software
PPT
eLearning 2.0
Huawei Club - Community Activity & Student Program
Android Introduction 2013
Women in Technology
Mobile Cloud Computing 2012
Graphology: Art of knowing a character
GTUG Intro
Windows Phone 7 Architecture Overview
Mobile World Congress 2011 Overview
Introduction To REST
8 C's of Mobile EcoSystem
Google Io Introduction To Android
JavaScript Misunderstood
Apache Velocity
Idea Camp Knowledge Is Power
Idea Camp Idea Framework
Secure Software
eLearning 2.0

Recently uploaded (20)

PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Approach and Philosophy of On baking technology
PPTX
A Presentation on Artificial Intelligence
PDF
Empathic Computing: Creating Shared Understanding
PPT
Teaching material agriculture food technology
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Encapsulation theory and applications.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
KodekX | Application Modernization Development
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
DOCX
The AUB Centre for AI in Media Proposal.docx
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Approach and Philosophy of On baking technology
A Presentation on Artificial Intelligence
Empathic Computing: Creating Shared Understanding
Teaching material agriculture food technology
NewMind AI Weekly Chronicles - August'25 Week I
Encapsulation theory and applications.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Diabetes mellitus diagnosis method based random forest with bat algorithm
KodekX | Application Modernization Development
The Rise and Fall of 3GPP – Time for a Sabbatical?
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
Chapter 3 Spatial Domain Image Processing.pdf
20250228 LYD VKU AI Blended-Learning.pptx
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
The AUB Centre for AI in Media Proposal.docx

Android Anatomy

  • 1. Mobile Platform - Android - The Anatomy - IBM INDIA Bhavya Siddappa Android Evangelist
  • 2. Agenda Mobile Eco-system Entertainment Android Overview Challenges & Opportunities What's for me ?
  • 5. What is Android ? Fully customizable On Linux kernel. Set of software for mobile devices: An operating system Middleware & Key mobile applications. Rich set of APIs Open source. By Google and OHA
  • 6. Android Events 5 th November, 2007 - Open Handset Alliance announced 21 st October , 2008 - Android has been available as Open Source. 22 nd October , 2008 - T Mobile G1 launched in USA. 5 th January, 2010 – Nexus One Launched
  • 7.  
  • 8. What is OPEN? Industry - Open sourced under Apache 2.0 license Source available after first handsets ship Anyone will be able to build a system image Developers - No permission to ship an application No hidden or privileged framework APIs Can integrate, extend, and replace existing components Users - Control of their experience Control what gets installed Choose the defaults
  • 9. Android Features Application framework - Reuse and replacement of components Dalvik virtual machine - Optimized VM Integrated browser - Open source WebKit Optimized graphics - 2D graphics library; 3D graphics SQLite - S tructured data storage Media support - Audio, Video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) GSM Telephony - (hardware dependent) Bluetooth, 3G, and WiFi - (hardware dependent) Camera, GPS, compass, and accelerometer - (hardware dependent) Rich development environment - Emulator, tools for debugging, memory and performance profiling, and a plug-in for the Eclipse IDE
  • 11. Android Kernel- Linux Android is build on Linux 2.6.24 kernel It has a core capability like Security Memory management Process management Network stack Driver model Does not include the full set of standard Linux utilities Display Driver Camera Driver Bluetooth Driver Flash Memory Driver USB Driver Keypad Driver WiFi Driver Audio Driver Power Management
  • 12. Android Kernel – Binder (IPC) Driver Inter process Communication. Every Applications and Services runs as a process. Separate processes must communicate and share data. Driver to facilitated inter-process communication (IPC) Shared Memory Approach for IPC-High performance Per-process thread pool for processing requests Reference counting, and mapping of object references across processes. Synchronous calls between processes
  • 13. Libraries Native libraries. Written in C/C++ internally Called through Java interfaces. Layer contains Surface Manager (for compositing windows), 2D and 3D graphics, Media codecs (MPEG-4, H.264, MP3, etc.), SQL database (SQLite) and A native web browser engine (WebKit).
  • 14. Function Libraries- WebKit Open source WebKit browser: http://webkit.org Renders pages in full (desktop) view Full CSS, Javascript, DOM, AJAX support
  • 15. SQLite Serverless, zero-configuration, transactional SQL database engine. Most widely deployed SQL database engine in the world. Light-weight transactional data store Back end for most platform data storage Transactions are atomic, consistent, isolated, and durable (ACID) even after system crashes and power failures. Zero-configuration - no setup or administration needed. A complete database is stored in a single cross-platform disk file. Cross-platform: Unix (Linux and Mac OS X), OS/2, and Windows (Win32 and WinCE) supported.
  • 16. Dalvik Virtual Machine Highly optimized VM, compiled byte is optimized for mobile devices Register based NOT Stack based NOT a JVM End result is NOT the same byte code as Java, dx in the sdk takes compiled Java class files and converts them into .dex No JIT Built with security and performances (battery life) in mind
  • 18. Application Framework Provided by Google Other parts are extensions or services that you write. UI components - Lists, grids, text boxes, buttons, and even an embeddable web browser Content Providers – access, store and share application data Resource Manager - access to strings, graphics, and layout files Notification Manager - Display custom alerts in the status bar Activity Manager - Manages the lifecycle of applications
  • 19. Applications Layer Top layer Code will live here Built-in applications such as the Phone and Web Browser. Applications Google writes have to go through the same public API that you use. You can even tell Android to make your application replace the standard applications, if you like. IBM Internal Use | March 6, 2010
  • 20. Android SDK 15 tools for developing,, Debugging, Packaging Installing applications on the emulator Android Development Tools ADT plug-in for Eclipse Android Emulator Write application code & designing an application UI. Documentation.
  • 22. Installed Application in Emulator IBM Internal Use | March 6, 2010
  • 24. Android Runtime Android application == a process A process == a instance of the Dalvik virtual machine. Dalvik can run multiple VMs efficiently. Executes classes compiled by a Java language compiler that have been transformed into the .dex format. DVM executes files in the Dalvik Executable (.dex) format which is optimized.
  • 25. Application Building Blocks - Activity Activity - UI component One screen. For example: List of menu items users can choose. Text messaging application List of contacts to send messages Each activity is independent of the others. Each one is implemented as a subclass of the Activity base class.
  • 26. Application Building Blocks - Intent IntentReceiver Set and respond to notifications or status changes. Can wake up your app. Wakes up a predefined action through the external event. For example: Alarm notification, when the user receives email.
  • 27. Application Building Blocks - Service Faceless task that runs in the background. No visual user interface Runs in the background Certain period of time For example: Background music Each service extends the Service base class.
  • 28. Application Building Blocks – Content Providers Enable applications to share data. Makes a specific set of the application's data available to other applications. Date stored in the file system, in an SQLite database Extends the ContentProvider base class Enable other applications to retrieve and store data of the type it controls.
  • 29. What’s in an App ? (APK) Drawable Layouts Values Assets Android Manifest Default Activity Intents Content Providers Service Libraries Other Activities
  • 30. Get Started SDK  http://developer.android.com/sdk/index.html Eclipse > 3.5 Galileo Eclipse Plug-in > XP, Vista, Linux, x86 Mac 10.4.8 or later http://developer.android.com/sdk/eclipse-adt.html Leave the emulator running!
  • 31. References http://developer.android.com/ http://en.wikipedia.org/wiki/Google_Android http://www.anddev.org/ http://www.ibm.com/developerworks/
  • 32. Questions and Answers IBM Internal Use | March 6, 2010
  • 33. IBMer [email_address] Android Evangelist bhavsidd@gmail.com Blogger www.bhavyavoice.blogspot.com Tweeter www.twitter.com/bhavis LinkedIn www.linkedin.com/in/bhavis Thank You !

Editor's Notes

  • #2: 03/06/10
  • #33: IBM Confidential Instructor notes: Include an opportunity for participants to ask questions after presentation of key concepts, examples, and exercises.