Hi Guys, In this blog I am going to explain what is android? and how to is going to work and what are the thinking we need to know to work with android. One of the most widely used mobile OS these days is Android. So far most of the web applications are looking forward to android Application.
Let?s see what is android, Android is not an Operating System, Android is a mobile platform which consists of :-
3.Some Key Applications.
Let take PC (Personal Computer) for example which contains two layers, first one is Software Component and second one is Hardware Component there is a middle layer between software and hardware component that is nothing but Operating System. Operating System is an Abstraction between software and hardware components.
Android is also kind of electronic device which contain software and hardware components and abstraction between them is operating system and in android Operating System is the Linux Kernel.
So, Android is not an Operating System and not a Programming
Language and it is an mobile platform which consist of OS, Middle ware and some
To more understand see the android architecture diagram.
The Android software stack is a Linux kernel and a collection of c/c++ libraries exposed through an application framework that provides services to applications at runtime. The following diagram shows the major components of the android platform.
- Linux kernel is an Operating System in android.
- Application framework, Libraries, Android runtime this all are called as Middle Ware.
- Application Layer is called as Key Applications.
It Contains Core Services (including Hardware drivers, process and memory management, network, security and power management. The kernel also provides Abstraction layer between the hardware and the remainder of the stack.
This is running on top of the kernel in android software stack. Android includes various core libraries such as
1.A Media Library for playback of audio and video media.
2.A Surface Manager to provide display management.
3.Graphics libraries that includes SGL and OpenGL for 2D and 3D Graphics.
4.SQLite (private Data) for native database support.
5.SSL and Web Kit for integrated for web browsers and internet security.
The Android runtime is the engine that powers (compile and run) your applications and along with the libraries (core and C/C++) it forms the basis for the application framework. The Runtime environment is what makes an android phone an Android phone. Including the core libraries and the Dalvik VM android run our applications on Android phone.
An api which allows high-level interactions with the android system.
All open source frameworks (location manager, telephony manager, view system, activity manager etc..) are available to via android. How android interacts with SQLite and the surface manager, you don?t think just you use them as tools in your android tool (android SDK).
All applications in android, both native and third-party, built on the application layer.
Software Development Kit, it contains various tools and programs which helps you to develop applications in android. It enables you to download full android versions, create an Emulator (for running applications to test), download libraries which you can import in order to build applications in Android. Separately we no need to download and install, while installing Android Studio itself it will install in our machine.
The main directories of the android project as follow:
src: It contains all source code files ( .java files ).
gen: Contains R.java file, a compiler-generated file that refers all the resources found in your project. Should not modify this file.
asserts: this folder contains all the asserts used in application, such as HTML, text files etc..
res: this folder contains all the resources used in application. Like drawable images, layout files, menu and value files.
AndroidManifest.xml: this is the manifest file of android application. Here we will specify the permissions needed in your android application, as well as other features such as intent-filters, receivers, services etc. (I will discuss what all are this in next coming blog)
Android Application Components:
some of the components in application development
1. Application:An Android application can have one application class which is instantiated before any other android component. It is the last component which is stopped during Application shutdown.
Note: if we not explicitly defined, Android creates a default application object for your application.
2. Activity:An activity is visual representation of an android application (activities will display pages to end user). An Android app can have multiple activities.
Activities use views and fragments to create their user interface to interact with the user.
3. Service:A Service can perform tasks without having user interface. They can communicate with other android components and send notifications to the user. For example, broadcast receiver can notify notifications via notification framework in android.Advantages of Android Application Development:
below are the some advantages of Android application development.
- Android OS is open source and it is part of the Open Handset Alliance, most of the leading handset manufacturers in the world have Android phones.
- One can easily get access to their notification of any kind of SMS, emails or calls on their home screen or the notification panel of the android phone. Its UI makes easy for the user to view more than 5 Android notification at once.
- Stability and security is better than other mobiles OS as it is based on Linux Kernel. The Linux based operating system enabled with high security with unix.
- Android makes cheap and gives better performance for lower costs. It is open source and open framework.
- Android apps are scripted in Java programming language that leverages a rich set of libraries. Any developer familiar with Java can build Android applications easily.
- Great social networking integration.