Blog Image

What is Android?  

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 :-
1.Operating System
2.Middle Ware
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 Key Applications.

To more understand see the android architecture diagram.

Android Architecture:

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.

Linux Kernel:

 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.

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

Android Runtime:

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.

Application Framework:

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

Application Layer:

All applications in android, both native and third-party, built on the application layer.

Android SDK:

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.


Project Structure:

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.
  1. 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.
  2. 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.
  3. 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.
  4. Android makes cheap and gives better performance for lower costs. It is open source and open framework.
  5. 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.
  6. Great social networking integration.

tags: android java

Attachments

About author

User Image
balu443

Well ,This is Balu having experience in web/mobile application development, currently working as Software Engineer in one of the Product based company and very passionate technologies and always an explorer and learner in new technologies.

3

-Comments

Be the first person to write a comment for this Blog
  • author image
    by:
      JahidAlli
      11-5-2018 05:07:50 PM

    Thank you Balu for writing this block.it's really helpful to start learning android.

  • author image
    by:
      bala
      09-5-2018 12:41:45 PM

    thank you bro for writing these kind blocks and exploring your knowledge to the people

  • author image
    by:
      gopireddy
      09-5-2018 12:18:20 PM

    thank you .............................................................................................................

Load More

No More Comments

Leave a Comment

Your comment has been posted and will appear soon.