SlideShare a Scribd company logo
1 of 18
Download to read offline
Android Application Development
Lecture 2(B): Android Internals:
A Quick Overview
1. What is Android
2. The Android Stack
3. Android SDK
4. Features of Android SDK
5. Application Build Process
6. How Apps Run
Ahsanul Karim
karim.ahsanul@gmail.com
http://droidtraining.wordpress.com
Android Internals: Overview
1. What is Android
2. The Android Stack
3. Android SDK
4. Features of Android SDK
5. Application Build Process
6. How Apps Run

We'll Discuss...
Android Internals: Overview

What is Android...

What is Android?
An Open Platform for Mobile Applications Development

The first truly open and comprehensive platform for mobile
devices with all of the software to run a mobile phone but
without the proprietary obstacles that have hindered
mobile innovation
- Andy Rubin
A Software Stack for devices including mobiles, tablets and
televisions with:

1. Operating System
2. Middleware
3. Key Applications
Android Internals: Overview

The Android Stack...
Android Internals: Overview
The Stack: Linux Kernel
Android runs on Linux Kernel.
Kernel provides:
1. Hardware Abstraction
2. Memory Management
3. Process Management
4. Networking
Users never see this.
[adb shell commands opens
Linux.. will see it later...]

The Android Stack [1]
Android Internals: Overview
The Stack: Native Libraries
1. Bionic, a fast and small GPLbased libc library
2. Surface Manager, window
manager [off-screen buffering]
3. 2D+3D Graphics OpenGL
4. Media Codecs, offers
support for audio/video codecs
5. SQLite Database Library
6. WebKit Library for better
HTML rendering

The Android Stack [2]
Android Internals: Overview
The Stack: Android Runtime

Dalvik VM
1. Optimized
2. Small Memory Footprints
3. Register based Architecture
4. Security Model

We'll discuss application build
process later in this session

The Android Stack [3]
Android Internals: Overview
The Stack: Application Framework
1. Activity Manager controls
the lifecycle of the application
2. Resource Manager
manages everything that is not
the code
3. Location Manager figures
out the location of the phone
[GPS, GSM, WiFi]
4. Notification Manager for
events such as arriving
messages, appointments etc.

The Android Stack [4]
Android Internals: Overview
The Stack: Applications

Shipped Apps:
Example:
Email client, SMS program,
Calendar, Maps, Browser,
Contacts etc.

Third Party Apps:

This is where
we are

The Android Stack [5]
Android Internals: Overview

Android SDK [1]
Android Internals: Overview

Android SDK [2]

Includes everything required to Develop, Test & Debug
Android APIs

API Libraries provide developers access to the Android stack.
Same libraries are used by Google for shipped application

Development Tools

Tools that are used to build applications from source files to
executables. [dx, aapt etc]

Emulator + AVD
Manager

Emulator running in ADVs to simulate device hardware
configuration lets developers test applications

Documentation

Reference documentation and developer guide

Sample Code

Sample application source code for different features and API
libraries

Online Support

http://developer.android.com + a vibrant developer community
Android Internals: Overview

SDK Features [1]

Features/APIs
Connectivity +
Telephony

GSM, EDGE, 3G, 4G and LTE Data Transfer+Calls and SMS

Location API

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,
compass, barometer etc.

Bluetooth & NFC

Peer to peer communication

Wi-Fi

Wi-Fi hardware access

Storage

SQLite Database
Android Internals: Overview

SDK Features [2]

Features/APIs
Shared Data Stores

Shared Data Stores, APIs fr contacts, Social Networks,
Calendar and Multimedia

Background Services

Support for Background Services and Processes

MAP Controls

Full support for map integration+controls

Widgets

Home-screen Widgets and Live Wallpaper

WebKit

Integrated HTML5 WebKit based browser

OpenGL

Mobile optimized hardware-accelerated 2D and 3D graphics
support

Localization

Localization through dynamic resource framework

Reuse Components

Framework encourages reuse of application components
Build Process [1]
Android Internals: Overview

Build Process [2]

Android
Runtime
.class file
.class file
.class file

Manifest
dx Tool

.dex file
Resources

aapt

.apk App
Package
Android Internals: Overview

How Apps Run [1]

The .apk file is installed on a device, and lives in its own security sandbox
1. Android OS- a multi-user Linux system in which each application is a different user.
2. System assigns each app a unique Linux user ID. The system sets permissions for all
the files in an application so that only the user ID assigned to that application can
access them.
3. Each process has its own VM, so app's code runs in isolation from other apps.
4. By default, every application runs in its own Linux process. Android starts the
process when any of the application's components need to be executed, then shuts
down the process when it's no longer needed/when the system must recover memory
for other applications.
In this way, the Android system implements the principle of least privilege.
Android Internals: Overview

How Apps Run [2]

The .apk file is installed on a device, and lives in its own security sandbox
Linux
Kernel
Linux Process
Dalvik Virtual Machine
Android Application
Android Internals: Overview

Questions...

At the end of the day, the questions we ask of
ourselves determine the type of people that we will
become.
-Leo Babauta

More Related Content

What's hot

Day 3: Getting Active Through Activities
Day 3: Getting Active Through ActivitiesDay 3: Getting Active Through Activities
Day 3: Getting Active Through ActivitiesAhsanul Karim
 
Android User Interface: Basic Form Widgets
Android User Interface: Basic Form WidgetsAndroid User Interface: Basic Form Widgets
Android User Interface: Basic Form WidgetsAhsanul Karim
 
Android Services and Managers Basic
Android Services and Managers BasicAndroid Services and Managers Basic
Android Services and Managers BasicWilliam Lee
 
Synopsis on android application
Synopsis on android applicationSynopsis on android application
Synopsis on android applicationJawed akhtar
 
android app development training report
android app development training reportandroid app development training report
android app development training reportRishita Jaggi
 
Getting Started With ANDROID
Getting Started With ANDROIDGetting Started With ANDROID
Getting Started With ANDROIDAmit Yadav
 
Introduction to Android App Development
Introduction to Android App DevelopmentIntroduction to Android App Development
Introduction to Android App DevelopmentTodd Burgess
 
Android Synopsis
Android SynopsisAndroid Synopsis
Android SynopsisNiraj Rahi
 
Android application development
Android application developmentAndroid application development
Android application developmentMadhuprakashR1
 
Synopsis on android nougat
Synopsis on android nougatSynopsis on android nougat
Synopsis on android nougatPooja Maan
 
Day 4: Android: UI Widgets
Day 4: Android: UI WidgetsDay 4: Android: UI Widgets
Day 4: Android: UI WidgetsAhsanul Karim
 
FYPJ - Cerebral Android App Development (Report)
FYPJ - Cerebral Android App Development (Report)FYPJ - Cerebral Android App Development (Report)
FYPJ - Cerebral Android App Development (Report)Nehemiah Tan
 
Android summer training report
Android summer training reportAndroid summer training report
Android summer training reportShashendra Singh
 
Android MapView and MapActivity
Android MapView and MapActivityAndroid MapView and MapActivity
Android MapView and MapActivityAhsanul Karim
 
Android File Manager Report PDF
Android File Manager Report PDFAndroid File Manager Report PDF
Android File Manager Report PDFPrajjwal Kumar
 
Intro To Android App Development
Intro To Android App DevelopmentIntro To Android App Development
Intro To Android App DevelopmentMike Kvintus
 
Android task manager project presentation
Android task manager project presentationAndroid task manager project presentation
Android task manager project presentationAkhilesh Jaiswal
 

What's hot (20)

Day 3: Getting Active Through Activities
Day 3: Getting Active Through ActivitiesDay 3: Getting Active Through Activities
Day 3: Getting Active Through Activities
 
Android User Interface: Basic Form Widgets
Android User Interface: Basic Form WidgetsAndroid User Interface: Basic Form Widgets
Android User Interface: Basic Form Widgets
 
Android Services and Managers Basic
Android Services and Managers BasicAndroid Services and Managers Basic
Android Services and Managers Basic
 
Synopsis on android application
Synopsis on android applicationSynopsis on android application
Synopsis on android application
 
android app development training report
android app development training reportandroid app development training report
android app development training report
 
Getting Started With ANDROID
Getting Started With ANDROIDGetting Started With ANDROID
Getting Started With ANDROID
 
Introduction to Android App Development
Introduction to Android App DevelopmentIntroduction to Android App Development
Introduction to Android App Development
 
Android Synopsis
Android SynopsisAndroid Synopsis
Android Synopsis
 
Android application development
Android application developmentAndroid application development
Android application development
 
Android presentation slide
Android presentation slideAndroid presentation slide
Android presentation slide
 
PPT Companion to Android
PPT Companion to AndroidPPT Companion to Android
PPT Companion to Android
 
Synopsis on android nougat
Synopsis on android nougatSynopsis on android nougat
Synopsis on android nougat
 
Day 4: Android: UI Widgets
Day 4: Android: UI WidgetsDay 4: Android: UI Widgets
Day 4: Android: UI Widgets
 
FYPJ - Cerebral Android App Development (Report)
FYPJ - Cerebral Android App Development (Report)FYPJ - Cerebral Android App Development (Report)
FYPJ - Cerebral Android App Development (Report)
 
Android summer training report
Android summer training reportAndroid summer training report
Android summer training report
 
Android MapView and MapActivity
Android MapView and MapActivityAndroid MapView and MapActivity
Android MapView and MapActivity
 
Android File Manager Report PDF
Android File Manager Report PDFAndroid File Manager Report PDF
Android File Manager Report PDF
 
Intro To Android App Development
Intro To Android App DevelopmentIntro To Android App Development
Intro To Android App Development
 
.Net presentation
.Net presentation.Net presentation
.Net presentation
 
Android task manager project presentation
Android task manager project presentationAndroid task manager project presentation
Android task manager project presentation
 

Viewers also liked

Day1 before getting_started
Day1 before getting_startedDay1 before getting_started
Day1 before getting_startedAhsanul Karim
 
Lecture 3 getting active through activities
Lecture 3 getting active through activities Lecture 3 getting active through activities
Lecture 3 getting active through activities Ahsanul Karim
 
Day 5: Android User Interface [View Widgets]
Day 5: Android User Interface [View Widgets]Day 5: Android User Interface [View Widgets]
Day 5: Android User Interface [View Widgets]Ahsanul Karim
 
Android Workshop Day 1 Part 2
Android Workshop Day 1 Part 2Android Workshop Day 1 Part 2
Android Workshop Day 1 Part 2Ahsanul Karim
 
Action Bar Sherlock tutorial
Action Bar Sherlock tutorialAction Bar Sherlock tutorial
Action Bar Sherlock tutorialAhsanul Karim
 
Creating the first app with android studio
Creating the first app with android studioCreating the first app with android studio
Creating the first app with android studioParinita03
 
Day 4: Android: Getting Active through Activities
Day 4: Android: Getting Active through ActivitiesDay 4: Android: Getting Active through Activities
Day 4: Android: Getting Active through ActivitiesAhsanul Karim
 
Day 2 android internals a quick overview
Day 2 android internals a quick overviewDay 2 android internals a quick overview
Day 2 android internals a quick overviewAhsanul Karim
 
Day 8: Dealing with Lists and ListViews
Day 8: Dealing with Lists and ListViewsDay 8: Dealing with Lists and ListViews
Day 8: Dealing with Lists and ListViewsAhsanul Karim
 
Day 9: Make Your App Location Aware using Location API
Day 9: Make Your App Location Aware using Location APIDay 9: Make Your App Location Aware using Location API
Day 9: Make Your App Location Aware using Location APIAhsanul Karim
 
Android User Interface Tutorial: DatePicker, TimePicker & Spinner
Android User Interface Tutorial: DatePicker, TimePicker & SpinnerAndroid User Interface Tutorial: DatePicker, TimePicker & Spinner
Android User Interface Tutorial: DatePicker, TimePicker & SpinnerAhsanul Karim
 
Day: 1 Introduction to Mobile Application Development (in Android)
Day: 1 Introduction to Mobile Application Development (in Android)Day: 1 Introduction to Mobile Application Development (in Android)
Day: 1 Introduction to Mobile Application Development (in Android)Ahsanul Karim
 
Android Workshop: Day 1 Part 3
Android Workshop: Day 1 Part 3Android Workshop: Day 1 Part 3
Android Workshop: Day 1 Part 3Ahsanul Karim
 
Sensors in Android (old)
Sensors in Android (old)Sensors in Android (old)
Sensors in Android (old)Ahsanul Karim
 
Android GPS Tutorial
Android GPS TutorialAndroid GPS Tutorial
Android GPS TutorialAhsanul Karim
 
Day 1 Android: Before Getting Started
Day 1 Android: Before Getting StartedDay 1 Android: Before Getting Started
Day 1 Android: Before Getting StartedAhsanul Karim
 

Viewers also liked (20)

Mcq peresentation
Mcq  peresentationMcq  peresentation
Mcq peresentation
 
GCM for Android
GCM for AndroidGCM for Android
GCM for Android
 
Day1 before getting_started
Day1 before getting_startedDay1 before getting_started
Day1 before getting_started
 
Lecture 3 getting active through activities
Lecture 3 getting active through activities Lecture 3 getting active through activities
Lecture 3 getting active through activities
 
Day 5: Android User Interface [View Widgets]
Day 5: Android User Interface [View Widgets]Day 5: Android User Interface [View Widgets]
Day 5: Android User Interface [View Widgets]
 
Android Workshop Day 1 Part 2
Android Workshop Day 1 Part 2Android Workshop Day 1 Part 2
Android Workshop Day 1 Part 2
 
Action Bar Sherlock tutorial
Action Bar Sherlock tutorialAction Bar Sherlock tutorial
Action Bar Sherlock tutorial
 
Creating the first app with android studio
Creating the first app with android studioCreating the first app with android studio
Creating the first app with android studio
 
Day 4: Android: Getting Active through Activities
Day 4: Android: Getting Active through ActivitiesDay 4: Android: Getting Active through Activities
Day 4: Android: Getting Active through Activities
 
Day 2 android internals a quick overview
Day 2 android internals a quick overviewDay 2 android internals a quick overview
Day 2 android internals a quick overview
 
Day 8: Dealing with Lists and ListViews
Day 8: Dealing with Lists and ListViewsDay 8: Dealing with Lists and ListViews
Day 8: Dealing with Lists and ListViews
 
List Views
List ViewsList Views
List Views
 
Day 9: Make Your App Location Aware using Location API
Day 9: Make Your App Location Aware using Location APIDay 9: Make Your App Location Aware using Location API
Day 9: Make Your App Location Aware using Location API
 
Android User Interface Tutorial: DatePicker, TimePicker & Spinner
Android User Interface Tutorial: DatePicker, TimePicker & SpinnerAndroid User Interface Tutorial: DatePicker, TimePicker & Spinner
Android User Interface Tutorial: DatePicker, TimePicker & Spinner
 
Day: 1 Introduction to Mobile Application Development (in Android)
Day: 1 Introduction to Mobile Application Development (in Android)Day: 1 Introduction to Mobile Application Development (in Android)
Day: 1 Introduction to Mobile Application Development (in Android)
 
Android Workshop: Day 1 Part 3
Android Workshop: Day 1 Part 3Android Workshop: Day 1 Part 3
Android Workshop: Day 1 Part 3
 
Sensors in Android (old)
Sensors in Android (old)Sensors in Android (old)
Sensors in Android (old)
 
Android GPS Tutorial
Android GPS TutorialAndroid GPS Tutorial
Android GPS Tutorial
 
Training android
Training androidTraining android
Training android
 
Day 1 Android: Before Getting Started
Day 1 Android: Before Getting StartedDay 1 Android: Before Getting Started
Day 1 Android: Before Getting Started
 

Similar to Lecture 2(b) Android Internals A Quick Overview

Outstanding Improvement Award Outstanding Improvement Award
Outstanding Improvement Award Outstanding Improvement AwardOutstanding Improvement Award Outstanding Improvement Award
Outstanding Improvement Award Outstanding Improvement Awardpravinmali2191
 
Android seminar report
Android seminar reportAndroid seminar report
Android seminar reportdgpune
 
Android Development in a Nutshell
Android Development in a NutshellAndroid Development in a Nutshell
Android Development in a NutshellAleix Solé
 
Androidoverview 100405150711-phpapp01
Androidoverview 100405150711-phpapp01Androidoverview 100405150711-phpapp01
Androidoverview 100405150711-phpapp01Santosh Sh
 
Android Overview
Android OverviewAndroid Overview
Android OverviewRaju Kadam
 
Android - Workshop By Secure-Net Technologies
Android - Workshop By Secure-Net TechnologiesAndroid - Workshop By Secure-Net Technologies
Android - Workshop By Secure-Net TechnologiesNamita Mahajan
 
Android and its feature
Android and its featureAndroid and its feature
Android and its featureShubham Kumar
 
Unit 1-android-and-its-tools-ass
Unit 1-android-and-its-tools-assUnit 1-android-and-its-tools-ass
Unit 1-android-and-its-tools-assARVIND SARDAR
 
Android development-tutorial
Android development-tutorialAndroid development-tutorial
Android development-tutorialilias ahmed
 
Basic of Android App Development
Basic of Android App DevelopmentBasic of Android App Development
Basic of Android App DevelopmentAbhijeet Gupta
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to androidzeelpatel0504
 
Android interview questions and answers
Android interview questions and answersAndroid interview questions and answers
Android interview questions and answerskavinilavuG
 
Mobile Android and Network
Mobile Android and NetworkMobile Android and Network
Mobile Android and NetworkPadma Sankar
 

Similar to Lecture 2(b) Android Internals A Quick Overview (20)

Notes Unit2.pptx
Notes Unit2.pptxNotes Unit2.pptx
Notes Unit2.pptx
 
Outstanding Improvement Award Outstanding Improvement Award
Outstanding Improvement Award Outstanding Improvement AwardOutstanding Improvement Award Outstanding Improvement Award
Outstanding Improvement Award Outstanding Improvement Award
 
Android seminar report
Android seminar reportAndroid seminar report
Android seminar report
 
Cc4201519521
Cc4201519521Cc4201519521
Cc4201519521
 
Android Development in a Nutshell
Android Development in a NutshellAndroid Development in a Nutshell
Android Development in a Nutshell
 
Androidoverview 100405150711-phpapp01
Androidoverview 100405150711-phpapp01Androidoverview 100405150711-phpapp01
Androidoverview 100405150711-phpapp01
 
Aptech Apps
Aptech Apps Aptech Apps
Aptech Apps
 
Android Overview
Android OverviewAndroid Overview
Android Overview
 
Android - Workshop By Secure-Net Technologies
Android - Workshop By Secure-Net TechnologiesAndroid - Workshop By Secure-Net Technologies
Android - Workshop By Secure-Net Technologies
 
Android and its feature
Android and its featureAndroid and its feature
Android and its feature
 
Unit 1-android-and-its-tools-ass
Unit 1-android-and-its-tools-assUnit 1-android-and-its-tools-ass
Unit 1-android-and-its-tools-ass
 
Android development-tutorial
Android development-tutorialAndroid development-tutorial
Android development-tutorial
 
What is Android
What is Android What is Android
What is Android
 
Android Basic- CMC
Android Basic- CMCAndroid Basic- CMC
Android Basic- CMC
 
Basic of Android App Development
Basic of Android App DevelopmentBasic of Android App Development
Basic of Android App Development
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to android
 
Android interview questions and answers
Android interview questions and answersAndroid interview questions and answers
Android interview questions and answers
 
Mobile Android and Network
Mobile Android and NetworkMobile Android and Network
Mobile Android and Network
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to android
 
Android dev o_auth
Android dev o_authAndroid dev o_auth
Android dev o_auth
 

More from Ahsanul Karim

Lecture 5: Storage: Saving Data Database, Files & Preferences
Lecture 5: Storage: Saving Data Database, Files & PreferencesLecture 5: Storage: Saving Data Database, Files & Preferences
Lecture 5: Storage: Saving Data Database, Files & PreferencesAhsanul Karim
 
লেকচার ১ (ক)- শুরুর আগে:
লেকচার ১ (ক)- শুরুর আগে:লেকচার ১ (ক)- শুরুর আগে:
লেকচার ১ (ক)- শুরুর আগে:Ahsanul Karim
 
Day 15: Content Provider: Using Contacts API
Day 15: Content Provider: Using Contacts APIDay 15: Content Provider: Using Contacts API
Day 15: Content Provider: Using Contacts APIAhsanul Karim
 
Day 8: Dealing with Lists and ListViews
Day 8: Dealing with Lists and ListViewsDay 8: Dealing with Lists and ListViews
Day 8: Dealing with Lists and ListViewsAhsanul Karim
 
Day 4: Activity lifecycle
Day 4: Activity lifecycleDay 4: Activity lifecycle
Day 4: Activity lifecycleAhsanul Karim
 
Mobile Banking in Bangladesh: An Incomplete Study
Mobile Banking in Bangladesh: An Incomplete StudyMobile Banking in Bangladesh: An Incomplete Study
Mobile Banking in Bangladesh: An Incomplete StudyAhsanul Karim
 
Ui layout (incomplete)
Ui layout (incomplete)Ui layout (incomplete)
Ui layout (incomplete)Ahsanul Karim
 
Android before getting started
Android before getting startedAndroid before getting started
Android before getting startedAhsanul Karim
 
Introduction to Android Development: Before Getting Started
Introduction to Android Development: Before Getting StartedIntroduction to Android Development: Before Getting Started
Introduction to Android Development: Before Getting StartedAhsanul Karim
 

More from Ahsanul Karim (11)

Lecture 5: Storage: Saving Data Database, Files & Preferences
Lecture 5: Storage: Saving Data Database, Files & PreferencesLecture 5: Storage: Saving Data Database, Files & Preferences
Lecture 5: Storage: Saving Data Database, Files & Preferences
 
লেকচার ১ (ক)- শুরুর আগে:
লেকচার ১ (ক)- শুরুর আগে:লেকচার ১ (ক)- শুরুর আগে:
লেকচার ১ (ক)- শুরুর আগে:
 
Day 15: Content Provider: Using Contacts API
Day 15: Content Provider: Using Contacts APIDay 15: Content Provider: Using Contacts API
Day 15: Content Provider: Using Contacts API
 
Day 8: Dealing with Lists and ListViews
Day 8: Dealing with Lists and ListViewsDay 8: Dealing with Lists and ListViews
Day 8: Dealing with Lists and ListViews
 
Day 4: Activity lifecycle
Day 4: Activity lifecycleDay 4: Activity lifecycle
Day 4: Activity lifecycle
 
Mobile Banking in Bangladesh: An Incomplete Study
Mobile Banking in Bangladesh: An Incomplete StudyMobile Banking in Bangladesh: An Incomplete Study
Mobile Banking in Bangladesh: An Incomplete Study
 
Ui layout (incomplete)
Ui layout (incomplete)Ui layout (incomplete)
Ui layout (incomplete)
 
AndroidManifest
AndroidManifestAndroidManifest
AndroidManifest
 
Android before getting started
Android before getting startedAndroid before getting started
Android before getting started
 
Introduction to Android Development: Before Getting Started
Introduction to Android Development: Before Getting StartedIntroduction to Android Development: Before Getting Started
Introduction to Android Development: Before Getting Started
 
Client-Server
Client-ServerClient-Server
Client-Server
 

Recently uploaded

Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfAdmir Softic
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDThiyagu K
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
General AI for Medical Educators April 2024
General AI for Medical Educators April 2024General AI for Medical Educators April 2024
General AI for Medical Educators April 2024Janet Corral
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Disha Kariya
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room servicediscovermytutordmt
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...fonyou31
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 

Recently uploaded (20)

Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
General AI for Medical Educators April 2024
General AI for Medical Educators April 2024General AI for Medical Educators April 2024
General AI for Medical Educators April 2024
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room service
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 

Lecture 2(b) Android Internals A Quick Overview

  • 1. Android Application Development Lecture 2(B): Android Internals: A Quick Overview 1. What is Android 2. The Android Stack 3. Android SDK 4. Features of Android SDK 5. Application Build Process 6. How Apps Run Ahsanul Karim karim.ahsanul@gmail.com http://droidtraining.wordpress.com
  • 2. Android Internals: Overview 1. What is Android 2. The Android Stack 3. Android SDK 4. Features of Android SDK 5. Application Build Process 6. How Apps Run We'll Discuss...
  • 3. Android Internals: Overview What is Android... What is Android? An Open Platform for Mobile Applications Development The first truly open and comprehensive platform for mobile devices with all of the software to run a mobile phone but without the proprietary obstacles that have hindered mobile innovation - Andy Rubin A Software Stack for devices including mobiles, tablets and televisions with: 1. Operating System 2. Middleware 3. Key Applications
  • 5. Android Internals: Overview The Stack: Linux Kernel Android runs on Linux Kernel. Kernel provides: 1. Hardware Abstraction 2. Memory Management 3. Process Management 4. Networking Users never see this. [adb shell commands opens Linux.. will see it later...] The Android Stack [1]
  • 6. Android Internals: Overview The Stack: Native Libraries 1. Bionic, a fast and small GPLbased libc library 2. Surface Manager, window manager [off-screen buffering] 3. 2D+3D Graphics OpenGL 4. Media Codecs, offers support for audio/video codecs 5. SQLite Database Library 6. WebKit Library for better HTML rendering The Android Stack [2]
  • 7. Android Internals: Overview The Stack: Android Runtime Dalvik VM 1. Optimized 2. Small Memory Footprints 3. Register based Architecture 4. Security Model We'll discuss application build process later in this session The Android Stack [3]
  • 8. Android Internals: Overview The Stack: Application Framework 1. Activity Manager controls the lifecycle of the application 2. Resource Manager manages everything that is not the code 3. Location Manager figures out the location of the phone [GPS, GSM, WiFi] 4. Notification Manager for events such as arriving messages, appointments etc. The Android Stack [4]
  • 9. Android Internals: Overview The Stack: Applications Shipped Apps: Example: Email client, SMS program, Calendar, Maps, Browser, Contacts etc. Third Party Apps: This is where we are The Android Stack [5]
  • 11. Android Internals: Overview Android SDK [2] Includes everything required to Develop, Test & Debug Android APIs API Libraries provide developers access to the Android stack. Same libraries are used by Google for shipped application Development Tools Tools that are used to build applications from source files to executables. [dx, aapt etc] Emulator + AVD Manager Emulator running in ADVs to simulate device hardware configuration lets developers test applications Documentation Reference documentation and developer guide Sample Code Sample application source code for different features and API libraries Online Support http://developer.android.com + a vibrant developer community
  • 12. Android Internals: Overview SDK Features [1] Features/APIs Connectivity + Telephony GSM, EDGE, 3G, 4G and LTE Data Transfer+Calls and SMS Location API 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, compass, barometer etc. Bluetooth & NFC Peer to peer communication Wi-Fi Wi-Fi hardware access Storage SQLite Database
  • 13. Android Internals: Overview SDK Features [2] Features/APIs Shared Data Stores Shared Data Stores, APIs fr contacts, Social Networks, Calendar and Multimedia Background Services Support for Background Services and Processes MAP Controls Full support for map integration+controls Widgets Home-screen Widgets and Live Wallpaper WebKit Integrated HTML5 WebKit based browser OpenGL Mobile optimized hardware-accelerated 2D and 3D graphics support Localization Localization through dynamic resource framework Reuse Components Framework encourages reuse of application components
  • 15. Android Internals: Overview Build Process [2] Android Runtime .class file .class file .class file Manifest dx Tool .dex file Resources aapt .apk App Package
  • 16. Android Internals: Overview How Apps Run [1] The .apk file is installed on a device, and lives in its own security sandbox 1. Android OS- a multi-user Linux system in which each application is a different user. 2. System assigns each app a unique Linux user ID. The system sets permissions for all the files in an application so that only the user ID assigned to that application can access them. 3. Each process has its own VM, so app's code runs in isolation from other apps. 4. By default, every application runs in its own Linux process. Android starts the process when any of the application's components need to be executed, then shuts down the process when it's no longer needed/when the system must recover memory for other applications. In this way, the Android system implements the principle of least privilege.
  • 17. Android Internals: Overview How Apps Run [2] The .apk file is installed on a device, and lives in its own security sandbox Linux Kernel Linux Process Dalvik Virtual Machine Android Application
  • 18. Android Internals: Overview Questions... At the end of the day, the questions we ask of ourselves determine the type of people that we will become. -Leo Babauta