introduction to android.rtf

Upload: venolazar

Post on 07-Jul-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/18/2019 Introduction to Android.rtf

    1/8

    Introduction to Android

    What is Android?• Linux-based Operating System for mobile devices

    • Developed by Android, Inc. (later purcased by !oogle"

    • #irst Android pone in October $%%&

    • 'ultiple companies producing Android pones Samsung,

    )*+,L!,'otorola, ASS, and many oters

    i. Google’s mobile platform

    •  uns on undreds of millions of mobile pones, tablets

    • 'ost popular installed mobile OS

    • Open Source

      ii. Development platform

    • 'ultiplatform

    • /ased on 0ava

    • 1lugins for 2clipse

    Android Version

  • 8/18/2019 Introduction to Android.rtf

    2/8

    Code name Version API level

    'arsmallo3 4.% A1I level $5

    Lollipop 6.7 A1I level $$Lollipop 6.% A1I level $7

    8it8at 9.9 - 9.9.9 A1I level 7:

    0elly /ean 9.5.x A1I level 7&

    0elly /ean 9.$.x A1I level 7;

    0elly /ean 9.7.x A1I level 74

    Ice +ream Sand3ic 9.%.5 - 9.%.9 A1I level 76,

  • 8/18/2019 Introduction to Android.rtf

    3/8

    "inu# $ernelAt te bottom of te layers is Linux $.4 . *is provides basic

    system functionality li=e process management, memory management,

    device management li=e camera, =eypad, display etc. Also, te =ernel

    andles all te tings tat Linux is really good at suc as net3or=ing and

    a vast array of device drivers, 3ic ta=e te pain out of interfacing to

     periperal ard3are. *e Android team cose to use tis =ernel because

    it provided proven core features on 3ic to develop te Android

    operating system. *e features of te Linux $.4 =ernel include

    •  %ecurit& model' *e Linux =ernel andles security bet3een te

    application and te system.

    •   (emor& management'  *e =ernel andles memory

    management, leaving you free to develop your app.

  • 8/18/2019 Introduction to Android.rtf

    4/8

    •  Process management' *e Linux =ernel manages processes 3ell,

    allocating resources to processes as tey need tem.

    •   )et!or$ stac$' *e Linux =ernel also andles net3or= 

    communication.•  Driver model' *e goal of Linux is to ensure tat te application

    3or=s. )ard3are manufacturers can build teir drivers into te

    Linux build.

    "ibraries

    Android>s native libraries.• Libc c standard lib.

    • SSL Secure Soc=et Layer

    • S!L $D image engine

    • Open!L?2S 5D image engine

    • 'edia #rame3or= media codecs

    • S@Lite Database engine

    • eb8it 8ernel of 3eb bro3ser

    • #ree*ype /itmap and Bector

    • Sufrace'anager +ompose 3indo3 manager 3it off-screen

     buffering.

    Atop te Linux $.4 =ernel, te Android frame3or= 3as developed

    3it various features. *ese features 3ere pulled from numerous open

    source proCects. *e output of tese proCects resulted in tese elements

    •  *he Android runtime' *e Android runtime is composed of 0ava

  • 8/18/2019 Introduction to Android.rtf

    5/8

    core libraries and te Dalvi= virtual macine.

    •  pen G" +graphics librar&,' *is cross-language, cross-platform

    application program interface (A1I" is used to produce $D and 5D

    computer grapics.•   Web-it'  *is open source 3eb bro3ser engine provides te

    functionality to display 3eb content and to simplify page loading.

    •  %"ite' *is open source relational database engine is designed

    to be embedded in devices.

    •  (edia frame!or$s' *ese libraries allo3 you to play and record

    audio and video.

    •  %ecure %oc$ets "a&er +%%",' *ese libraries are responsible for 

    Internet security.

    Android /untime

    *is section provides a =ey component called Dalvi= Birtual

    'acine 3ic is a =ind of 0ava Birtual 'acine specially designed and

    optimied for Android. *e Dalvi= B' ma=es use of Linux corefeatures li=e memory management and multi-treading, 3ic is

    intrinsic in te 0ava language. *e Dalvi= B' enables every Android

    application to run in its o3n process, 3it its o3n instance of te Dalvi= 

    virtual macine.

    *e Android runtime also provides a set of core libraries 3ic enable

    Android application developers to 3rite Android applications using

    standard 0ava programming language.

    i.Core "ibraries

    • 1rovides te functionality of te 0ABA 1rogramming Language

    ii.Dalvi$ V(

  • 8/18/2019 Introduction to Android.rtf

    6/8

    • A type of 0ava Birtual 'acine

    • egister based (not stac= macine li=e 0B'"

    • Optimiation for lo3 memory reEuirements

    • 2xecutes .dex (Dalvi=-2xecutable" files instead of .class

    • DF tool converts classes to .dex format

    Application 0rame!or$

    *e Application #rame3or= layer provides many iger-level

    services to applications in te form of 0ava classes. Application

    developers are allo3ed to ma=e use of tese services in teir applications.

    • Activit& (anager' 'anages te activity life cycle of applications

    •   Content Providers'  'anage te data saring bet3een

    applications

    •  *elephon& (anager' 'anages all voice calls. e use telepony

    manager if 3e 3ant to access voice calls in our application.

    • Vie! s&stem' )andles te vie3s and layouts tat ma=e up your 

    user interface (I".

    • "ocation (anager'  Location management, using !1S or cell

    to3er

    • /esource (anager' 'anage te various types of resources 3e use

    in our Application

    Applications

    Gou 3ill find all te Android application at te top layer. Gou 3ill

  • 8/18/2019 Introduction to Android.rtf

    7/8

    3rite your application to be installed on tis layer only. 2xamples of 

    suc applications are +ontacts /oo=s, /ro3ser, !ames etc.

    i. *is is 3ere our applications are placed.

    ii. Some pre-installed applications

    • S'S client app

    •  Dialer

    • eb bro3ser

    • +ontact manager

    As developers, 3e are able to 3rite an app 3ic replaces any existingsystem app.

    1sed "anguages

    • App 0ava

    • #rame3or= 0ava

    Libraries +H+

    • OS Drivers +

    Application Components

    i. +ore building bloc=s for Android applications

    ii. Apps can publis components for oter applications to use

    asyncronous message called Intent

    iii. Intents and components defined in a 'anifestfile

    iv. 2clipse 3ill generate te manifest for youJ

    v. +omponent Description

  • 8/18/2019 Introduction to Android.rtf

    8/8

    1. Activity Single‐screen of an application

    2. Service Long‐running bac=ground application

    3. +ontent provider 1rovides sared set of application data

    4. /roadcast receiver esponds to system broadcast event

    Android Development Process

    7.Setup te development environment

    $.+reate te App

    5.*est te App

    9.1ublis te App

    Installing and Configuring 2our %upport *ools

    3.Android supports these platforms'indo3s F1 or later, 'ac OS F

    7%.6.& or later (x&4 only"4 buntu. 

    5.6ava 6D-' Lays te foundation for te Android SD8.

    7.Android %D-' 1rovides access to Android libraries and allo3s you to

    develop for Android.

    8.9clipse ID9 +integrated development environment,' /rings

    togeter 0ava, te Android SD8, and te Android Android Development

    *ools (AD*" and provides tools for you to 3rite Android programs.

    :.Android AD*' Does a lot of te grunt 3or= for you, suc as creatingte files and structure reEuired for an Android app.