https://phone4technology.blogspot.com/2016/03/android-development-introduction-what.html
  Android Development



What is android?

Android is the arena's maximum popular working gadget for phone devices and tablets. It is an open supply operating system, created by Google, and available to all varieties of developers with various expertise ranges, ranging from rookie to expert.

the time period 'open source' sounds quite acquainted, would not it? Nicely, open-source approach software with supply available for modification and certain to an open supply license settlement.

From a developer's angle, android is a linux-based totally working device for smartphones and capsules. It consists of a touch screen user interface, widgets, digital camera, community information monitoring and all the other functions that permit a mobile telephone to be called a smartphone. Android is a platform that helps various packages, available thru the android play save. The android platform also allows give up users to expand, installation and use their own programs on pinnacle of the android framework. The android framework is licensed below the apache license, with android utility developers maintaining the proper to distribute their applications below their custom designed license.



Like maximum software program, android is released in versions. Google has also assigned names to its versions when you consider that april 2009.

Various versions of android are supported on phones and tablets. There are umpteen android gadgets to be had in the market from manufacturers like samsunghtcmotorola and others. Google itself also has telephones made along with oems, branded because the nexus collection.


Expertise android
To begin improvement on android even on the software level, I assume it's far paramount to apprehend the simple inner structure. Understanding how matters are arranged inner enables us understand the software framework better, so we are able to can design the software in a higher way.
Android is an os based totally on linux. Hence, deep inside, android is pretty much like linux. To start our dive into the android internals, let us look at an architectural diagram.



app 1

app 2

app 3

app 4

Software framework


Libraries


Android
runtime

Kernel

Hardware


The above diagram illustrates the android structure. As you can see, it is a software program stack above the hardware that is furnished by means of the oems. Permit's begin with the topmost layer, i.e., the apps.
 

The diagram indicates 4 primary apps (app 1, app 2, app 3 and app 4), simply to provide the concept that there can be more than one apps sitting on pinnacle of android. These apps are like any person interface you operate on android; as an example, when you operate a song participant, the gui on which there are buttons to play, pause, are seeking, etc is a software. Further, is an app for making calls, a digital camera app, and so on. Some of these apps are not necessarily from google. Every person can increase an app and make it to be had to all of us via google play shop. These apps are developed in java, and are installed without delay, without the need to combine with android os.



Software framework
Scratching further below the applications, we reach the software framework, which utility developers can leverage in growing android packages. The framework offers a large set of apis utilized by developers for diverse standard purposes, so they don't ought to code every fundamental venture. The framework includes positive entities; principal ones are:

• Hobby manager
This manages the sports that govern the utility lifestyles cycle and has several states. An application may also have more than one sports, which have their own existence cycles. But, there's one principal activity that begins whilst the application is released. Generally, each activity in an application is given a window that has its very own layout and consumer interface. An activity is stopped when every other starts, and gets lower back to the window that initiated it via a hobby callback.

• Notification manager
This manager enables the packages to create custom designed indicators
• views
Perspectives are used to create layouts, including additives which include grids, lists, buttons, etc.
• Aid managers
Programs do require outside sources, which include photographs, external strings, and so forth. These kinds of sources are controlled by way of the aid supervisor, which makes them available in a standardized way.
• content material issuer
Applications also proportion information. Sometimes, one application may also want a little information from every other utility. As an instance, a worldwide calling utility will need to get entry to the consumer's address e book. This get entry to any other software's statistics is enabled by the content vendors.



Libraries
This sediment holds the android native libraries. Those libraries are written in c/c++ and provide talents just like the above layer, whilst sitting on pinnacle of the kernel. A few of the principal local libraries encompass:



• Surface Manager: manages the show and compositing window-ing manager. - media framework: supports diverse audio and video formats and codecs which includes their playback and recording.
• System c libraries: trendy c library like libc centered for arm or embedded gadgets.
• Opengl es libraries: these are the portraits libraries for rendering second and 3-d graphics.
• SQLite: a database engine for android.



Android runtime
The android runtime consists of the dalvik digital gadget. It is largely a virtual gadget for embedded gadgets, which like some other virtual system is a bytecode interpreter. When we are saying it's far for embedded devices, it approaches its miles low on memory, comparatively slower and runs on battery electricity. Except the dalvik digital device, it also consists of the center libraries, that are java libraries and are to be had for all devices.



Kernel
The android os is derived from linux kernel 2.6 and is absolutely comprised of linux supply, compiled for cellular gadgets. The reminiscence control, procedure management and so on. Are generally similar. The kernel acts as a hardware abstraction layer between hardware and the android software program stack.



Android sdk
As already noted, android is open source and for this reason the source code is to be had for all developers. In totality it is called the android sdk. You can down load, build and work on android in a number of distinctive approaches it all depends on what you want to do. In case your intention is to develop an android utility, you do not necessarily need to down load all the source. Google recommends the eclipse ide, for which there is an available android developer equipment (adt) plugin, via which you can deploy the particular sdk, create initiatives, release emulators, debug, and many others. You can see right here greater information of eclipse and adt through android's official internet site for builders.

Android Development for home windows users
Android as of now does not aid building on windows, so in case you need to modify the android os itself, you will should use linux. But, on home windows, we do have gear and plugins for software and native android development.

Downloading the android sdk and developer equipment
Google offers a handy package to down load and setup android for home windows developers, which you may download right here, under the name adt package for home windows. The exact call of the record you down load will depend upon your os architecture (32 vs sixty-four bit).