SlideShare a Scribd company logo
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
Ad

More Related Content

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
Ahsanul Karim
 
Android User Interface: Basic Form Widgets
Android User Interface: Basic Form WidgetsAndroid User Interface: Basic Form Widgets
Android User Interface: Basic Form Widgets
Ahsanul Karim
 
Android Services and Managers Basic
Android Services and Managers BasicAndroid Services and Managers Basic
Android Services and Managers Basic
William Lee
 
Synopsis on android application
Synopsis on android applicationSynopsis on android application
Synopsis on android application
Jawed akhtar
 
android app development training report
android app development training reportandroid app development training report
android app development training report
Rishita Jaggi
 
Getting Started With ANDROID
Getting Started With ANDROIDGetting Started With ANDROID
Getting Started With ANDROID
Amit Yadav
 
Introduction to Android App Development
Introduction to Android App DevelopmentIntroduction to Android App Development
Introduction to Android App Development
Todd Burgess
 
Android Synopsis
Android SynopsisAndroid Synopsis
Android Synopsis
Niraj Rahi
 
Android application development
Android application developmentAndroid application development
Android application development
MadhuprakashR1
 
Android presentation slide
Android presentation slideAndroid presentation slide
Android presentation slide
APSMIND TECHNOLOGY PVT LTD.
 
PPT Companion to Android
PPT Companion to AndroidPPT Companion to Android
PPT Companion to Android
Dharani Kumar Madduri
 
Synopsis on android nougat
Synopsis on android nougatSynopsis on android nougat
Synopsis on android nougat
Pooja Maan
 
Day 4: Android: UI Widgets
Day 4: Android: UI WidgetsDay 4: Android: UI Widgets
Day 4: Android: UI Widgets
Ahsanul 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 report
Shashendra Singh
 
Android MapView and MapActivity
Android MapView and MapActivityAndroid MapView and MapActivity
Android MapView and MapActivity
Ahsanul Karim
 
Android File Manager Report PDF
Android File Manager Report PDFAndroid File Manager Report PDF
Android File Manager Report PDF
Prajjwal Kumar
 
Intro To Android App Development
Intro To Android App DevelopmentIntro To Android App Development
Intro To Android App Development
Mike Kvintus
 
.Net presentation
.Net presentation.Net presentation
.Net presentation
Akhilesh Jaiswal
 
Android task manager project presentation
Android task manager project presentationAndroid task manager project presentation
Android task manager project presentation
Akhilesh Jaiswal
 
Day 3: Getting Active Through Activities
Day 3: Getting Active Through ActivitiesDay 3: Getting Active Through Activities
Day 3: Getting Active Through Activities
Ahsanul Karim
 
Android User Interface: Basic Form Widgets
Android User Interface: Basic Form WidgetsAndroid User Interface: Basic Form Widgets
Android User Interface: Basic Form Widgets
Ahsanul Karim
 
Android Services and Managers Basic
Android Services and Managers BasicAndroid Services and Managers Basic
Android Services and Managers Basic
William Lee
 
Synopsis on android application
Synopsis on android applicationSynopsis on android application
Synopsis on android application
Jawed akhtar
 
android app development training report
android app development training reportandroid app development training report
android app development training report
Rishita Jaggi
 
Getting Started With ANDROID
Getting Started With ANDROIDGetting Started With ANDROID
Getting Started With ANDROID
Amit Yadav
 
Introduction to Android App Development
Introduction to Android App DevelopmentIntroduction to Android App Development
Introduction to Android App Development
Todd Burgess
 
Android Synopsis
Android SynopsisAndroid Synopsis
Android Synopsis
Niraj Rahi
 
Android application development
Android application developmentAndroid application development
Android application development
MadhuprakashR1
 
Synopsis on android nougat
Synopsis on android nougatSynopsis on android nougat
Synopsis on android nougat
Pooja Maan
 
Day 4: Android: UI Widgets
Day 4: Android: UI WidgetsDay 4: Android: UI Widgets
Day 4: Android: UI Widgets
Ahsanul 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 report
Shashendra Singh
 
Android MapView and MapActivity
Android MapView and MapActivityAndroid MapView and MapActivity
Android MapView and MapActivity
Ahsanul Karim
 
Android File Manager Report PDF
Android File Manager Report PDFAndroid File Manager Report PDF
Android File Manager Report PDF
Prajjwal Kumar
 
Intro To Android App Development
Intro To Android App DevelopmentIntro To Android App Development
Intro To Android App Development
Mike Kvintus
 
Android task manager project presentation
Android task manager project presentationAndroid task manager project presentation
Android task manager project presentation
Akhilesh Jaiswal
 

Viewers also liked (20)

Mcq peresentation
Mcq  peresentationMcq  peresentation
Mcq peresentation
Shah Jalal Hridoy
 
GCM for Android
GCM for AndroidGCM for Android
GCM for Android
Ahsanul Karim
 
Day1 before getting_started
Day1 before getting_startedDay1 before getting_started
Day1 before getting_started
Ahsanul 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 2
Ahsanul Karim
 
Action Bar Sherlock tutorial
Action Bar Sherlock tutorialAction Bar Sherlock tutorial
Action Bar Sherlock tutorial
Ahsanul 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 studio
Parinita03
 
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
Ahsanul 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 overview
Ahsanul 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 ListViews
Ahsanul Karim
 
List Views
List ViewsList Views
List Views
Ahsanul 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 API
Ahsanul 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 & Spinner
Ahsanul 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 3
Ahsanul 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 Tutorial
Ahsanul Karim
 
Training android
Training androidTraining android
Training android
University of Technology
 
Day 1 Android: Before Getting Started
Day 1 Android: Before Getting StartedDay 1 Android: Before Getting Started
Day 1 Android: Before Getting Started
Ahsanul Karim
 
Day1 before getting_started
Day1 before getting_startedDay1 before getting_started
Day1 before getting_started
Ahsanul 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 2
Ahsanul Karim
 
Action Bar Sherlock tutorial
Action Bar Sherlock tutorialAction Bar Sherlock tutorial
Action Bar Sherlock tutorial
Ahsanul 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 studio
Parinita03
 
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
Ahsanul 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 overview
Ahsanul 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 ListViews
Ahsanul 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 API
Ahsanul 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 & Spinner
Ahsanul 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 3
Ahsanul 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 Tutorial
Ahsanul Karim
 
Day 1 Android: Before Getting Started
Day 1 Android: Before Getting StartedDay 1 Android: Before Getting Started
Day 1 Android: Before Getting Started
Ahsanul Karim
 
Ad

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

Notes Unit2.pptx
Notes Unit2.pptxNotes Unit2.pptx
Notes Unit2.pptx
MIT Autonomous Aurangabad
 
Outstanding Improvement Award Outstanding Improvement Award
Outstanding Improvement Award Outstanding Improvement AwardOutstanding Improvement Award Outstanding Improvement Award
Outstanding Improvement Award Outstanding Improvement Award
pravinmali2191
 
Android seminar report
Android seminar reportAndroid seminar report
Android seminar report
dgpune
 
Cc4201519521
Cc4201519521Cc4201519521
Cc4201519521
IJERA Editor
 
20IT601PE - Mobile Application Development PPT.pdf
20IT601PE - Mobile Application Development PPT.pdf20IT601PE - Mobile Application Development PPT.pdf
20IT601PE - Mobile Application Development PPT.pdf
vani15332
 
Android Development in a Nutshell
Android Development in a NutshellAndroid Development in a Nutshell
Android Development in a Nutshell
Aleix Solé
 
Androidoverview 100405150711-phpapp01
Androidoverview 100405150711-phpapp01Androidoverview 100405150711-phpapp01
Androidoverview 100405150711-phpapp01
Santosh Sh
 
Aptech Apps
Aptech Apps Aptech Apps
Aptech Apps
RasikaShinde6
 
Android Overview
Android OverviewAndroid Overview
Android Overview
Raju Kadam
 
Android - Workshop By Secure-Net Technologies
Android - Workshop By Secure-Net TechnologiesAndroid - Workshop By Secure-Net Technologies
Android - Workshop By Secure-Net Technologies
Namita Mahajan
 
Android and its feature
Android and its featureAndroid and its feature
Android and its feature
Shubham 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-ass
ARVIND SARDAR
 
Android development-tutorial
Android development-tutorialAndroid development-tutorial
Android development-tutorial
ilias ahmed
 
What is Android
What is Android What is Android
What is Android
SanjayKumar330366
 
Android Basic- CMC
Android Basic- CMCAndroid Basic- CMC
Android Basic- CMC
Pragati Singh
 
Basic of Android App Development
Basic of Android App DevelopmentBasic of Android App Development
Basic of Android App Development
Abhijeet Gupta
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to android
zeelpatel0504
 
Android interview questions and answers
Android interview questions and answersAndroid interview questions and answers
Android interview questions and answers
kavinilavuG
 
Mobile Android and Network
Mobile Android and NetworkMobile Android and Network
Mobile Android and Network
Padma Sankar
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to android
Aravindharamanan S
 
Outstanding Improvement Award Outstanding Improvement Award
Outstanding Improvement Award Outstanding Improvement AwardOutstanding Improvement Award Outstanding Improvement Award
Outstanding Improvement Award Outstanding Improvement Award
pravinmali2191
 
Android seminar report
Android seminar reportAndroid seminar report
Android seminar report
dgpune
 
20IT601PE - Mobile Application Development PPT.pdf
20IT601PE - Mobile Application Development PPT.pdf20IT601PE - Mobile Application Development PPT.pdf
20IT601PE - Mobile Application Development PPT.pdf
vani15332
 
Android Development in a Nutshell
Android Development in a NutshellAndroid Development in a Nutshell
Android Development in a Nutshell
Aleix Solé
 
Androidoverview 100405150711-phpapp01
Androidoverview 100405150711-phpapp01Androidoverview 100405150711-phpapp01
Androidoverview 100405150711-phpapp01
Santosh Sh
 
Android Overview
Android OverviewAndroid Overview
Android Overview
Raju Kadam
 
Android - Workshop By Secure-Net Technologies
Android - Workshop By Secure-Net TechnologiesAndroid - Workshop By Secure-Net Technologies
Android - Workshop By Secure-Net Technologies
Namita Mahajan
 
Android and its feature
Android and its featureAndroid and its feature
Android and its feature
Shubham 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-ass
ARVIND SARDAR
 
Android development-tutorial
Android development-tutorialAndroid development-tutorial
Android development-tutorial
ilias ahmed
 
Basic of Android App Development
Basic of Android App DevelopmentBasic of Android App Development
Basic of Android App Development
Abhijeet Gupta
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to android
zeelpatel0504
 
Android interview questions and answers
Android interview questions and answersAndroid interview questions and answers
Android interview questions and answers
kavinilavuG
 
Mobile Android and Network
Mobile Android and NetworkMobile Android and Network
Mobile Android and Network
Padma Sankar
 
Ad

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
Ahsanul 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 API
Ahsanul 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 ListViews
Ahsanul Karim
 
Day 4: Activity lifecycle
Day 4: Activity lifecycleDay 4: Activity lifecycle
Day 4: Activity lifecycle
Ahsanul 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 Study
Ahsanul Karim
 
Ui layout (incomplete)
Ui layout (incomplete)Ui layout (incomplete)
Ui layout (incomplete)
Ahsanul Karim
 
AndroidManifest
AndroidManifestAndroidManifest
AndroidManifest
Ahsanul Karim
 
Android before getting started
Android before getting startedAndroid before getting started
Android before getting started
Ahsanul 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 Started
Ahsanul Karim
 
Client-Server
Client-ServerClient-Server
Client-Server
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 & Preferences
Ahsanul 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 API
Ahsanul 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 ListViews
Ahsanul Karim
 
Day 4: Activity lifecycle
Day 4: Activity lifecycleDay 4: Activity lifecycle
Day 4: Activity lifecycle
Ahsanul 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 Study
Ahsanul 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 started
Ahsanul 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 Started
Ahsanul Karim
 

Recently uploaded (20)

Ultimate VMware 2V0-11.25 Exam Dumps for Exam Success
Ultimate VMware 2V0-11.25 Exam Dumps for Exam SuccessUltimate VMware 2V0-11.25 Exam Dumps for Exam Success
Ultimate VMware 2V0-11.25 Exam Dumps for Exam Success
Mark Soia
 
The ever evoilving world of science /7th class science curiosity /samyans aca...
The ever evoilving world of science /7th class science curiosity /samyans aca...The ever evoilving world of science /7th class science curiosity /samyans aca...
The ever evoilving world of science /7th class science curiosity /samyans aca...
Sandeep Swamy
 
Multi-currency in odoo accounting and Update exchange rates automatically in ...
Multi-currency in odoo accounting and Update exchange rates automatically in ...Multi-currency in odoo accounting and Update exchange rates automatically in ...
Multi-currency in odoo accounting and Update exchange rates automatically in ...
Celine George
 
Unit 4: Long term- Capital budgeting and its types
Unit 4: Long term- Capital budgeting and its typesUnit 4: Long term- Capital budgeting and its types
Unit 4: Long term- Capital budgeting and its types
bharath321164
 
Understanding P–N Junction Semiconductors: A Beginner’s Guide
Understanding P–N Junction Semiconductors: A Beginner’s GuideUnderstanding P–N Junction Semiconductors: A Beginner’s Guide
Understanding P–N Junction Semiconductors: A Beginner’s Guide
GS Virdi
 
Odoo Inventory Rules and Routes v17 - Odoo Slides
Odoo Inventory Rules and Routes v17 - Odoo SlidesOdoo Inventory Rules and Routes v17 - Odoo Slides
Odoo Inventory Rules and Routes v17 - Odoo Slides
Celine George
 
Unit 5: Dividend Decisions and its theories
Unit 5: Dividend Decisions and its theoriesUnit 5: Dividend Decisions and its theories
Unit 5: Dividend Decisions and its theories
bharath321164
 
Metamorphosis: Life's Transformative Journey
Metamorphosis: Life's Transformative JourneyMetamorphosis: Life's Transformative Journey
Metamorphosis: Life's Transformative Journey
Arshad Shaikh
 
Social Problem-Unemployment .pptx notes for Physiotherapy Students
Social Problem-Unemployment .pptx notes for Physiotherapy StudentsSocial Problem-Unemployment .pptx notes for Physiotherapy Students
Social Problem-Unemployment .pptx notes for Physiotherapy Students
DrNidhiAgarwal
 
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Library Association of Ireland
 
Fundamentals of PR: Wk 4 - Strategic Communications
Fundamentals of PR: Wk 4 - Strategic CommunicationsFundamentals of PR: Wk 4 - Strategic Communications
Fundamentals of PR: Wk 4 - Strategic Communications
Jordan Williams
 
To study the nervous system of insect.pptx
To study the nervous system of insect.pptxTo study the nervous system of insect.pptx
To study the nervous system of insect.pptx
Arshad Shaikh
 
Open Access: Revamping Library Learning Resources.
Open Access: Revamping Library Learning Resources.Open Access: Revamping Library Learning Resources.
Open Access: Revamping Library Learning Resources.
Rishi Bankim Chandra Evening College, Naihati, North 24 Parganas, West Bengal, India
 
SPRING FESTIVITIES - UK AND USA -
SPRING FESTIVITIES - UK AND USA            -SPRING FESTIVITIES - UK AND USA            -
SPRING FESTIVITIES - UK AND USA -
Colégio Santa Teresinha
 
Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...
Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...
Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...
Library Association of Ireland
 
Presentation of the MIPLM subject matter expert Erdem Kaya
Presentation of the MIPLM subject matter expert Erdem KayaPresentation of the MIPLM subject matter expert Erdem Kaya
Presentation of the MIPLM subject matter expert Erdem Kaya
MIPLM
 
K12 Tableau Tuesday - Algebra Equity and Access in Atlanta Public Schools
K12 Tableau Tuesday  - Algebra Equity and Access in Atlanta Public SchoolsK12 Tableau Tuesday  - Algebra Equity and Access in Atlanta Public Schools
K12 Tableau Tuesday - Algebra Equity and Access in Atlanta Public Schools
dogden2
 
Introduction to Vibe Coding and Vibe Engineering
Introduction to Vibe Coding and Vibe EngineeringIntroduction to Vibe Coding and Vibe Engineering
Introduction to Vibe Coding and Vibe Engineering
Damian T. Gordon
 
High Performance Liquid Chromatography .pptx
High Performance Liquid Chromatography .pptxHigh Performance Liquid Chromatography .pptx
High Performance Liquid Chromatography .pptx
Ayush Srivastava
 
Envenomation---Clinical Toxicology. pptx
Envenomation---Clinical Toxicology. pptxEnvenomation---Clinical Toxicology. pptx
Envenomation---Clinical Toxicology. pptx
rekhapositivity
 
Ultimate VMware 2V0-11.25 Exam Dumps for Exam Success
Ultimate VMware 2V0-11.25 Exam Dumps for Exam SuccessUltimate VMware 2V0-11.25 Exam Dumps for Exam Success
Ultimate VMware 2V0-11.25 Exam Dumps for Exam Success
Mark Soia
 
The ever evoilving world of science /7th class science curiosity /samyans aca...
The ever evoilving world of science /7th class science curiosity /samyans aca...The ever evoilving world of science /7th class science curiosity /samyans aca...
The ever evoilving world of science /7th class science curiosity /samyans aca...
Sandeep Swamy
 
Multi-currency in odoo accounting and Update exchange rates automatically in ...
Multi-currency in odoo accounting and Update exchange rates automatically in ...Multi-currency in odoo accounting and Update exchange rates automatically in ...
Multi-currency in odoo accounting and Update exchange rates automatically in ...
Celine George
 
Unit 4: Long term- Capital budgeting and its types
Unit 4: Long term- Capital budgeting and its typesUnit 4: Long term- Capital budgeting and its types
Unit 4: Long term- Capital budgeting and its types
bharath321164
 
Understanding P–N Junction Semiconductors: A Beginner’s Guide
Understanding P–N Junction Semiconductors: A Beginner’s GuideUnderstanding P–N Junction Semiconductors: A Beginner’s Guide
Understanding P–N Junction Semiconductors: A Beginner’s Guide
GS Virdi
 
Odoo Inventory Rules and Routes v17 - Odoo Slides
Odoo Inventory Rules and Routes v17 - Odoo SlidesOdoo Inventory Rules and Routes v17 - Odoo Slides
Odoo Inventory Rules and Routes v17 - Odoo Slides
Celine George
 
Unit 5: Dividend Decisions and its theories
Unit 5: Dividend Decisions and its theoriesUnit 5: Dividend Decisions and its theories
Unit 5: Dividend Decisions and its theories
bharath321164
 
Metamorphosis: Life's Transformative Journey
Metamorphosis: Life's Transformative JourneyMetamorphosis: Life's Transformative Journey
Metamorphosis: Life's Transformative Journey
Arshad Shaikh
 
Social Problem-Unemployment .pptx notes for Physiotherapy Students
Social Problem-Unemployment .pptx notes for Physiotherapy StudentsSocial Problem-Unemployment .pptx notes for Physiotherapy Students
Social Problem-Unemployment .pptx notes for Physiotherapy Students
DrNidhiAgarwal
 
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Library Association of Ireland
 
Fundamentals of PR: Wk 4 - Strategic Communications
Fundamentals of PR: Wk 4 - Strategic CommunicationsFundamentals of PR: Wk 4 - Strategic Communications
Fundamentals of PR: Wk 4 - Strategic Communications
Jordan Williams
 
To study the nervous system of insect.pptx
To study the nervous system of insect.pptxTo study the nervous system of insect.pptx
To study the nervous system of insect.pptx
Arshad Shaikh
 
Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...
Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...
Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...
Library Association of Ireland
 
Presentation of the MIPLM subject matter expert Erdem Kaya
Presentation of the MIPLM subject matter expert Erdem KayaPresentation of the MIPLM subject matter expert Erdem Kaya
Presentation of the MIPLM subject matter expert Erdem Kaya
MIPLM
 
K12 Tableau Tuesday - Algebra Equity and Access in Atlanta Public Schools
K12 Tableau Tuesday  - Algebra Equity and Access in Atlanta Public SchoolsK12 Tableau Tuesday  - Algebra Equity and Access in Atlanta Public Schools
K12 Tableau Tuesday - Algebra Equity and Access in Atlanta Public Schools
dogden2
 
Introduction to Vibe Coding and Vibe Engineering
Introduction to Vibe Coding and Vibe EngineeringIntroduction to Vibe Coding and Vibe Engineering
Introduction to Vibe Coding and Vibe Engineering
Damian T. Gordon
 
High Performance Liquid Chromatography .pptx
High Performance Liquid Chromatography .pptxHigh Performance Liquid Chromatography .pptx
High Performance Liquid Chromatography .pptx
Ayush Srivastava
 
Envenomation---Clinical Toxicology. pptx
Envenomation---Clinical Toxicology. pptxEnvenomation---Clinical Toxicology. pptx
Envenomation---Clinical Toxicology. pptx
rekhapositivity
 

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 [email protected] 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