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




20 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
  5. It is amazing and wonderful to visit your site.Thanks for sharing this information,this is useful to me...

    mbatalks
    Technology

    ReplyDelete
  6. I really thank you for your innovative post.I have never read a creative ideas like your posts.here after i will follow your posts which is very much help for my career.
    core Java Training in Bangalore
    Java Courses in Chennai Anna Nagar
    Java Training Institute in Vadapalani
    Java Courses in OMR

    ReplyDelete
  7. I believe that your blog will surely help the readers who are really in need of this vital piece of information. Waiting for your updates.
    Selenium Training in Bangalore
    Selenium Training Institutes in Bangalore

    ReplyDelete
  8. In the beginning, I would like to thank you much about this great post. Its very useful and helpful for anyone looking for tips. I like your writing style and I hope you will keep doing this good working.
    ccna Certification Course in Bangalore
    ccna Certification Training in Bangalore
    Best ccna Coaching Centre in Bangalore
    Angularjs Coaching in Bangalore
    Angularjs Institute in Bangalore
    Best Angularjs Training in Bangalore

    ReplyDelete