Friday, 21 February 2014

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)

Libraries
  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...




7 comments:

  1. Really awesome blog. Your blog is really useful for me. Thanks for sharing this informative blog. Keep update your blog.Android Training in Bangalore

    ReplyDelete
  2. fantastic blog for a layman understanding, keep going and growing sir.

    ReplyDelete
  3. I have read your blog and I gathered some needful information from your blog. Keep update your blog. Waiting for your next update.
    Pega Training in Chennai | Python Training in Chennai

    ReplyDelete
  4. Amazing blog about the various informative information on the programming languages... Java Training in Chennai | RPA Training in Chennai

    ReplyDelete