SlideShare a Scribd company logo
Android Development Workshop Part - 1
Ritesh Ambastha
Rajnikant Joshi
                            12th March
What is Android?
• Android is a mobile phone
  operating system developed by
  Google.

• Android is unique because
  Google is actively developing
  the platform by giving it away
  for     free   to     hardware
  manufacturers and phone
  carriers who want to use
  Android on their devices.
Open Handset Alliance
(OHA)
  • Google formed a group of
    hardware,     software,      and
    telecommunication companies
    called the Open Handset Alliance
    with the goal of contributing to
    Android development.

  • Most members also have the
    goal of making money from
    Android, either by selling phones,
    phone service, or mobile
    applications.
SDK and Android
Market Place
       • Anyone can download the SDK (software
         development kit) and write applications for
         Android phones. Google doesn't take part of
         the profits.

       • These apps can be downloaded from
         the Android Market Place. If the app costs
         money, you pay for it using Google Checkout.
Google Services
 • Because     Google       developed
   Android, it comes with a lot of
   Google services installed right out
   of the box.

 • Gmail, Google Calendar, and
   Google Web search are all pre-
   installed, and Google is also the
   default Web page for the Web
   browser.
Introduction to Android
Platform
   • Android is an open software platform for mobile development.
     It’s intended to be a complete stack that includes everything
     from the Operating System through middleware up through
     applications.
Android Architecture
• If I'm going to talk about architecture, we need to start with a
  diagram covered with a lot of little boxes.
Linux Kernel



• The architecture is based on the Linux 2.6 kernel. Android
  use Linux kernel as its hardware abstraction layer.
• The reason they're using Linux is because it provides a
  proven driver model in a lot of cases existing drivers.
• It also provides memory management, process
  management, a security model, and networking,
  a lot of core operating system infrastructures that are
  robust and have been proven over time.
Native Libraries



• The next level up is the native libraries.
  Everything that you see here in green is
  written in C and C++.
• It's at this level where a lot of the core power
  of the Android platform comes from.
Native Libraries:
   Surface Manager



• The surface manager is responsible for composing different
  drawing surfaces onto the screen.
• So it's the surface manager that's responsible for taking
  different windows that are owned by different applications
  that are running in different processes and all drawing at
  different times and making sure the pixels end up on the
  screen when they're supposed to.
Native Libraries:
OpenGL|ES and SGL



• OpenGL/ES is a 3D library.
• They have a software implementation that is hardware
  acceleratable if the device has a 3D chip on it.
• The SGL graphics are for 2D graphics and that is what most of the
  application drawing is based on.
• One interesting thing about the Android graphics platform is that
  you can combine 3D and 2D graphics in the same application.
Native Libraries:
 Media Framework




• The Media Framework was provided by PacketVideo, one of
  the members of the open handset alliance and that contains
  the entire codex that make up the core of the media
  experiences.
• So, in there you'll find IMPEG 4, H.264, MP3, AAC, all the
  audio and video codex you need to build a rich media
  experience.
Native Libraries:
 FreeType & SQLite



• FreeType
  • They use FreeType to render our fonts. FreeType is
    a free, high-quality and portable font engine.
• SQLite
  • They have an implementation of SQLite, it uses
    that as the core of most of its data storage.
Native Libraries:
WebKit




• They have WebKit which is the open source browser
  engine, that's what they're using as a core of
  Android’s browser.
• It's the same browser that's powering Safari from
  Apple and they’ve worked with that engine to make
  it render well on small screens and on mobile
  devices.
Android Run Time



• The Android Runtime was designed specifically for Android to meet
  the needs of running in an embedded environment where you have
  limited battery, limited memory, limited CPU.
• The DVM runs something called dex files, D-E-X. and these are
  bytecodes that are the results of converting at build time .Class and
  .JAR Files.
• So, these files when they are converted to .dex, become a much
  more efficient bytecode that can run very well on small processors.
  They use memory very efficiently.
Android Run Time



• The next level up from that is the Core Libraries.
• This is in blue, meaning that it's written in the Java
  programming language.
• And the core library contains all of the collection classes,
  utilities, IO, all the utilities and tools that you’ve come to
  expected to use.
Application Framework




 • This is all written in a Java programming language and the
   application framework is the toolkit that all applications use.
 • These applications include the ones that come with a phone
   like the home applications, or the phone application.
 • It includes applications written by Google, and it includes apps
   that will be written by you.
 • So, all apps use the same framework and the same APIs.
Application Framework



 • Activity Manager
   • The Activity manager is what manages the life cycle of the applications. It
     also maintains a common backstack so that application that is running in
     different processes can have a smoothly integrated navigation experience.
 • Package Manager
   • The package manager is what keeps track of which applications are
     installed on your device. So, if you download new applications over the air
     or otherwise install apps, it's the package manager that's responsible for
     keeping track of what you have and what the capabilities of each of your
     applications are.
Application Framework



• Window Manager
  • The window manager manages Windows. It's mostly a java
    programming language abstraction on top of lower level services that
    are provided by the surface manager.
• Telephony Manager
  • The telephony manager contains the APIs that we use to build the
    phone application that's central to the phone experience.
Application Framework




• Content Providers
  • Content providers are a unique piece of the Android platform. That's
    the framework that allows applications to share their data with other
    applications.
• The View system
  • View System contains things like buttons and lists, all the building
    blocks of the UI. It also handles things like event dispatching, layout
    drawing, .
Application Framework




• The resource manager is what they use to store local iStrings,
  bitmaps, layout file descriptions, all of the external parts of an
  application that aren't code.
• Location manager, notification manager and XMPP service
  are some APIs that I think will allow developers to create
  really innovative and exciting applications.
Applications




• And the final layer on top is Applications.
• This is where all the applications get written.
• It includes the home application, the contacts application, the
  browser, and your apps.
• And everything at this layer is, again, using the same app
  framework provided by the layers below.
Android Workshop Part 1
Application
             Building Blocks
• Now, if you're going to write an app, the first step is to
  decompose it into the components that are supported by
  the Android platform.
                         • UI component typically corresponding to one
         Activity          screen.

                         • Responds to notification or status changes. Can
     Intent Receiver       wake up your process.


         Service         • Faceless task that runs in the background.


    Content Provider     • Enable applications to share data
Application
              Building Blocks

                            Activity

• An activity is essentially just a piece of UI typically corresponding to
  one screen.
• So if you think of something like the mail application, that would
  be decomposed into maybe three major activities, something that
  lists your mail, something that shows you what an individual
  message and a compose screen to put together an outgoing email.
Application
             Building Blocks
              Intent Receiver

• An intent receiver is a way for which your
  application to register some code that won't
  be running until it's triggered by some
  external event.
• And the set of external events that triggers
  your code is open and extensible.
Application
               Building Blocks
                      Service

• A service is a task that doesn't have any UI, that's
  long lived, that's running in the background.
• A good example is a music player. You may start
  playing music from an activity, from a piece of UI,
  but once the music is playing, you'd want it to
  keep playing even if you're navigating to other
  parts of the user experience.
Application
                    Building Blocks
                     Content Provider

• It is a component that allows you to share some of your data with
  other processes and other applications.
• Now, any application can store data in whatever may-way it makes
  sense for that application.
  • They can store it in the files.
  • They can store it in Android’s super light database, whatever makes
    sense.
Application Lifecycle
 • Applications run in their own processes
 • Processes are started and stopped as
   needed to run an application's components
 • Processes may be killed to reclaim resources
  • In android, every application runs in its own process. There's a lot of
    benefits to this. It gives you security, protected memory. It means
    that an application is doing something CPU intensive, won't block
    other critical activities, like, answering a phone.

  • So all applications are running in their own processes and the
    Android System itself is responsible for starting these proecesses and
    shutting them down as necessary to reclaim resources.
Application Lifecycle
Installations
       &
Configuration

            Next PPT…

More Related Content

What's hot (20)

PPTX
Google I/O 2019 - what's new in Android Q and Jetpack
Sunita Singh
 
PPTX
Android study jam session 1
DSCIIITLucknow
 
PPTX
Android Study Jams Session 01
DSC BIT Mesra
 
PPTX
Vit bhopal android study jams 2.0 session 1
ishik1
 
PPTX
Android development-tutorial
ilias ahmed
 
PPTX
Building your Own Mobile Enterprise Application: It’s Not as Hard as You Migh...
Jason Conger
 
PPTX
Android Study Jams - Induction
GDSCAISSMSIOIT
 
PDF
Android study jams
GDSCIIITR
 
PPT
Intro to Android Programming
Peter van der Linden
 
PPTX
Introduction to Android and Android Studio
Suyash Srijan
 
PPTX
Android Study Jam - Info Session
AITIKDANDAPAT
 
PPTX
Android game ppt
AbinashranaSingh
 
PDF
Android tutorial
master760
 
PPTX
Experience The Best Android Programming Training Here | LW India
VishakhaTalmale
 
PPTX
Android Studio Overview
Salim Hosen
 
PPTX
Android development
Raynax668
 
PPTX
Android Programming made easy
Lars Vogel
 
PDF
Android Study Jam 2021 Session 4 slides
Boston Android
 
PPTX
Android development training
maheswarimahi18
 
PPT
Android overview
Alexey Ustenko
 
Google I/O 2019 - what's new in Android Q and Jetpack
Sunita Singh
 
Android study jam session 1
DSCIIITLucknow
 
Android Study Jams Session 01
DSC BIT Mesra
 
Vit bhopal android study jams 2.0 session 1
ishik1
 
Android development-tutorial
ilias ahmed
 
Building your Own Mobile Enterprise Application: It’s Not as Hard as You Migh...
Jason Conger
 
Android Study Jams - Induction
GDSCAISSMSIOIT
 
Android study jams
GDSCIIITR
 
Intro to Android Programming
Peter van der Linden
 
Introduction to Android and Android Studio
Suyash Srijan
 
Android Study Jam - Info Session
AITIKDANDAPAT
 
Android game ppt
AbinashranaSingh
 
Android tutorial
master760
 
Experience The Best Android Programming Training Here | LW India
VishakhaTalmale
 
Android Studio Overview
Salim Hosen
 
Android development
Raynax668
 
Android Programming made easy
Lars Vogel
 
Android Study Jam 2021 Session 4 slides
Boston Android
 
Android development training
maheswarimahi18
 
Android overview
Alexey Ustenko
 

Viewers also liked (12)

PPT
Catégorisation automatisée de contenus documentaires : la ...
butest
 
PDF
Introduction to Android by Demian Neidetcher
Matthew McCullough
 
PPTX
Introduction of Android Camera1
Booch Lin
 
PDF
Working with Android TV - English
Pedro Vicente Gómez Sánchez
 
PPT
Sistemas operativos para dispositivos móviles
Koldo Parra
 
PPT
Tv ppt
준 윤
 
PPT
Television ppt
Anirban Mandal
 
PPTX
Mobile handests ppt
Sai Charan Namthabad
 
PPTX
Television
miraclecln
 
PPTX
Presentation on Android operating system
Salma Begum
 
PPTX
Presentation on mobile phones
sirtwinkles
 
PPTX
Mobile ppt
rajnishkumar90
 
Catégorisation automatisée de contenus documentaires : la ...
butest
 
Introduction to Android by Demian Neidetcher
Matthew McCullough
 
Introduction of Android Camera1
Booch Lin
 
Working with Android TV - English
Pedro Vicente Gómez Sánchez
 
Sistemas operativos para dispositivos móviles
Koldo Parra
 
Tv ppt
준 윤
 
Television ppt
Anirban Mandal
 
Mobile handests ppt
Sai Charan Namthabad
 
Television
miraclecln
 
Presentation on Android operating system
Salma Begum
 
Presentation on mobile phones
sirtwinkles
 
Mobile ppt
rajnishkumar90
 
Ad

Similar to Android Workshop Part 1 (20)

PPTX
architecture of android.pptx
allurestore
 
PDF
Android fundamentals and tutorial for beginners
Boom Shukla
 
PPTX
Android 1-intro n architecture
Dilip Singh
 
PPT
UPDATED Application fundamentals lec 1 &2.ppt
alizairam3
 
PDF
Wifi Direct Based Chat And File Transfer Android Application
Nitin Bhasin
 
PPTX
01. Introduction to Android_lecture1.pptx
anychowdhury2
 
PDF
Android development training programme Day 1
DHIRAJ PRAVIN
 
PPTX
Android quick talk
SenthilKumar Selvaraj
 
DOCX
Android architecture
Hari Krishna
 
PPT
Android overview
Has Taiar
 
PDF
Android : Architecture & Components
Akash Bisariya
 
PPT
Android architecture
Deepa Rahul
 
PPTX
Android basic principles
Henk Laracker
 
PDF
Android Introduction by Kajal
Kajal Kucheriya Jain
 
PPTX
OS in mobile devices [Android]
Yatharth Aggarwal
 
PDF
20IT601PE - Mobile Application Development PPT.pdf
vani15332
 
PPT
Android Basics
Krushnakant Solanki
 
PPT
Android Anatomy
Bhavya Siddappa
 
PPT
My androidpresentation
niteshnarayanlal
 
PPT
Introduction to android sessions new
Joe Jacob
 
architecture of android.pptx
allurestore
 
Android fundamentals and tutorial for beginners
Boom Shukla
 
Android 1-intro n architecture
Dilip Singh
 
UPDATED Application fundamentals lec 1 &2.ppt
alizairam3
 
Wifi Direct Based Chat And File Transfer Android Application
Nitin Bhasin
 
01. Introduction to Android_lecture1.pptx
anychowdhury2
 
Android development training programme Day 1
DHIRAJ PRAVIN
 
Android quick talk
SenthilKumar Selvaraj
 
Android architecture
Hari Krishna
 
Android overview
Has Taiar
 
Android : Architecture & Components
Akash Bisariya
 
Android architecture
Deepa Rahul
 
Android basic principles
Henk Laracker
 
Android Introduction by Kajal
Kajal Kucheriya Jain
 
OS in mobile devices [Android]
Yatharth Aggarwal
 
20IT601PE - Mobile Application Development PPT.pdf
vani15332
 
Android Basics
Krushnakant Solanki
 
Android Anatomy
Bhavya Siddappa
 
My androidpresentation
niteshnarayanlal
 
Introduction to android sessions new
Joe Jacob
 
Ad

More from NAILBITER (20)

PPTX
Social Media Strategies
NAILBITER
 
PPTX
jQuery for Beginners
NAILBITER
 
PPTX
GBGahmedabad - Create your Business Website
NAILBITER
 
PPTX
Mapathon 2013 - Google Maps Javascript API
NAILBITER
 
PDF
Cloud Workshop - Presentation
NAILBITER
 
PDF
Cloud Computing
NAILBITER
 
PPTX
iWillStudy.com - Light Pitch
NAILBITER
 
PPTX
Cloud Summit Ahmedabad
NAILBITER
 
PPTX
Android Fundamentals & Figures of 2012
NAILBITER
 
PPTX
The iPhone development on windows
NAILBITER
 
PDF
Ambastha EduTech Pvt Ltd
NAILBITER
 
PPTX
Branding
NAILBITER
 
PPTX
Advertising
NAILBITER
 
PPTX
Develop open source search engine
NAILBITER
 
PDF
Location based solutions maps & your location
NAILBITER
 
PDF
Html5 workshop part 1
NAILBITER
 
PDF
Android Workshop - Session 2
NAILBITER
 
PDF
Android Workshop Session 1
NAILBITER
 
PDF
Linux Seminar for Beginners
NAILBITER
 
PDF
Linux advanced concepts - Part 2
NAILBITER
 
Social Media Strategies
NAILBITER
 
jQuery for Beginners
NAILBITER
 
GBGahmedabad - Create your Business Website
NAILBITER
 
Mapathon 2013 - Google Maps Javascript API
NAILBITER
 
Cloud Workshop - Presentation
NAILBITER
 
Cloud Computing
NAILBITER
 
iWillStudy.com - Light Pitch
NAILBITER
 
Cloud Summit Ahmedabad
NAILBITER
 
Android Fundamentals & Figures of 2012
NAILBITER
 
The iPhone development on windows
NAILBITER
 
Ambastha EduTech Pvt Ltd
NAILBITER
 
Branding
NAILBITER
 
Advertising
NAILBITER
 
Develop open source search engine
NAILBITER
 
Location based solutions maps & your location
NAILBITER
 
Html5 workshop part 1
NAILBITER
 
Android Workshop - Session 2
NAILBITER
 
Android Workshop Session 1
NAILBITER
 
Linux Seminar for Beginners
NAILBITER
 
Linux advanced concepts - Part 2
NAILBITER
 

Recently uploaded (20)

PPTX
infertility, types,causes, impact, and management
Ritu480198
 
PPTX
Identifying elements in the story. Arrange the events in the story
geraldineamahido2
 
PDF
Governor Josh Stein letter to NC delegation of U.S. House
Mebane Rash
 
PPTX
TRANSLATIONAL AND ROTATIONAL MOTION.pptx
KIPAIZAGABAWA1
 
PPTX
How to Create Odoo JS Dialog_Popup in Odoo 18
Celine George
 
PPTX
Introduction to Indian Writing in English
Trushali Dodiya
 
PPTX
DAY 1_QUARTER1 ENGLISH 5 WEEK- PRESENTATION.pptx
BanyMacalintal
 
PPTX
PPT-Q1-WEEK-3-SCIENCE-ERevised Matatag Grade 3.pptx
reijhongidayawan02
 
PPTX
How to Configure Re-Ordering From Portal in Odoo 18 Website
Celine George
 
PPTX
EDUCATIONAL MEDIA/ TEACHING AUDIO VISUAL AIDS
Sonali Gupta
 
PPTX
Nitrogen rule, ring rule, mc lafferty.pptx
nbisen2001
 
PDF
Chapter-V-DED-Entrepreneurship: Institutions Facilitating Entrepreneurship
Dayanand Huded
 
PDF
STATEMENT-BY-THE-HON.-MINISTER-FOR-HEALTH-ON-THE-COVID-19-OUTBREAK-AT-UG_revi...
nservice241
 
PDF
The Constitution Review Committee (CRC) has released an updated schedule for ...
nservice241
 
PPTX
PPT-Q1-WK-3-ENGLISH Revised Matatag Grade 3.pptx
reijhongidayawan02
 
PDF
Vani - The Voice of Excellence - Jul 2025 issue
Savipriya Raghavendra
 
PDF
The History of Phone Numbers in Stoke Newington by Billy Thomas
History of Stoke Newington
 
PPTX
Difference between write and update in odoo 18
Celine George
 
PDF
Characteristics, Strengths and Weaknesses of Quantitative Research.pdf
Thelma Villaflores
 
PDF
Android Programming - Basics of Mobile App, App tools and Android Basics
Kavitha P.V
 
infertility, types,causes, impact, and management
Ritu480198
 
Identifying elements in the story. Arrange the events in the story
geraldineamahido2
 
Governor Josh Stein letter to NC delegation of U.S. House
Mebane Rash
 
TRANSLATIONAL AND ROTATIONAL MOTION.pptx
KIPAIZAGABAWA1
 
How to Create Odoo JS Dialog_Popup in Odoo 18
Celine George
 
Introduction to Indian Writing in English
Trushali Dodiya
 
DAY 1_QUARTER1 ENGLISH 5 WEEK- PRESENTATION.pptx
BanyMacalintal
 
PPT-Q1-WEEK-3-SCIENCE-ERevised Matatag Grade 3.pptx
reijhongidayawan02
 
How to Configure Re-Ordering From Portal in Odoo 18 Website
Celine George
 
EDUCATIONAL MEDIA/ TEACHING AUDIO VISUAL AIDS
Sonali Gupta
 
Nitrogen rule, ring rule, mc lafferty.pptx
nbisen2001
 
Chapter-V-DED-Entrepreneurship: Institutions Facilitating Entrepreneurship
Dayanand Huded
 
STATEMENT-BY-THE-HON.-MINISTER-FOR-HEALTH-ON-THE-COVID-19-OUTBREAK-AT-UG_revi...
nservice241
 
The Constitution Review Committee (CRC) has released an updated schedule for ...
nservice241
 
PPT-Q1-WK-3-ENGLISH Revised Matatag Grade 3.pptx
reijhongidayawan02
 
Vani - The Voice of Excellence - Jul 2025 issue
Savipriya Raghavendra
 
The History of Phone Numbers in Stoke Newington by Billy Thomas
History of Stoke Newington
 
Difference between write and update in odoo 18
Celine George
 
Characteristics, Strengths and Weaknesses of Quantitative Research.pdf
Thelma Villaflores
 
Android Programming - Basics of Mobile App, App tools and Android Basics
Kavitha P.V
 

Android Workshop Part 1

  • 1. Android Development Workshop Part - 1 Ritesh Ambastha Rajnikant Joshi 12th March
  • 2. What is Android? • Android is a mobile phone operating system developed by Google. • Android is unique because Google is actively developing the platform by giving it away for free to hardware manufacturers and phone carriers who want to use Android on their devices.
  • 3. Open Handset Alliance (OHA) • Google formed a group of hardware, software, and telecommunication companies called the Open Handset Alliance with the goal of contributing to Android development. • Most members also have the goal of making money from Android, either by selling phones, phone service, or mobile applications.
  • 4. SDK and Android Market Place • Anyone can download the SDK (software development kit) and write applications for Android phones. Google doesn't take part of the profits. • These apps can be downloaded from the Android Market Place. If the app costs money, you pay for it using Google Checkout.
  • 5. Google Services • Because Google developed Android, it comes with a lot of Google services installed right out of the box. • Gmail, Google Calendar, and Google Web search are all pre- installed, and Google is also the default Web page for the Web browser.
  • 6. Introduction to Android Platform • Android is an open software platform for mobile development. It’s intended to be a complete stack that includes everything from the Operating System through middleware up through applications.
  • 7. Android Architecture • If I'm going to talk about architecture, we need to start with a diagram covered with a lot of little boxes.
  • 8. Linux Kernel • The architecture is based on the Linux 2.6 kernel. Android use Linux kernel as its hardware abstraction layer. • The reason they're using Linux is because it provides a proven driver model in a lot of cases existing drivers. • It also provides memory management, process management, a security model, and networking, a lot of core operating system infrastructures that are robust and have been proven over time.
  • 9. Native Libraries • The next level up is the native libraries. Everything that you see here in green is written in C and C++. • It's at this level where a lot of the core power of the Android platform comes from.
  • 10. Native Libraries: Surface Manager • The surface manager is responsible for composing different drawing surfaces onto the screen. • So it's the surface manager that's responsible for taking different windows that are owned by different applications that are running in different processes and all drawing at different times and making sure the pixels end up on the screen when they're supposed to.
  • 11. Native Libraries: OpenGL|ES and SGL • OpenGL/ES is a 3D library. • They have a software implementation that is hardware acceleratable if the device has a 3D chip on it. • The SGL graphics are for 2D graphics and that is what most of the application drawing is based on. • One interesting thing about the Android graphics platform is that you can combine 3D and 2D graphics in the same application.
  • 12. Native Libraries: Media Framework • The Media Framework was provided by PacketVideo, one of the members of the open handset alliance and that contains the entire codex that make up the core of the media experiences. • So, in there you'll find IMPEG 4, H.264, MP3, AAC, all the audio and video codex you need to build a rich media experience.
  • 13. Native Libraries: FreeType & SQLite • FreeType • They use FreeType to render our fonts. FreeType is a free, high-quality and portable font engine. • SQLite • They have an implementation of SQLite, it uses that as the core of most of its data storage.
  • 14. Native Libraries: WebKit • They have WebKit which is the open source browser engine, that's what they're using as a core of Android’s browser. • It's the same browser that's powering Safari from Apple and they’ve worked with that engine to make it render well on small screens and on mobile devices.
  • 15. Android Run Time • The Android Runtime was designed specifically for Android to meet the needs of running in an embedded environment where you have limited battery, limited memory, limited CPU. • The DVM runs something called dex files, D-E-X. and these are bytecodes that are the results of converting at build time .Class and .JAR Files. • So, these files when they are converted to .dex, become a much more efficient bytecode that can run very well on small processors. They use memory very efficiently.
  • 16. Android Run Time • The next level up from that is the Core Libraries. • This is in blue, meaning that it's written in the Java programming language. • And the core library contains all of the collection classes, utilities, IO, all the utilities and tools that you’ve come to expected to use.
  • 17. Application Framework • This is all written in a Java programming language and the application framework is the toolkit that all applications use. • These applications include the ones that come with a phone like the home applications, or the phone application. • It includes applications written by Google, and it includes apps that will be written by you. • So, all apps use the same framework and the same APIs.
  • 18. Application Framework • Activity Manager • The Activity manager is what manages the life cycle of the applications. It also maintains a common backstack so that application that is running in different processes can have a smoothly integrated navigation experience. • Package Manager • The package manager is what keeps track of which applications are installed on your device. So, if you download new applications over the air or otherwise install apps, it's the package manager that's responsible for keeping track of what you have and what the capabilities of each of your applications are.
  • 19. Application Framework • Window Manager • The window manager manages Windows. It's mostly a java programming language abstraction on top of lower level services that are provided by the surface manager. • Telephony Manager • The telephony manager contains the APIs that we use to build the phone application that's central to the phone experience.
  • 20. Application Framework • Content Providers • Content providers are a unique piece of the Android platform. That's the framework that allows applications to share their data with other applications. • The View system • View System contains things like buttons and lists, all the building blocks of the UI. It also handles things like event dispatching, layout drawing, .
  • 21. Application Framework • The resource manager is what they use to store local iStrings, bitmaps, layout file descriptions, all of the external parts of an application that aren't code. • Location manager, notification manager and XMPP service are some APIs that I think will allow developers to create really innovative and exciting applications.
  • 22. Applications • And the final layer on top is Applications. • This is where all the applications get written. • It includes the home application, the contacts application, the browser, and your apps. • And everything at this layer is, again, using the same app framework provided by the layers below.
  • 24. Application Building Blocks • Now, if you're going to write an app, the first step is to decompose it into the components that are supported by the Android platform. • UI component typically corresponding to one Activity screen. • Responds to notification or status changes. Can Intent Receiver wake up your process. Service • Faceless task that runs in the background. Content Provider • Enable applications to share data
  • 25. Application Building Blocks Activity • An activity is essentially just a piece of UI typically corresponding to one screen. • So if you think of something like the mail application, that would be decomposed into maybe three major activities, something that lists your mail, something that shows you what an individual message and a compose screen to put together an outgoing email.
  • 26. Application Building Blocks Intent Receiver • An intent receiver is a way for which your application to register some code that won't be running until it's triggered by some external event. • And the set of external events that triggers your code is open and extensible.
  • 27. Application Building Blocks Service • A service is a task that doesn't have any UI, that's long lived, that's running in the background. • A good example is a music player. You may start playing music from an activity, from a piece of UI, but once the music is playing, you'd want it to keep playing even if you're navigating to other parts of the user experience.
  • 28. Application Building Blocks Content Provider • It is a component that allows you to share some of your data with other processes and other applications. • Now, any application can store data in whatever may-way it makes sense for that application. • They can store it in the files. • They can store it in Android’s super light database, whatever makes sense.
  • 29. Application Lifecycle • Applications run in their own processes • Processes are started and stopped as needed to run an application's components • Processes may be killed to reclaim resources • In android, every application runs in its own process. There's a lot of benefits to this. It gives you security, protected memory. It means that an application is doing something CPU intensive, won't block other critical activities, like, answering a phone. • So all applications are running in their own processes and the Android System itself is responsible for starting these proecesses and shutting them down as necessary to reclaim resources.
  • 31. Installations & Configuration Next PPT…