04-04-2011, 10:06 AM
PRESENTED BY:
Vijetha Prabhu B & Sushmitha Shenoy
[attachment=11634]
Introduction
Android is a software stack for mobile devices that includes an operating system, middleware and key applications.
The Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.
What is Android?
• A software platform and operating system for mobile devices
• Based on the Linux kernel
• Developed by Google and later the Open Handset Alliance (OHA)
• Allows writing managed code in the Java language
• Possibility to write applications in other languages and compiling it to ARM native code
• Unveiling of the Android platform was announced on 5 November 2007 with the founding of OHA
• What is the Open Handset Alliance (OHA)?
• → It's a consortium of several companies
• Devoted to advancing open standards for mobile devices
• Develop technologies that will significantly lower the cost of developing and distributing mobile devices and services
• Architecture
• Applications
Android ships with a set of core applications including an email client, SMS program, calendar, maps, browser, contacts etc. , all of which are written in Java.
Underlying all applications , is a set of services and systems, including:
• A rich and extensible set of Views that can be used to build an application, including lists, grids, text boxes, buttons, and even an embeddable web browser
• Content Providers that enable applications to access data from other applications (such as Contacts), or to share their own data
• A Resource Manager, providing access to non-code resources such as localized strings, graphics, and layout files
• A Notification Manager that enables all applications to display custom alerts in the status bar
• An Activity Manager that manages the lifecycle of applications and provides a common navigation backstack
Libraries
• System C library
• Media Libraries
• Surface Manager
• LibWebCore
• SGL
• 3D libraries
• SQLite
• FreeType
Android Runtime
• Android includes a set of core libraries that provides most of the functionality available in the core libraries of the Java programming language.
• Every Android application runs in its own process, with its own instance of the Dalvik virtual machine.
Linux Kernel
• Android relies on Linux version 2.6 for core system services such as security, memory management, process management, network stack, and driver model. The kernel also acts as an abstraction layer between the hardware and the rest of the software stack.