Está en la página 1de 41

Mobile Operating System

A mobile operating system (OS) is a software that allows smart phones, tablet PCs and other devices to run applications and programs.
Examples Symbian OS BlackBerry OS Apples iOS
Windows Phone OS

Icons Of Some MOS

Android OS

What is Android ?


Open handset Alliance

Android is part of the build a better phone process

Open Handset Alliance produces Android Comprises handset manufacturers, software firms, mobile operators, and other manufactures and funding companies

Android is growing
Uneven distribution of OS by regions

Does not include iTouch or iPad, as not smartphones

Android applications are compiled to Dalvik bytecode

Write app in Java Compiled in Java

Transformed to Dalvik bytecode

Loaded into Dalvik VM

Linux OS

The Dalvik runtime is optimised for mobile applications.

Run multiple VMs efficiently Each app has its own VM Minimal memory footprint

Android has many components

Android has a working emulator

All applications are written in Java and available to each other

Android designed to enable reuse of components in other applications

Each application can publish its capabilities which other apps can use

Android applications have common structure Views such as

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 An Activity Manager that manages the life cycle of applications and provides a common navigation backstack A Notification Manager that enables all apps to display custom alerts in the status bar A Resource Manager, providing access to noncode resources such as localized strings, graphics, and layout files
Bruce Scharlau, University of Aberdeen, 2010

Android applications have common structure

Broadcast receivers can trigger intents that start an application Data storage provide data for your apps, and can be shared between apps database, file, and shared preferences (hash map) used by group of applications Activity is the presentation layer of your app: there will be one per screen, and the Views provide the UI to the activity Intents specify what specific action should be performed Services run in the background and have no UI for the user they will update data, and trigger events

Android applications have common structure

Broadcast receivers can trigger intents that start an application Data storage provide data for your apps, and can be shared between apps database, file, and shared preferences (hash map) used by group of applications Activity is the presentation layer of your app: there will be one per screen, and the Views provide the UI to the activity Intents specify what specific action should be performed Services run in the background and have no UI for the user they will update data, and trigger events

Standard components form building blocks for Android apps

Has life-cycle

Activity Views
screen App to handle content


Service manifest

Background app Like music player


Other applications

Activity is one thing you can do

Services declared in the manifest and provide support

Services run in the background: Music player providing the music playing in an audio application

Intensive background apps, might need to spawn their own thread so as to not block the application

Intent provides late running binding to other apps

It can be thought of as the glue between activities. It is basically a passive data structure holding an abstract description of an action to be performed.
Written as action/data pairs such as: VIEW_ACTION/ACTION content://contacts/1

Notifications let you know of background events

This way you know that an SMS arrived, or that your phone is ringing, and the MP3 player should pause

ContentProviders share data

You need one if your application shares data with other applications This way you can share the contact list with the IM application If you dont need to share data, then you can use SQLlite database

UI layouts are in Java and XML

setContentView(R.layout.hello_activity); //will load the XML UI file

Android, Inc. was founded in Palo Alto, California, United States in October, 2003 by Andy Rubin (co-founder of Danger), Rich Miner (co-founder of Wildfire Communications, Inc.), Nick Sears (once VP at T-Mobile), and Chris White (headed design and interface development at WebTV) to develop, in Rubin 'swords "...smarter mobile devices that are more aware of its owner's location and preferences". Despite the obvious past accomplishments of the founders and early employees, Android Inc. operated secretly, revealing only that it was working on software for mobile phones. That same year, Rubin ran out of money. Steve Perlman, a close friend of Rubin, brought him $10,000 in cash in an envelope and refused a stake in the company.

The Android Open Source Project (AOSP) is led by Google, and is tasked with the maintenance and development of Android. According to the project "The goal of the Android Open Source Project is to create a successful real-world product that improves the mobile experience for end-users." AOSP also maintains the Android Compatibility Program, defining an "Android compatible" device "as one that can run any application written by third-party developers using the Android SDK and NDK", to prevent incompatible Android implementations. The compatibility program is also optional and free of charge, with the Compatibility Test Suite also free and open-source.

Android's user interface is based on direct manipulation,touch inputs that loosely correspond to real- world actions, like swiping, tapping, pinching and reverse pinching to manipulate on-screen objects. The response to user input is designed to be immediate and provides a fluid touch interface, often using the vibration capabilities of the device to provide haptic feedback to the user. Internal hardware such as accelerometers, gyroscopes and proximity sensors are used by some applications to respond to additional user actions, for example adjusting the screen from 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.

Android is developed in private by Google until the latest changes and updates are ready to be released, at which point the source code is made available publicly.This source code will only run without modification on select devices, usually the Nexus series of devices.With many devices, there are proprietary components which have to be provided by the manufacturer, in order for Android to work

Android consists of a kernel based on Linux kernel version 2.6 and, from Android 4.0 Ice Cream Sandwich onwards, version 3 .x, with middleware, libraries and APIs written in C, and application software running on an application framework which includes Javacompatible libraries based on Apache Harmony. Android uses the Dalvik virtual machine with just-intime compilation to run Dalvik 'dex-code' (Dalvik Executable), which is usually translated from Java bytecode. The main hardware platform for Android is the ARM architecture. There is support for x86 from the Android x86 project, and Google TV uses a special x86 version of Android.

Since Android devices are usually battery-powered, Android is designed to manage memory (RAM) to keep power consumption at a minimum, in contrast to desktop operating systems which generally assume they are connected to unlimited mains electricity. When an Android app is no longer in use, the system will automatically suspend it in memory while the app is still technically "open," suspended apps consume no resources (e.g. battery power or processing power) and sit idly in the background until needed again This has the dual benefit of increasing the general responsiveness of Android devices, since apps don't need to be closed and reopened from scratch each time, but also ensuring background apps don't waste power needlessly

Google provides major updates, incremental in nature, to Android every six to nine months, which most devices are capable of receiving over the air.[71] The latest major update is Android 4.2 Jelly Bean. Compared to its chief rival mobile operating system, namely iOS, Android updates are typically slow to reach actual devices. For devices not under the Nexus brand, updates often arrive months from the time the given version is officially released. This is caused partly due to the extensive variation in hardware of Android devices, to which each update must be specifically tailored, as the official Google source code only runs on their flagship Nexus phone. Porting Android to specific hardware is a time- and resource-consuming process for device manufacturers, who prioritize their newest devices and often leave older ones behind.[73] Hence, older smartphones are frequently not updated if the manufacturer decides it is not worth their time, regardless of whether the phone is capable of running the update.

Android has an active community of developers and enthusiasts who use the Android source code to develop and distribute their own modified versions of the operating system These community-developed releases often bring new features and updates to devices faster than through the official manufacturer/carrier channels, albeit without as extensive testing or quality assurance; provide continued support for older devices that no longer receive official updates; or bring Android to devices that were officially released running other operating systems, such as the HP Touchpad. Community releases often come pre-rooted and contain modifications unsuitable for non-technical users, such as the ability to overclock or over/undervolt the device's processor. CyanogenMod is the most widely used community frmware, and acts as a foundation for numerous others.

Android applications run in a sandbox, an isolated area of the system that does not have access to the rest of the system's resources, unless access permissions are explicitly granted by the user when the application is installed. Before installing an application, the Play Store displays all required permissions: a game may need to enable vibration or save data to an SD card, for example, but should not need to read SMS messages or access the phonebook. After reviewing these permissions, the user can choose to accept or refuse them, installing the application only if they accept.

The source code for Android is available under free and open source software licenses. Google publishes most of the code (including network and telephony stacks) under the Apache License version 2.0, and the rest, Linux kernel changes, under the GNU General Public License version 2. The Open Handset Alliance develops the changes to the Linux kernel, in public, with source code publicly available at all times. The rest of Android is developed in private by Google, with source code released publicly when a new version is released. Typically Google collaborates with a hardware manufacturer to produce a 'flagship' device (part of the Google Nexus series) featuring the new version of Android, then makes the source code available after that device has been released.

Some Phones using Android OS

Some TABS Also Use Android OS

GALAXY NOTE having Android

Notifications In Android

Google Drive

Many Games are there in the Android which can be downloaded from App Store

Wikipedia Android Developers Website Activity and Service life-cycle flow charts Tons of other Android info Google Maps API external library


Numerous Forums & other developer sites, including: threads threads Many threads

An Important note to viewer

All information Is taken from internet and is not verified by me


Version history of Android.pptx
Click to go to next presentation