Privacy
Android-App-Market
+ 92
Follow +1
Follow
Follow @AndroidAppMarkt@AndroidAppMarkt Android News
Android News Android DevelopmentAndroid Development Make MoneyMake Money
17
2012Android Architecture – The Key
Concepts of Android OS
In the earlier post on Android Development, we’ve learned how to install and setup a complete Android development environment. Now, before we start development, you should know the Android architecture in detail.
Being an Android user you may know how the basic functions such as making a call, sending a text message, changing the system settings, install or uninstall apps etc. Well! All Android users know these, but not enough for a developer. Then what else details are a developer required to know about Android, I’ll explain. To be a developer, you should know all the key concepts of Android. That is, you should know all the nuts and bolts of Android OS.
Here we start:
Android Architecture Diagram:
The above figure shows the diagram of Android Architecture. The Android OS can be referred to as a software stack of different layers, where each layer is a group of sveral program components. Together it includes operating system, middleware and important applications. Each layer in the architecture provides different services to the layer just above it. We will examine the features of each layer in detail.
Linux Kernel
The basic layer is the Linux kernel. The whole Android OS is built on top of the Linux 2.6 Kernel with some further architectural changes made by Google. It is this Linux that interacts with the hardware and contains all the essential hardware drivers. Drivers are programs that control and communicate with the hardware. For example, consider the Bluetooth function. All devices has a Bluetooth hardware in it. Therefore the kernel must include a Bluetooth driver to communicate with the Bluetooth hardware. The Linux kernel also acts as an abstraction layer between the hardware and other software layers. Android uses the Linux for all its core functionality such as Memory management, process management, networking, security settings etc. As the Android is built on a most popular and proven foundation, it made the porting of Android to variety of hardware, a relatively painless task.
Libraries
The next layer is the Android’s native libraries. It is this layer that enables the device to handle different types of data. These libraries are written in c or c++ language and are specific for a particular hardware.
Some of the important native libraries include the following:
FEB
Stay Connected
Stay Connected
65 people like this. Be the first of your friends.
Like
Like ShareShare
Find us on Facebook
Android-App-Market.com
355 people like Android-App-Market.com.
Facebook social plugin Like
Like
47 47
Like
Like 10 TweetTweet 9
Mobile websites Best
Practices - Differences In Setup AndroidDevelopment Android Project Structurein Eclipse
Surface Manager: It is used for compositing window manager with off-screen buffering. Off-screen buffering means you cant directly draw into the screen, but your drawings go to the off-screen buffer. There it is combined with other drawings and form the final screen the user will see. This off screen buffer is the reason behind the transparency of windows.
Media framework: Media framework provides different media codecs allowing the recording and playback of different media formats
SQLite: SQLite is the database engine used in android for data storage purposes
WebKit: It is the browser engine used to display HTML content
OpenGL: Used to render 2D or 3D graphics content to the screen
Android Runtime
Android Runtime consists of Dalvik Virtual machine and Core Java libraries.
Dalvik Virtual Machine
It is a type of JVM used in android devices to run apps and is optimized for low processing power and low memory environments. Unlike the JVM, the Dalvik Virtual Machine doesn’t run .class files, instead it runs .dex files. .dex files are built from .class file at the time of compilation and provides hifger efficiency in low resource environments. The Dalvik VM allows multiple instance of Virtual machine to be created simultaneously providing security, isolation, memory management and threading support. It is developed by Dan Bornstein of Google.
Core Java Libraries
These are different from Java SE and Java ME libraries. However these libraries provides most of the functionalities defined in the Java SE libraries.
Application Framework
These are the blocks that our applications directly interacts with. These programs manage the basic functions of phone like resource management, voice call management etc. As a developer, you just consider these are some basic tools with which we are building our applications.
Important blocks of Application framework are:
Activity Manager: Manages the activity life cycle of applications
Content Providers: Manage the data sharing between applications
Telephony Manager: Manages all voice calls. We use telephony manager if we want to access voice calls in our application.
Location Manager: Location management, using GPS or cell tower
Resource Manager: Manage the various types of resources we use in our Application
Applications
Applications are the top layer in the Android architecture and this is where our applications are gonna fit. Several standard applications comes pre-installed with every device, such as:
SMS client app Dialer Web browser Contact manager
As a developer we are able to write an app which replace any existing system app. That is, you are not limited in accessing any particular feature. You are practically limitless and can whatever you want to do with the android (as long as the users of your app permits it). Thus Android is opening endless opportunities to the developer.
Cheap Android Phones in 2012 Android Application Components
Desktop And Mobile Application Design and Layout
Environment- Complete Tutorial
By android-apps • Posted in Android Development • Tagged android architecture, Android Development
47 comments on “Android Architecture – The Key Concepts
of Android OS”
Prasanna
JULY 10, 2012 @ 2:39 PMHi, Your article is really nice. You have explained the OS architecture concept using simple English words which every one can easily understand. Thanks. All the best to do this good work.
REPLY REPLY
Arun
JULY 31, 2012 @ 12:49 AM very nice REPLY REPLYHemant Anpat
AUGUST 16, 2012 @ 11:51 AMHi, Your article is really nice.
REPLY REPLY
veeranjaneyulu gorantla
AUGUST 24, 2012 @ 12:14 PM nice one REPLY REPLYanonymus
OCTOBER 1, 2012 @ 3:44 PMnicely written article.
REPLY REPLY
Venkatesh
OCTOBER 18, 2012 @ 10:48 AMCan you please help me to know the list of available native libriary in Android. REPLY REPLY
MITESH
NOVEMBER 20, 2012 @ 2:54 PM THANKS REPLY REPLYKiran
NOVEMBER 26, 2012 @ 2:19 AMSimple and clear…
REPLY REPLY
Sivaprasad
NOVEMBER 30, 2012 @ 12:44 PM Good One..! REPLY REPLYrenjith
DECEMBER 8, 2012 @ 10:06 AMreally a good work….
REPLY REPLY
ComputerTutorials
DECEMBER 13, 2012 @ 11:03 PMVery useful information. Good work.
REPLY REPLY
kaikeraut
DECEMBER 20, 2012 @ 11:33 AM
okay okay .. need more explanation.. explain android directory structure if possible.
REPLY REPLY
PINGBACK:how does an android app does not disturb the other one : Android Community - For Application Development
kaikeraut recently posted..Creating Your First Android App
Author
DECEMBER 21, 2012 @ 10:38 PM
I think this post will help
Visit: Android Project Structure in Eclipse
REPLY REPLY
osos
DECEMBER 30, 2012 @ 2:24 AM
v.v.nice article ….now i fully knows about architecture thanx
REPLY REPLY
Sreeharsha
JANUARY 1, 2013 @ 5:59 PMITs very useful. Short and sweet article…
REPLY REPLY
Jimmy
JANUARY 8, 2013 @ 10:03 AM
Nice article about android layers, simple and clear.
Jimmy recently posted..Android Application – Spy Camera OS (Open Source) REPLY REPLY
prasanna
JANUARY 11, 2013 @ 2:07 PMAwesome it helped me very much
REPLY REPLY
lee
JANUARY 11, 2013 @ 7:24 PM
Simple and easy to understand
REPLY REPLY
rakesh
JANUARY 18, 2013 @ 11:24 AM
nice i relay enjoy and this is very usefull
REPLY REPLY
Sumit Patel
JANUARY 19, 2013 @ 11:28 AMcan you arrange some examples and easy sample source for creating activities. i need to practice for creating activities.
REPLY REPLY
anu...
JANUARY 21, 2013 @ 3:57 PM
can you arrange some examples and easy sample source for creating activities. i need to practice for creating activities.
REPLY REPLY
Isuru
FEBRUARY 6, 2013 @ 12:47 AM
Very helpful Article. I was searching such a detailed article about android for 3,4 days. thanx again REPLY REPLY
gaurav sharma
FEBRUARY 13, 2013 @ 10:36 AMVery nice article… it helped me lot…
gaurav sharma recently posted..Creating Your First Android App
REPLY REPLY
bindu kumari
FEBRUARY 18, 2013 @ 3:47 PMIts really very simple and nice content of Android Architecture.
REPLY REPLY
bindu kumari recently posted..Creating Your First Android App
sanjeevakumar
FEBRUARY 19, 2013 @ 12:52 PMThis article is very very nice.Simple to understand the whole architecture.. REPLY REPLY
cmamatha
FEBRUARY 20, 2013 @ 9:43 PMthis article is very good simple to understand the architecture thanks all the best to do good work
REPLY REPLY
Jagannadam
FEBRUARY 23, 2013 @ 11:56 AMgood, neat and better understanding of the basics thank u buddy. better explain about the kernel functions in detail………..
REPLY REPLY
Om Kumar Jami
MARCH 12, 2013 @ 11:14 PMExplained very nicely in short…
REPLY REPLY
Sri Lakshmi Tulsi
MARCH 13, 2013 @ 9:58 PMHi App’s Market.com,
Good Document it is very nice and good to understand. How the application will work in the back end ..
Thanks Providing such a valuable mater .. Regards,
Sri Lakshmi Tulasi
REPLY REPLY
Alaa Harraz
JUNE 3, 2013 @ 6:06 PMVery helpful Article.
REPLY REPLY
KC Raju
JUNE 8, 2013 @ 9:36 AMIt’s really very useful
REPLY REPLY
Sneha Ingale
JUNE 10, 2013 @ 1:20 PM Very good. Short n simple. REPLY REPLYkajal
JUNE 25, 2013 @ 2:40 PMwas of great help thanks indeed n good work. REPLY REPLY
harsh
JUNE 29, 2013 @ 11:18 AMrealy nyc artical
REPLY REPLY
Naik
SEPTEMBER 12, 2013 @ 11:59 AM Excellent Explanation REPLY REPLYNaik - Telangana
SEPTEMBER 12, 2013 @ 12:01 PM REPLY REPLYNice Article…
Vishal Bhatnagar
SEPTEMBER 24, 2013 @ 12:19 PM Excellent Explanation REPLY REPLYnandan
NOVEMBER 18, 2013 @ 11:21 PMNice article for beginners.thanks sir!
REPLY REPLY
Sandhya Sasidharan
NOVEMBER 26, 2013 @ 7:53 PM nice explanation REPLY REPLYdeepak
NOVEMBER 27, 2013 @ 6:12 AMvery good and easy expln.
REPLY REPLY
jay
JANUARY 22, 2014 @ 10:42 AM
thank u bro………awesome article………
REPLY REPLY
Gopinaath
JANUARY 23, 2014 @ 2:25 PMIts nice..thank you friend
REPLY REPLY
marella siri
FEBRUARY 4, 2014 @ 7:53 AMit’s wonderful gathering about android it is very helpful for my seminar also thanks for your social service
REPLY REPLY
amit singh
APRIL 12, 2014 @ 11:39 AMneed some more explanations on components …
REPLY REPLY
sanjeevakumar
JULY 15, 2014 @ 1:12 PMThanks a lot for such a wonderful explanation….
REPLY REPLY
priyanka dogra
AUGUST 1, 2014 @ 8:57 AMThanks alot … for that information … thatsz really nice …i need more information… REPLY REPLY
Leave a Reply
− 4 = two Name * Email * WebsitePost Comment Post Comment