About Senthil

all about senthil

Android in layman point

By admin | August 6, 2016 | 0 Comment

Android in layman point [ Android Architecture ]

The Android platform

  • Android platform is software stack
  • Supports mobile and tablet
  • It has many layers to support application to run.

The android architecture

  1. Application layer
  2. Application framework
  3. Libraries and DVM
  4. Linux kernel (provides generic OS services)

Linux kernel proves following services

  1. Security
  2. Memory & process management,
  3. File & network IO
  4. Device drivers to communicate with varies hardware
  5. Common OS services.

Android Linux kernel provides extra service other than Linux

  1. Power management
  2. Android shared memory(ashm)
  3. Low memory killer
  4. Inter process communication (binder)


  1. System C libraries System libraries written in C/C++ native Libraries
    • Bionic Libc
  2. Surface manager
    • Display management
  3. Media Framework
    • Audio/Video
  4. Webkit
    • Browser engine
  5. Open GL
    • Graphics Engines
  6. SQLite
    • Relation Database Engine

Android Runtime

  • Support writing and running android applications
  • Two components in android run time

Core Java Libraries

  • Android application written in Java programming language
  • Set of standard functionality are provided by library to write application.
    •  Basic Java classes – java.* javax.* (data structure, Ux, Concurrency, FILE IO)
    •  App Lifecycle – Android.*
    • Internet/Web service – ORG.Unit Testing – Junit.*

 Dalvik Virtual Machine

  • Software executes android application.
  • Android application written in JAVA which needs JAVA virtual machine to execute.
  • But Java virtual machine is too heavy to run on mobile platform it is made for Desktop
  •  So Android provides the optimized version of Java Virtual machine which runs on Mobile

Typical Workflow of App Development

  1. Write application in java program (file.java)
  2. Java compiler compiles file.java to Java byte code files (file.class)
  3. Dx converts the Byte code files (file.class) to single dex byte code file (classes.dex)
  4. Dalvix executes the DEX byte code file to machine language

Resource Constrained Environments

  • Slower CPU
  • Less RAM
  • Limited Battery Life

Application Framework

Package manager

–          Maintain the data base of all the installed applications

Window Manager

–          Manages many windows

–    System Notification

–    Main application window

–    Application Sub window

View System

–          Provides command user interface

–    Icons buttons, text box, label

Resource manager

–          Non compiled resources

–    Strings, graphics, layout files

Activity manager

–          Manages app life cycle and navigation support

Content Provider

–          Inter application data sharing.

Location Manager

–          Provides location and movement information

Notification Manager

–          Place information in notification bar (e.g. SMS, Missed Call, batter charging info)

Application Layer

  • Application like phone , contacts, launcher, SMS

Check out the next blog for setting up your android development environment…



Leave a Reply

Your email address will not be published. Required fields are marked *