Well we all had the chance to develop applications in web based platforms and we always wanted similar kind of freedom to develop our own apps on the mobile. Google did it and it came as a fresh air to all developers. So what is Android, “Android is an open mobile phone platform that was developed by Google and, later, by the Open Handset Alliance”. In short it provides operating system, middleware and application layer.
The following are provided in the Android Software Stack
1) Linux Kernel – This layer provides the abstraction between the hardware and rest of the layers. It also provides core services like hardware drivers, memory management, security, network etc.
2) Linux Libraries- This layer sits on top of the Linux kernel and it includes various libraries of C\C++.
3) Android Run Time – This layer is the engine which powers the applications along with the core libraries. There are two major components here they are
a) Core Libraries – Android provides almost all the features which are provided in Java as well as some android specific libraries.
b) Dalvik Virtual Machine – This is a virtual machine which is a registered based which ensures the device can run multiple instances efficiently.
4) Application Framework – This layer provides the classes used to create android applications.
5) Application Layer – This layer has all the applications which are provided by natively (google maps, browser etc) or developed by you using the API libraries
Now let us have a look at Android Application Architecture –
1) Activity Manager – Before learn about Activity manager we need to know what an activity means. An activity is usually each screen on your application. Each activity is built as a single class which will extend the activity base class.
The activity manager manages the life cycle of your activities.
2) Views – A view is a data structure whose properties stores the layout and content of a particular activity. In short it is used to build the user interface for your activities.
3) Notification Manager – It is like a service which does not require UI and will be running in the background. SMS service, media players are good examples of Notification managers.
4) Content Providers – Sometimes applications need to share data with other applications like your custom made app may require accessing data from the contacts, this is made possible with the help of content providers. The content provider provides a class through which applications can send or receive data.
5) Resource Manager – Supports resources like strings, graphics etc which need to be externalized.
In the next post will be covering the basic building blocks of android with simple example of an android application. Well for a change its not going to be hello world ;)
The following are provided in the Android Software Stack
1) Linux Kernel – This layer provides the abstraction between the hardware and rest of the layers. It also provides core services like hardware drivers, memory management, security, network etc.
2) Linux Libraries- This layer sits on top of the Linux kernel and it includes various libraries of C\C++.
3) Android Run Time – This layer is the engine which powers the applications along with the core libraries. There are two major components here they are
a) Core Libraries – Android provides almost all the features which are provided in Java as well as some android specific libraries.
b) Dalvik Virtual Machine – This is a virtual machine which is a registered based which ensures the device can run multiple instances efficiently.
4) Application Framework – This layer provides the classes used to create android applications.
5) Application Layer – This layer has all the applications which are provided by natively (google maps, browser etc) or developed by you using the API libraries
Now let us have a look at Android Application Architecture –
1) Activity Manager – Before learn about Activity manager we need to know what an activity means. An activity is usually each screen on your application. Each activity is built as a single class which will extend the activity base class.
The activity manager manages the life cycle of your activities.
2) Views – A view is a data structure whose properties stores the layout and content of a particular activity. In short it is used to build the user interface for your activities.
3) Notification Manager – It is like a service which does not require UI and will be running in the background. SMS service, media players are good examples of Notification managers.
4) Content Providers – Sometimes applications need to share data with other applications like your custom made app may require accessing data from the contacts, this is made possible with the help of content providers. The content provider provides a class through which applications can send or receive data.
5) Resource Manager – Supports resources like strings, graphics etc which need to be externalized.
In the next post will be covering the basic building blocks of android with simple example of an android application. Well for a change its not going to be hello world ;)
architectural talk..! I dont understand sir.! Can you take a session?
ReplyDeleteyeah...me too...please arrange your session at Leela Palace..conf room.
ReplyDeleteWen r yu taking th next session? This time UB City plz. Skye Bar! :)
ReplyDelete