Skip to main content

Introduction To Android

What is Android ?


Android is a software platform and Operating System for Mobile Devices. It is based on Linux Kernel. Android is developed by Google in November 2005 by Andy Rubin and later by Open Handset Alliance (OHA). Android allows to write programs in Java language. Also used the concept of C/C++. Android is designed primarily for touchscreen mobile devices such as smartphones and tablet computers, with specialized user interfaces for televisions (Android TV), cars (Android Auto), and wrist watches (Android Wear). The OS uses touch inputs that loosely correspond to real-world actions, like swiping, tapping, pinching, and reverse pinching to manipulate on-screen objects, and a virtual keyboard. Despite being primarily designed for touchscreen input, it also has been used in game consoles, digital cameras, regular PCs and other electronics. 


Android is the most widely used mobile OS and, as of 2013, the highest selling OS overall. Android devices sell more than Microsoft Windows, iOS, and Mac OS X devices combined, with sales in 2012, 2013 and 2014 close to the installed base of all PCs. As of July 2013 the Google Play store has had over one million Android applications ("apps") published, and over 50 billion applications downloaded. A developer survey conducted in April–May 2013 found that 71% of mobile developers develop for Android. At Google I/O 2014, the company revealed that there were over one billion active monthly Android users, up from 538 million in June 2013.
Android's source code is released by Google under open source licenses, although most Android devices ultimately ship with a combination of open source and proprietary software, including proprietary software developed and licensed by Google. Initially developed by Android, Inc., which Google backed financially and later bought in 2005, Android was unveiled in 2007 along with the founding of the Open Handset Alliance—​a consortium of hardware, software, and telecommunication companies devoted to advancing open standards for mobile devices.


Android is popular with technology companies which require a ready-made, low-cost and customizable operating system for high-tech devices. Android's open nature has encouraged a large community of developers and enthusiasts to use the open-source code as a foundation for community-driven projects, which add new features for advanced users or bring Android to devices which were officially released running other operating systems. The operating system's success has made it a target for patent litigation as part of the so-called "smartphone wars" between technology companies.

Interface:

Android's default user interface is based on direct manipulation, using touch inputs, that loosely correspond to real-world actions, like swiping, tapping, pinching and reverse pinching to manipulate on-screen objects, and a virtual keyboard. The response to user input is designed to be immediate and provides a fluid touch interface, often using the vibraton capabilities of the device to provide haptic feedback to the user. Internal hardware such as accelerometers, gyroscopes and proxiity sensors are used by some applications to respond to additional user action, for example adjusting the screen portrait to landscape depending on how the device is oriented, or allowing the user to steer a vehicle in a racing game by rotating the device, simulating control, of a steering wheel.

History of Android:

           Google acquired the startup company Android Inc. in 2005 to start the development of the Android Platform. The key players at Android Inc. included Andy Rubin, Rich Miner, Nick Sears and Chris White.

           In late 2007, a group of industry leaders came together around the Android Platform to form the Open Handset Alliance (http://www.openhandsetalliance.com). The Android SDK was first issued as an "early look" release in November 2007. In September 2008 T-Mobile announced the availability of the T-Mobile G1, the first smartphone based on the Android Platform. A few days after that, Google announced the availability of Android SDK Release Candidate 1.0. In October 2008, Google made the source code of the Android Platform avilable under Apache;s open source license.

What is Open Handset Alliance ?

             Open Handset Alliance, a group of 47 technology and mobile companies have come together to accelerate innovation in mobile and offer consumers a richer, less expensive, and better mobile experience. Together they developed Android, the first complete, open and free mobile platform.

OHA is a consortium of several companies.


Google Android Architecture:

The architecture basically consists of four sections: the Linux kernel (system) as underlying operating system interface, the libraries (e.g libc) as important part of the operating system, the Android framework providing all necessary classes and methods in order to write Android compatible applications, and as top section, the actual Android applications.




The Android SDK

The Google Android SDK can be freely downloaded on the project website: http://code.google.com/android/download.html

Google provides the Android SDK for three different platforms: Windows, Apple's Mac OS X and Linux. All SDKs are quite similar in its structure, therefore we will, from now on, refer to Linux-version of the SDK. In following sections, we will take a glance at each part of the SDK. Once installed open the SDK Manager, Install the desired packages, Create an Android Virtual Device (AVD).

Android Software Stack- Application:

Android provides a set of core applications:


  • Email Client
  • SMS Program
  • Calendar
  • Maps
  • Browser
  • Contacts
  • Etc


All applications are written using the Java language.

Android Software Stack- App Framework


  • Most of the application framework accesses these core libraries through the Dalvik Virtual Machine, the gateway to the Android Platform.



Feature
Role
View
System
Used to build an application, including lists, grids, text
boxes, buttons, and embedded web browser

Content
Provider
Enabling applications to access data from other
applications or to share their own data

Resource
Manager
Providing access to non-code resources (localized string
, graphics, and layout files)

Notification 
Manager
Enabling all applications to display customer alerts in the
status bar
Activity
Manager
Managing the lifecycle of applications and providing
a common navigation backstack
Android Software Stack- Libraries


  • Including a set of C/C++ libraries used by components of the Android System.
  • Exposed to developers through the Android application framework.
  • The media libraries are based on PacketVideo's (http://www.packetvideo.com) OpenCORE. These libraries are responsible for recording and playback of audio and video formats. A library called Surface Manager controls access to the display system and supports 2D and 3D.
  • The WebKit library is responsible for browser support, it is the same library that supports Google Chrome and Apple Inc.'s Safari. The FreeType library is responsible for font support. SQLite (http://www.sqlite.org) is a relational database that is available on the device itself. SQLite is also an independent open source effort for relational databases and not directly tied to Android. You can acquire and use tools meant for SQLite for Android databases as well.

Android Software Stack- Runtime


  • Dalvik Virtual Machine
                      Executing the Dalvik Executable (.dex) format
                      .dex format is optimized for minimal memory footprint
                      Compilation




                      Relying on the Linux Kernel for:
                      Threading
                      Low-level memory management

Android Activities



Android Debug Bridge

  • Used for a wide variety of developer tasks
  • Read from the log file
  • Show what android devices are available
  • Install android applications (.apk files)
  • In the 'plateform-tools' directory of the main android sdk directory
  • Recommend putting this directory and the 'tools' directory on the system path
  • adb.exe
Android Software Development Requirements


  • Java
  • Android SDK
                       - Class Library
                       - Developer Tools
                       - Emulator and System Images
                       - Documentation and Sample Code

  • Eclipse IDE, Android Studio + ADT ( Android Development Tools)

                       - Reduces Development and Testing Time
                       - Makes User Interface-Creation easier
                       - Makes Application Description Easier


Thank You. Stay with us for more Android Mobile Application Development Concepts and examples related Android Application Development.



Comments

Popular posts from this blog

Android - Broadcast Receivers

Broadcast Receivers   simply respond to broadcast messages from other applications or from the system itself. These messages are also called as events or intents. There are following two important steps to make BroadcastReceiver works for the system broadcasted intents − ·         Creating the Broadcast Receiver. ·         Registering Broadcast Receiver A broadcast receiver is implemented as a subclass of   BroadcastReceiver   class and overriding the onReceive() method where each message is received as a   Intent   object parameter. Registering Broadcast Receiver An application listens for specific broadcast intents by registering a broadcast receiver in  AndroidManifest.xml  file. Consider we are going to register  MyReceiver  for system generated event ACTION_BOOT_COMPLETED which is fired by the system once the Android system has completed the boot pr...

Android - How to Customize a Toast in android

Custom Toast In Android : Hello, Today i will teach you about message toast used in android. You can create it with your own design or own functionality. You can also change its position where to show. Watch this video to create custom design of toast in android. If you like my post then please share and like it. Also like video on YouTube. If you have any query you can ask me by commenting on post or video. Thank you.