Download Android Architecture - The Key Concepts of Android OS

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Android News
FEB
17
2012
Android Development
Make Money
Android Architecture – The Key
Concepts of Android OS
47
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
Privacy
Android. That is, you should know all the nuts and bolts of Android OS.
Here we start:
Android Architecture Diagram:
Stay Connected
Like
Share 65 people like this. Be the first of your
friends.
Find us on Facebook
Android-App-Market.com
Like
355 people like Android-App-Market.com.
Facebook social plugin
Android-App-Market
Follow
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:
+ 92
Follow @AndroidAppMarkt
+1
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.
Like
10
Tweet
9
You Might Also Like
Mobile websites Best
Practices - Differences In
Setup Android
Development
Android Project Structure
in Eclipse
Desktop And Mobile
Application Design and
Layout
Environment- Complete
Tutorial
By android-apps • Posted in Android Development • Tagged android architecture, Android Development
Cheap Android Phones in 2012
Android Application Components
47 comments on “Android Architecture – The Key Concepts
of Android OS”
Prasanna
REPLY
JULY 10, 2012 @ 2:39 PM
Hi, 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.
Arun
REPLY
JULY 31, 2012 @ 12:49 AM
very nice
Hemant Anpat
REPLY
AUGUST 16, 2012 @ 11:51 AM
Hi, Your article is really nice.
veeranjaneyulu gorantla
REPLY
AUGUST 24, 2012 @ 12:14 PM
nice one
anonymus
REPLY
OCTOBER 1, 2012 @ 3:44 PM
nicely written article.
Venkatesh
REPLY
OCTOBER 18, 2012 @ 10:48 AM
Can you please help me to know the list of available native libriary in Android.
MITESH
REPLY
NOVEMBER 20, 2012 @ 2:54 PM
THANKS
Kiran
REPLY
NOVEMBER 26, 2012 @ 2:19 AM
Simple and clear…
Sivaprasad
REPLY
NOVEMBER 30, 2012 @ 12:44 PM
Good One..!
renjith
REPLY
DECEMBER 8, 2012 @ 10:06 AM
really a good work….
ComputerTutorials
REPLY
DECEMBER 13, 2012 @ 11:03 PM
Very useful information. Good work.
kaikeraut
DECEMBER 20, 2012 @ 11:33 AM
okay okay .. need more explanation.. explain android directory structure if
possible.
REPLY
kaikeraut recently posted..Creating Your First Android App
Author
REPLY
DECEMBER 21, 2012 @ 10:38 PM
I think this post will help
Visit: Android Project Structure in Eclipse
osos
REPLY
DECEMBER 30, 2012 @ 2:24 AM
v.v.nice article ….now i fully knows about architecture
thanx
Sreeharsha
REPLY
JANUARY 1, 2013 @ 5:59 PM
ITs very useful. Short and sweet article…
Jimmy
REPLY
JANUARY 8, 2013 @ 10:03 AM
Nice article about android layers, simple and clear.
Jimmy recently posted..Android Application – Spy Camera OS (Open Source)
prasanna
REPLY
JANUARY 11, 2013 @ 2:07 PM
Awesome it helped me very much
lee
REPLY
JANUARY 11, 2013 @ 7:24 PM
Simple and easy to understand
PINGBACK:
how does an android app does not disturb the other one : Android
Community - For Application Development
rakesh
REPLY
JANUARY 18, 2013 @ 11:24 AM
nice i relay enjoy and this is very usefull
Sumit Patel
REPLY
JANUARY 19, 2013 @ 11:28 AM
can you arrange some examples and easy sample source for creating activities. i
need to practice for creating activities.
anu..........
REPLY
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.
Isuru
REPLY
FEBRUARY 6, 2013 @ 12:47 AM
Very helpful Article. I was searching such a detailed article about android for 3,4
days.
thanx again
gaurav sharma
REPLY
FEBRUARY 13, 2013 @ 10:36 AM
Very nice article… it helped me lot…
gaurav sharma recently posted..Creating Your First Android App
bindu kumari
FEBRUARY 18, 2013 @ 3:47 PM
Its really very simple and nice content of Android Architecture.
REPLY
bindu kumari recently posted..Creating Your First Android App
sanjeevakumar
REPLY
FEBRUARY 19, 2013 @ 12:52 PM
This article is very very nice.Simple to understand the whole architecture..
cmamatha
REPLY
FEBRUARY 20, 2013 @ 9:43 PM
this article is very good simple to understand the architecture thanks all the best
to do good work
Jagannadam
REPLY
FEBRUARY 23, 2013 @ 11:56 AM
good, neat and better understanding of the basics thank u buddy.
better explain about the kernel functions in detail……………..
Om Kumar Jami
REPLY
MARCH 12, 2013 @ 11:14 PM
Explained very nicely in short…
Sri Lakshmi Tulsi
REPLY
MARCH 13, 2013 @ 9:58 PM
Hi 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
Alaa Harraz
REPLY
JUNE 3, 2013 @ 6:06 PM
Very helpful Article.
KC Raju
REPLY
JUNE 8, 2013 @ 9:36 AM
It’s really very useful
Sneha Ingale
REPLY
JUNE 10, 2013 @ 1:20 PM
Very good.
Short n simple.
kajal
REPLY
JUNE 25, 2013 @ 2:40 PM
was of great help
thanks indeed
n good work.
harsh
REPLY
JUNE 29, 2013 @ 11:18 AM
realy nyc artical
Naik
REPLY
SEPTEMBER 12, 2013 @ 11:59 AM
Excellent Explanation
Naik - Telangana
SEPTEMBER 12, 2013 @ 12:01 PM
REPLY
Nice Article…
Vishal Bhatnagar
REPLY
SEPTEMBER 24, 2013 @ 12:19 PM
Excellent Explanation
nandan
REPLY
NOVEMBER 18, 2013 @ 11:21 PM
Nice article for beginners.thanks sir!
Sandhya Sasidharan
REPLY
NOVEMBER 26, 2013 @ 7:53 PM
nice explanation
deepak
REPLY
NOVEMBER 27, 2013 @ 6:12 AM
very good and easy expln.
jay
REPLY
JANUARY 22, 2014 @ 10:42 AM
thank u bro………awesome article………
Gopinaath
REPLY
JANUARY 23, 2014 @ 2:25 PM
Its nice..thank you friend
marella siri
REPLY
FEBRUARY 4, 2014 @ 7:53 AM
it’s wonderful gathering about android
it is very helpful for my seminar also
thanks for your social service
amit singh
REPLY
APRIL 12, 2014 @ 11:39 AM
need some more explanations on components …
sanjeevakumar
REPLY
JULY 15, 2014 @ 1:12 PM
Thanks a lot for such a wonderful explanation….
priyanka dogra
REPLY
AUGUST 1, 2014 @ 8:57 AM
Thanks alot … for that information … thatsz really nice …i need more
information…
Leave a Reply
Name *
Email *
Website
− 4 = two
Post Comment