Android Architecture

  • It is a software stack of components to support a mobile device needs
  • The stack contains a Linux Kernel, collection of c/c++ libraries which are exposed through an  application framework services, runtime, and application

Android architecture components are:

  1. Applications
  2. Android Framework
  3. Android Runtime
  4. Platform Libraries 
  5. Linux Kernel
 
APPLICATIONS 
HOME
CONTACTS
CAMERA
SMS
ALARM
TIME
CALENDAR
MUSIC
GALLARY
PHONE
CLOCK
EMAIL

 

 
APPLICATION FRAMEWORK
ACTIVITY MANAGER
PACKAGE MANAGER
NFC SERVICE
LOCATION SERVICE
WINDOWS MANAGER
NOTIFICATION MANAGER
CONTENT PROVIDERS
VIEW SYSTEM

 

 
ANDROID RUNTIME
DALVIK VIRTUAL MACHINE
ZYGOTE
ANDROID DEBUG BRIDGE
CORE LIBRARIES

 

 
PLATFORM LIBRARIES
MEDIA FRAMEWORK
OPENGL
GRAPHICS
SGL
SSL
SQLITE
SURFACE MANAGER
FREE TYPE

 

 
LINUX KERNEL
DISPLAY DRIVER
Wi-Fi DRIVER
AUDIO DRIVER
BLUETOOTH DRIVER
CAMERA DRIVER
USB DRIVER
EINCER IPC DRIVER
MEMORY DRIVER

Android Application Components

  1. Activity
  2. Intent
  3. Content Providers
  4. Broadcast Receivers
  5. Services

Android Activities

Activity represents a single screen with a user interface (UI) and it will acts an entry point for user's to interact with app.

Activity LifeCycle

 

Android Intents

Intents helps to go from one activity to another. They are mainly used to perform following things:

  • Start a Activity
  • Start a Service
  • Delivering a Broadcast

There are two types of intents available in android

  • Implicit Intents  - One activity communicate with another application activity e.g. Webpage
  • Explicit Intents - One activity open another activity on a same application.

 

Android Service

Service do not have an UI, it runs as a background task. Doing background task without hanging the UI is known as service.

We have two types of services available in android, those are

  1. Local Services
  2. Remote Services

Android Service LifeCycle

 

Android Broadcast Receiver

In android, Broadcast Receiver is a component which will allow a system to deliver events to the app like sending a low battery message to the app.

The apps can also initiate broadcasts to let other apps know that required data available in a device to use it.

 

Android Content Providers

Content providers are used to exchange the data between the apps based on the requests.

Additional components

  1. Fragments - These are used to represent the portion of user interface in an activity.
  2. Layouts - These are used to define the user interface (UI) for an activity or app.
  3. Views - These are used to build user interface for an app using UI elements like buttons, lists, etc.
  4. Resource - To build android app we required external elements like images, audio files, etc. other than coding.
  5. Manifest File - It's a configuration file (AndroidManifest.xml) for the application and it will contain the information about activities, Intents, Content Providers, Services, Broadcast Receivers, permissions, etc.


×