introduction to android 2013

Upload: ashmitashrivas

Post on 04-Apr-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/29/2019 Introduction to Android 2013

    1/45

    Introduction to Android

  • 7/29/2019 Introduction to Android 2013

    2/45

    Outline

    What is Android? Why Android?

    Android Software Stack

    Android Development Environment

    First Android Application

  • 7/29/2019 Introduction to Android 2013

    3/45

    What is Android ?

    Google's Android is the worlds most popularmobile platform.

    It is a modified version of Linux.

    Android is a software stack for mobile devices

    that includes an operating system, middleware

    and keyapplications.

  • 7/29/2019 Introduction to Android 2013

    4/45

    History

    Android, Inc. was founded in October 2003by Andy Rubin ,Rich Miner, Nick Sears and

    Chris White to develop, in Rubin's words

    "smarter mobile devices thatare more aware of its owner's

    location and preferences".

  • 7/29/2019 Introduction to Android 2013

    5/45

    Android Inc. acquired by Google in August,2005.

    At Google, the developed a mobile device

    platform powered by the Linux kernel.

    On November 5, 2007, the Open Handset

    Alliance came with a goal to develop openstandards for mobile devices.

  • 7/29/2019 Introduction to Android 2013

    6/45

    That day, Android was unveiled as its firstproduct, a mobile device platform built on

    the Linux kernel version 2.6.

    The first commercially available phone to run

    Android was the HTC Dream in 2008.

    Since 2008, Android has seen numerousupdates which have incrementally improved the

    operating system, adding new features and

    fixing bugs in previous releases.

  • 7/29/2019 Introduction to Android 2013

    7/45

    Version History

    Version Code name Release date API level

    1.5 Cupcake April 30, 2009 3

    1.6 Donut September 15, 2009 4

    2.02.1 clair October 26, 2009 7

    2.2 Froyo May 20, 2010 8

    2.3 Gingerbread December 6, 2010 9

    3.x Honeycomb May 10, 2011 12

    4.0.x Ice Cream Sandwich December 16, 2011 15

    4.1.x Jelly Bean July 9, 2012 16

    4.2 Jelly Bean November 13, 2012 17

  • 7/29/2019 Introduction to Android 2013

    8/45

    Features :

    Provides us SDK for developing Applications

    Runs on Dalvik virtual machine

    Video and audio codecs

    Bluetooth 3G, and WiFi, Camera

    Integrated browser based on the open source

    WebKit engine

  • 7/29/2019 Introduction to Android 2013

    9/45

    Optimized graphics powered by a custom 2Dgraphics library; 3D graphics based

    SQLite for structured data storage

    Media support for common audio, video, and

    still image formats (MPEG4, H.264, MP3, AAC,

    AMR, JPG, PNG, GIF)

    GSM Telephony (hardware dependent)

  • 7/29/2019 Introduction to Android 2013

    10/45

    Why Android?

    The ability for anyone to customize the Google

    Android platform

    The consumer will benefit from having a wide

    range of mobile applications to choose from

    since the monopoly will be broken by Google

    Android Men will be able to customize a mobile phones

    using Google Android platform like never before

  • 7/29/2019 Introduction to Android 2013

    11/45

    Features like weather details, opening screen,

    live RSS feeds and even the icons on the

    opening screen will be able to be customized

    In addition the entertainment functionalities

    will be taken a much higher by Google Android

    being able to offer online real time multiplayergames

  • 7/29/2019 Introduction to Android 2013

    12/45

    Android Software Stack

    The software stack is split into Four Layers:

    The application layer

    The application framework

    The libraries and runtime

    The kernel

  • 7/29/2019 Introduction to Android 2013

    13/45

  • 7/29/2019 Introduction to Android 2013

    14/45

    Linux kernel

    The architecture is based on the Linux2.6

    kernel. Android use Linux kernel as itshardware abstraction layer between thehardware and rest of the software.

    It also provides memory management, process

    management, a security model, andnetworking, a lot of core operating systeminfrastructures that are robust and have beenproven over time.

  • 7/29/2019 Introduction to Android 2013

    15/45

    Native Libraries

    The next level up is the native libraries.

    Everything that you see here in green is writtenin C and C++.

  • 7/29/2019 Introduction to Android 2013

    16/45

    Android Runtime

    The Android Runtime was designed specifically

    for Android to meet the needs of running in an

    embedded environment where you have limited

    battery, limited memory, limited CPU.

  • 7/29/2019 Introduction to Android 2013

    17/45

    Dalvik Virtual Machine

    The DVM runs somethingcalled dex files, D-E-X and

    these are byte codes that

    are the results of

    converting at build time.

  • 7/29/2019 Introduction to Android 2013

    18/45

    Application Framework

    This is all written in a Java programming

    language and the application framework is the

    toolkit that all applications use.

  • 7/29/2019 Introduction to Android 2013

    19/45

    Views that can be used to build an application,including lists, grids, text boxes, and buttons.

    Content Providers that enable applications toaccess data from other applications (such asContacts), or to share their own data .

    Resource Manager, providing access to non-coderesources such as localized strings, graphics, andlayout files .

    Notification Manager that enables all applicationsto display custom alerts in the status bar.

    Activity Manager that manages the lifecycle ofapplications and provides a common navigationback stack.

  • 7/29/2019 Introduction to Android 2013

    20/45

    Application Layer

    The final layer on top is Applications.

    It includes the home application, the contactsapplication, the browser, and your apps.

    And everything at this layer is, again, using thesame app framework provided by the layersbelow.

  • 7/29/2019 Introduction to Android 2013

    21/45

    Android Development Environment

    Java Development Toolkit

    Eclipse Integrated Development Environment

    (IDE)

    Software Development Kit (SDK)

    Android Development Tools (ADT)

  • 7/29/2019 Introduction to Android 2013

    22/45

    Setup Eclipse IDE

    Download Eclipse IDE for Java Developer fromthe eclipse.org/downloads/ .

  • 7/29/2019 Introduction to Android 2013

    23/45

    Setup Android Software Development Kit

    Download Android SDK fromhttp://developer.android.com/sdk/index.html

    http://developer.android.com/sdk/index.htmlhttp://developer.android.com/sdk/index.htmlhttp://developer.android.com/sdk/index.html
  • 7/29/2019 Introduction to Android 2013

    24/45

    extract the downloaded file and run the SDKManager.

  • 7/29/2019 Introduction to Android 2013

    25/45

    Choose the Android platform version which youwish to develop on and click Install packages.

    You will be prompted with a pop-up, check off

    Accept and click Install.

  • 7/29/2019 Introduction to Android 2013

    26/45

    Setup Android Development Tools plugin

    Open Eclipse and select Help-->Install NewSoftware

  • 7/29/2019 Introduction to Android 2013

    27/45

    Click Add

    In the pop-up dialog, type 'ADT Plugin' in the

    Name field and enter the following URL in the

    location field:

    https://dlssl.google.com/android/eclipse/

    https://dlssl.google.com/android/eclipse/https://dlssl.google.com/android/eclipse/
  • 7/29/2019 Introduction to Android 2013

    28/45

    Select the 'Developer Tools' option and click

    Next. Once the tools are downloaded, click

    Next.

  • 7/29/2019 Introduction to Android 2013

    29/45

    Setup an AVD

    In Eclipse, navigate to Window --> AVD

    Manager.

    Click New to fill in the details of the virtual

    device.

  • 7/29/2019 Introduction to Android 2013

    30/45

  • 7/29/2019 Introduction to Android 2013

    31/45

    Application Components

    Activities represents a single screen with a user

    interface.

    A service is a component that runs in the

    background to perform long-running operations

    or to perform work for remote processes. Aservice does not provide a user interface.

    A content provider manages a shared set of

    application data.

    A broadcast receiver is a component thatresponds to system-wide broadcast

    announcements.

  • 7/29/2019 Introduction to Android 2013

    32/45

    Create a Project with Eclipse

    1. Create Android Project

  • 7/29/2019 Introduction to Android 2013

    33/45

    2. Add project name and other details.

  • 7/29/2019 Introduction to Android 2013

    34/45

    3. First Activity

  • 7/29/2019 Introduction to Android 2013

    35/45

    4. Directory Structure

  • 7/29/2019 Introduction to Android 2013

    36/45

    src/ Contains your stub Activity file. (e.g. all.java files).

    bin Output directory of the build. This is whereyou can find the final .apk file and other

    compiled resources.

    jni Contains native code sources .

    gen/ Contains the Java files generated by ADT,such as your R.java file and interfaces createdfrom AIDL files.

  • 7/29/2019 Introduction to Android 2013

    37/45

    assets/ This is empty. You can use it to store

    raw asset files. Files that you save here are

    compiled into an .apk file

    res/ Contains application resources, such as

    drawable files, layout files, and string values. res/drawable/ For bitmap and files and XML

    files that describe Drawable shapes or a

    Drawable .

    res/layout/ XML files that are compiled intoscreen layouts (or part of a screen).

  • 7/29/2019 Introduction to Android 2013

    38/45

    5. AndroidMainfest.xml

    AndroidManifest.xml ,The control file that

    describes the nature of the application and

    each of its components.

    It describes:

    1. qualities about the activities, services, intentreceivers, and content providers.

    2. what permissions are requested; what

    external libraries are needed.

    3. what device features are required,.

    4. what API Levels are supported or required.

  • 7/29/2019 Introduction to Android 2013

    39/45

  • 7/29/2019 Introduction to Android 2013

    40/45

    6. activity_main.xml

  • 7/29/2019 Introduction to Android 2013

    41/45

    7. MainActivity.java

  • 7/29/2019 Introduction to Android 2013

    42/45

    8. Run the Project

  • 7/29/2019 Introduction to Android 2013

    43/45

    9. Output

  • 7/29/2019 Introduction to Android 2013

    44/45

    10. Your Application in main menu

  • 7/29/2019 Introduction to Android 2013

    45/45

    Thank you for your attention