android - an brief introduction

Upload: commandodhruv123

Post on 14-Apr-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/27/2019 ANDROID - An Brief Introduction

    1/41

  • 7/27/2019 ANDROID - An Brief Introduction

    2/41

    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

    Android OS

    Mobile Operating System

    Icons Of Some MOS

  • 7/27/2019 ANDROID - An Brief Introduction

    3/41

    What is Android ?

  • 7/27/2019 ANDROID - An Brief Introduction

    4/41

    INTRODUCTION

  • 7/27/2019 ANDROID - An Brief Introduction

    5/41

    Open handset

    Alliance

  • 7/27/2019 ANDROID - An Brief Introduction

    6/41

    Android is part of the build abetter phone process

    Open Handset Alliance produces Android

    Comprises handset manufacturers,

    software firms, mobile operators, andother manufactures and fundingcompanies

  • 7/27/2019 ANDROID - An Brief Introduction

    7/41

    Android is growingUneven distribution of OS by regions

    Does not include iTouch or iPad, as not smartphones

  • 7/27/2019 ANDROID - An Brief Introduction

    8/41

    Android applications arecompiled to Dalvik bytecodeWrite app in Java

    Compiled in Java

    Transformed to Dalvik bytecode

    Linux OS

    Loaded into Dalvik VM

  • 7/27/2019 ANDROID - An Brief Introduction

    9/41

    The Dalvik runtime is

    optimised for mobileapplications.

    Run multiple VMs efficiently

    Each app has its own VM

    Minimal memory footprint

  • 7/27/2019 ANDROID - An Brief Introduction

    10/41

    Android has many components

  • 7/27/2019 ANDROID - An Brief Introduction

    11/41

    Android has a working emulator

  • 7/27/2019 ANDROID - An Brief Introduction

    12/41

    All applications are written in Javaand available to each other

    Android designed to enable reuse ofcomponents in other applications

    Each application can publish itscapabilities which other apps can use

  • 7/27/2019 ANDROID - An Brief Introduction

    13/41

    Bruce Scharlau, University of Aberdeen, 2010

    Android applications havecommon structure

    Views such as

    lists, grids, textboxes, buttons,and even anembeddable webbrowser

    Content

    Providers thatenableapplications toaccess data from

    other applications(such asContacts), or toshare their owndata

    A Resource Manager,providing access to non-code resources such aslocalized strings,graphics, and layout files

    A Notification Managerthat enables all apps todisplay custom alerts in thestatus bar

    An Activity Managerthatmanages the life cycle ofapplications and providesa common navigationbackstack

    A d d l h

  • 7/27/2019 ANDROID - An Brief Introduction

    14/41

    Android applications havecommon structure

    Broadcast

    receivers cantrigger intents thatstart an application

    Data storage

    provide data foryour apps, andcan be sharedbetween appsdatabase, file,

    and sharedpreferences(hash map) usedby group ofapplications

    Services run in thebackground and haveno UI for the userthey will update data,and trigger events

    Intents specify whatspecific action should beperformed

    Activity is the presentationlayer of your app: there willbe one per screen, and theViews provide the UI to theactivity

    A d d l h

  • 7/27/2019 ANDROID - An Brief Introduction

    15/41

    Android applications havecommon structure

    Broadcast

    receivers cantrigger intents thatstart an application

    Data storage

    provide data foryour apps, andcan be sharedbetween appsdatabase, file,

    and sharedpreferences(hash map) usedby group ofapplications

    Servicesrun in thebackground and have

    no UI for the userthey will update data,and trigger events

    Intents specify whatspecific action should beperformed

    Activity is the presentationlayer of your app: there willbe one per screen, and theViews provide the UI to theactivity

  • 7/27/2019 ANDROID - An Brief Introduction

    16/41

    Standard components formbuilding blocks for Android apps

    Other applications

    Has life-cycle

    screen

    App to handle content

    Background appLike music player

    Views

    manifest

    Activity

    Intents

    Service

    Notifications

    ContentProviders

  • 7/27/2019 ANDROID - An Brief Introduction

    17/41

    Activity is one thing you can do

  • 7/27/2019 ANDROID - An Brief Introduction

    18/41

    Services declared in the manifestand provide support

    Services run in the background:

    Music player providing the music playing inan audio application

    Intensive background apps, might need tospawn their own thread so as to not blockthe application

  • 7/27/2019 ANDROID - An Brief Introduction

    19/41

    Intent provides late runningbinding to other apps

    It can be thought of as the glue betweenactivities. It is basically a passive data

    structure holding an abstract description ofan action to be performed.

    Written as action/data pairs such as:VIEW_ACTION/ACTION content://contacts/1

  • 7/27/2019 ANDROID - An Brief Introduction

    20/41

    Notifications let you know ofbackground events

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

  • 7/27/2019 ANDROID - An Brief Introduction

    21/41

    ContentProviders share data

    You need one if your application shares datawith other applications

    This way you can share the contact list with theIM application

    If you dont need to share data, then you canuse SQLlite database

    J

  • 7/27/2019 ANDROID - An Brief Introduction

    22/41

    UI layouts are in Java and XML

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

  • 7/27/2019 ANDROID - An Brief Introduction

    23/41

    Android, Inc. was founded in Palo Alto, California, UnitedStates in October, 2003 by Andy Rubin (co-founder ofDanger), 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) todevelop, in Rubin 'swords "...smarter mobile devices that aremore aware of its owner's location and preferences". Despitethe obvious past accomplishments of the founders and earlyemployees, Android Inc. operated secretly, revealing only thatit was working on software for mobile phones. That sameyear, Rubin ran out of money. Steve Perlman, a close friend of

    Rubin, brought him $10,000 in cash in an envelope andrefused a stake in the company.

  • 7/27/2019 ANDROID - An Brief Introduction

    24/41

    The Android Open Source Project (AOSP) is ledby Google, and is tasked with the maintenance anddevelopment of Android. According to the project "Thegoal of the Android Open Source Project is to create asuccessful real-world product that improves the mobile

    experience for end-users." AOSP also maintains theAndroid Compatibility Program, defining an "Androidcompatible" device "as one that can run anyapplication written by third-party developers using the

    Android SDK and NDK", to prevent incompatible

    Android implementations. The compatibility program isalso optional and free of charge, with the CompatibilityTest Suite also free and open-source.

  • 7/27/2019 ANDROID - An Brief Introduction

    25/41

    Android's user interface is based on direct manipulation,touchinputs that loosely correspond to real- world actions, likeswiping, tapping, pinching and reverse pinching to manipulateon-screen objects. The response to user input is designed tobe immediate and provides a fluid touch interface, often usingthe vibration capabilities of the device to provide hapticfeedback to the user. Internal hardware such asaccelerometers, gyroscopes and proximity sensors are usedby some applications to respond to additional user actions, forexample adjusting the screen from portrait to landscapedepending on how the device is oriented, or allowing the userto steer a vehicle in a racing game by rotating the device,simulating control of a steering wheel.

  • 7/27/2019 ANDROID - An Brief Introduction

    26/41

    Android is developed in private by Google until the latestchanges and updates are ready to be released, at whichpoint the source code is made available publicly.Thissource code will only run without modification on select

    devices, usually the Nexus series of devices.With manydevices, there are proprietary components which have tobe provided by the manufacturer, in order for Android towork

  • 7/27/2019 ANDROID - An Brief Introduction

    27/41

    Android consists of a kernel based on Linux kernelversion 2.6 and, from Android 4.0 Ice Cream Sandwichonwards, version 3 .x, with middleware, libraries and

    APIs written in C, and application software running onan application framework which includes Java-

    compatible libraries based on Apache Harmony.Android uses the Dalvik virtual machine with just-in-time compilation to run Dalvik 'dex-code' (DalvikExecutable), which is usually translated from Javabytecode.The main hardware platform for Android is

    the ARM architecture. There is support for x86 fromthe Android x86 project, and Google TV uses a specialx86 version of Android.

  • 7/27/2019 ANDROID - An Brief Introduction

    28/41

    Since Android devices are usually battery-powered, Android isdesigned to manage memory (RAM) to keep powerconsumption at a minimum, in contrast to desktop operatingsystems which generally assume they are connected tounlimited mains electricity. When an Android app is no longerin use, the system will automatically suspend it in memory -while the app is still technically "open," suspended appsconsume no resources (e.g. battery power or processingpower) and sit idly in the background until needed again Thishas the dual benefit of increasing the general responsivenessof Android devices, since apps don't need to be closed andreopened from scratch each time, but also ensuringbackground apps don't waste power needlessly

  • 7/27/2019 ANDROID - An Brief Introduction

    29/41

    Google provides major updates, incremental in nature, to Android every six tonine months, which most devices are capable of receiving over the air.[71] Thelatest major update is Android 4.2 Jelly Bean.

    Compared to its chief rival mobile operating system, namely iOS, Androidupdates are typically slow to reach actual devices. For devices not under the

    Nexus brand, updates often arrive months from the time the given version isofficially released. This is caused partly due to the extensive variation inhardware of Android devices, to which each update must be specificallytailored, as the official Google source code only runs on their flagship Nexusphone. Porting Android to specific hardware is a time- and resource-consumingprocess for device manufacturers, who prioritize their newest devices and often

    leave older ones behind.[73] Hence, older smartphones are frequently notupdated if the manufacturer decides it is not worth their time, regardless ofwhether the phone is capable of running the update.

  • 7/27/2019 ANDROID - An Brief Introduction

    30/41

    Android has an active community of developers andenthusiasts who use the Android source code to develop anddistribute their own modified versions of the operating systemThese community-developed releases often bring newfeatures and updates to devices faster than through theofficial manufacturer/carrier channels, albeit without asextensive testing or quality assurance;provide continuedsupport for older devices that no longer receive officialupdates; or bring Android to devices that were officiallyreleased running other operating systems, such as the HPTouchpad. Community releases often come pre-rooted andcontain modifications unsuitable for non-technical users, suchas the ability to overclock or over/undervolt the device'sprocessor. CyanogenMod is the most widely used communityfrmware, and acts as a foundation for numerous others.

  • 7/27/2019 ANDROID - An Brief Introduction

    31/41

    Android applications run in a sandbox, an isolatedarea of the system that does not have access tothe rest of the system's resources, unless accesspermissions are explicitly granted by the user

    when the application is installed.Before installing an application, the Play Storedisplays all required permissions: a game mayneed to enable vibration or save data to an SDcard, for example, but should not need to read

    SMS messages or access the phonebook. Afterreviewing these permissions, the user can chooseto accept or refuse them, installing the applicationonly if they accept.

  • 7/27/2019 ANDROID - An Brief Introduction

    32/41

    The source code for Android is available under free and opensource software licenses. Google publishes most of the code(including network and telephony stacks) under the ApacheLicense version 2.0, and the rest, Linux kernel changes,under the GNU General Public License version 2. The OpenHandset Alliance develops the changes to the Linux kernel, inpublic, with source code publicly available at all times. Therest of Android is developed in private by Google, with sourcecode released publicly when a new version is released.Typically Google collaborates with a hardware manufacturerto produce a 'flagship' device (part of the Google Nexusseries) featuring the new version of Android, then makes thesource code available after that device has been released.

  • 7/27/2019 ANDROID - An Brief Introduction

    33/41

  • 7/27/2019 ANDROID - An Brief Introduction

    34/41

    Some Phonesusing

    Android OS

    Some TABSAlso Use

    Android OS

    GALAXYNOTE having

    Android

  • 7/27/2019 ANDROID - An Brief Introduction

    35/41

    Notifications In Android

  • 7/27/2019 ANDROID - An Brief Introduction

    36/41

    Google Drive

  • 7/27/2019 ANDROID - An Brief Introduction

    37/41

    Games

    Many Games are there in theAndroid which can be

    downloaded from App Store

  • 7/27/2019 ANDROID - An Brief Introduction

    38/41

    Acknowledgements Wikipedia

    Android Developers Website

    Activity and Service life-cycle flow charts

    Tons of other Android info

    Google Maps API external library http://code.google.com/android/add-ons/google-apis/maps-overview.html

    MightyPocket http://www.mightypocket.com/2010/08/android-screenshots-screen-capture-screen-cast/

    Numerous Forums & other developer sites, including: http://www.javacodegeeks.com/2011/02/android-google-maps-tutorial.html

    http://efreedom.com/Question/1-6070968/Google-Maps-Api-Directions http://www.mail-archive.com/[email protected]/msg28487.html

    http://android.bigresource.com/ threads

    http://groups.google.com/group/android-developers threads

    Many http://stackoverflow.com threads

    http://www.anddev.org/google_driving_directions_-_mapview_overlayed-t826.html

    http://code.google.com/android/add-ons/google-apis/maps-overview.htmlhttp://www.mightypocket.com/2010/08/android-screenshots-screen-capture-screen-cast/http://www.javacodegeeks.com/2011/02/android-google-maps-tutorial.htmlhttp://efreedom.com/Question/1-6070968/Google-Maps-Api-Directionshttp://www.mail-archive.com/[email protected]/msg28487.htmlhttp://android.bigresource.com/http://groups.google.com/group/android-developershttp://stackoverflow.com/http://www.anddev.org/google_driving_directions_-_mapview_overlayed-t826.htmlhttp://www.anddev.org/google_driving_directions_-_mapview_overlayed-t826.htmlhttp://www.anddev.org/google_driving_directions_-_mapview_overlayed-t826.htmlhttp://www.anddev.org/google_driving_directions_-_mapview_overlayed-t826.htmlhttp://www.anddev.org/google_driving_directions_-_mapview_overlayed-t826.htmlhttp://www.anddev.org/google_driving_directions_-_mapview_overlayed-t826.htmlhttp://stackoverflow.com/http://groups.google.com/group/android-developershttp://groups.google.com/group/android-developershttp://groups.google.com/group/android-developershttp://android.bigresource.com/http://www.mail-archive.com/[email protected]/msg28487.htmlhttp://www.mail-archive.com/[email protected]/msg28487.htmlhttp://www.mail-archive.com/[email protected]/msg28487.htmlhttp://www.mail-archive.com/[email protected]/msg28487.htmlhttp://www.mail-archive.com/[email protected]/msg28487.htmlhttp://efreedom.com/Question/1-6070968/Google-Maps-Api-Directionshttp://efreedom.com/Question/1-6070968/Google-Maps-Api-Directionshttp://efreedom.com/Question/1-6070968/Google-Maps-Api-Directionshttp://efreedom.com/Question/1-6070968/Google-Maps-Api-Directionshttp://efreedom.com/Question/1-6070968/Google-Maps-Api-Directionshttp://efreedom.com/Question/1-6070968/Google-Maps-Api-Directionshttp://efreedom.com/Question/1-6070968/Google-Maps-Api-Directionshttp://efreedom.com/Question/1-6070968/Google-Maps-Api-Directionshttp://efreedom.com/Question/1-6070968/Google-Maps-Api-Directionshttp://www.javacodegeeks.com/2011/02/android-google-maps-tutorial.htmlhttp://www.javacodegeeks.com/2011/02/android-google-maps-tutorial.htmlhttp://www.javacodegeeks.com/2011/02/android-google-maps-tutorial.htmlhttp://www.javacodegeeks.com/2011/02/android-google-maps-tutorial.htmlhttp://www.javacodegeeks.com/2011/02/android-google-maps-tutorial.htmlhttp://www.javacodegeeks.com/2011/02/android-google-maps-tutorial.htmlhttp://www.javacodegeeks.com/2011/02/android-google-maps-tutorial.htmlhttp://www.mightypocket.com/2010/08/android-screenshots-screen-capture-screen-cast/http://www.mightypocket.com/2010/08/android-screenshots-screen-capture-screen-cast/http://www.mightypocket.com/2010/08/android-screenshots-screen-capture-screen-cast/http://www.mightypocket.com/2010/08/android-screenshots-screen-capture-screen-cast/http://www.mightypocket.com/2010/08/android-screenshots-screen-capture-screen-cast/http://www.mightypocket.com/2010/08/android-screenshots-screen-capture-screen-cast/http://www.mightypocket.com/2010/08/android-screenshots-screen-capture-screen-cast/http://www.mightypocket.com/2010/08/android-screenshots-screen-capture-screen-cast/http://www.mightypocket.com/2010/08/android-screenshots-screen-capture-screen-cast/http://www.mightypocket.com/2010/08/android-screenshots-screen-capture-screen-cast/http://www.mightypocket.com/2010/08/android-screenshots-screen-capture-screen-cast/http://code.google.com/android/add-ons/google-apis/maps-overview.htmlhttp://code.google.com/android/add-ons/google-apis/maps-overview.htmlhttp://code.google.com/android/add-ons/google-apis/maps-overview.htmlhttp://code.google.com/android/add-ons/google-apis/maps-overview.htmlhttp://code.google.com/android/add-ons/google-apis/maps-overview.htmlhttp://code.google.com/android/add-ons/google-apis/maps-overview.htmlhttp://code.google.com/android/add-ons/google-apis/maps-overview.html
  • 7/27/2019 ANDROID - An Brief Introduction

    39/41

    An Important note to viewer

    All information Is taken from internet and isnot verified by me

  • 7/27/2019 ANDROID - An Brief Introduction

    40/41

  • 7/27/2019 ANDROID - An Brief Introduction

    41/41

    VERSION HISTORY OF ANDROID

    Version history of Android.pptx

    Click to go to next presentation

    http://localhost/var/www/apps/conversion/tmp/scratch_1/Version%20history%20of%20Android.pptxhttp://localhost/var/www/apps/conversion/tmp/scratch_1/Version%20history%20of%20Android.pptx