Android Beginner Lecture-1

download Android Beginner Lecture-1

of 53

Transcript of Android Beginner Lecture-1

  • 7/29/2019 Android Beginner Lecture-1

    1/53

    Android Course Introduction

    CSDAN0101

    1

    Ramakrishna Reddy KGraduate Student

    ME Computer Science

  • 7/29/2019 Android Beginner Lecture-1

    2/53

    Why Mobile Application Development Course ??

    Mobile computing is popular

    Flexibility and portability

    Smartphone --portable computing platform They have the potential to replace desktop

    and laptops

    2

  • 7/29/2019 Android Beginner Lecture-1

    3/53

    Motivation

    Smart Phone Basics

    Smart Phone Hardware

    Mobile OS

    Mobile Cloud Computing(future)

    Pervasive/Ubiquitous Computing

    Brief History of Android

    3

  • 7/29/2019 Android Beginner Lecture-1

    4/53

    SmartPhone

    Smart Phones are defined to be enhanced mobile phones

    that perform functionalities other than the typical phone.

    These enhanced features can be anything from email andinternet to a full keyboard.

    The definition of smart keeps changing as more and more

    new functions are introduced to mobile phones.

    They have senses (sight, hearing, touch) that laptops never

    had

    4

  • 7/29/2019 Android Beginner Lecture-1

    5/53

    Societal Impact

    Keeps you organized- functions as a personal diary, electronic organizer,has automatic reminders, and a contact list

    Faster communication- you can stay connected to the internet moreoften, easier to send emails and chat with friends

    Information at your fingertips via internet- faster connection to theinternet, you can get news coverage, weather conditions, and so muchmore

    Innovative way of taking notes- with the qwerty keyboard, you can take

    notes as fast as you normally type on a computer

    Better way of sharing information- transfer files to friends while online, ortransfer files to friends via email

    5

  • 7/29/2019 Android Beginner Lecture-1

    6/53

    Introduction to Mobile Computing

    information at any time, any place, and in any form. Whether in the

    office, at home or virtually any place on earth.

    mobile computing is the use of computers in a non-static environment.

    mobile computing is associated with mobility of hardware, data and

    software in computer applications.

    The combination of mobile computers and wireless communications is

    promoting the evolution of information technologies to enable an

    environment that is often called nomadic/ubiquitous computing.

    6

  • 7/29/2019 Android Beginner Lecture-1

    7/53

    Ubiquity

    7

    A3Anytime Anyplace Anyhow

  • 7/29/2019 Android Beginner Lecture-1

    8/53

    Mobile Computingan evolution

    8

    Primitive

    Simple

    Limited Capacity

    Cumbersome

    Unattractive

    Sophisticated

    Powerful

    Complex

    Refined

    Elegant

    http://images.google.com/imgres?imgurl=http://i.walmart.com/i/p/00/82/91/60/13/0082916013818_215X215.jpg&imgrefurl=http://www.walmart.com/catalog/product.gsp%3Fproduct_id%3D2569135%26cat%3D120870%26type%3D19%26dept%3D3944%26path%3D0%253A3944%253A3951%253A41937%253A120870&h=215&w=215&sz=22&tbnid=8JlT-0LB3XQJ:&tbnh=101&tbnw=101&start=10&prev=/images%3Fq%3Ddesktop%2Bpc%26hl%3Den%26lr%3Dhttp://images.google.com/imgres?imgurl=http://www.e-wireless.ca/catalog/images/P900.jpg&imgrefurl=http://www.e-wireless.ca/catalog/popup_image.php%3FpID%3D46&h=642&w=642&sz=63&tbnid=E-RxDCOWdakJ:&tbnh=135&tbnw=135&start=12&prev=/images%3Fq%3Dericsson%2Bp900%26hl%3Den%26lr%3D%26sa%3DN
  • 7/29/2019 Android Beginner Lecture-1

    9/53

    Mobile Computingan evolution

    9

    Context/Location Sensitive Technology

    computers are aware of their environment and

    adapt (location awareness)

    Technology Convergence small, cheap, portable, combined, replaceable -

    no more separate devices

  • 7/29/2019 Android Beginner Lecture-1

    10/53

    Mobile Computingan evolution

    10

    Mobile Computing and Technology radicallychanges how we do things

    The personal perspective (our private life)

    The organisational perspective (our working life)

    Mobile Computing and Technology is becoming an integrated and

    expected part of our existence

    Would you give up the freedom of owning a mobile phone?

    A luxury or a necessity?

  • 7/29/2019 Android Beginner Lecture-1

    11/53

    Mobile Technology - Applications

    11

    Location Based Systems

    User Requests - Pull

    Show me...

    Where am I and whats near me?

    Where is the nearest?

    Where are my friends/resources?

    Broadcasting - Push

    Did you know that?

    intelligent travel guide with up-to-datelocation dependent information

  • 7/29/2019 Android Beginner Lecture-1

    12/53

    Mobile Technology - Applications

    12

    Vehicle tracking

  • 7/29/2019 Android Beginner Lecture-1

    13/53

    Mobile Technology - Applications

    13

    Navigation assistance

  • 7/29/2019 Android Beginner Lecture-1

    14/53

    Mobile Technology - Applications

    14

    Entertainment

    outdoor Internet access

    ad-hoc networks for multi user games

    MMS

  • 7/29/2019 Android Beginner Lecture-1

    15/53

    Mobile Technology - Applications

    15

    Emergencies early transmission of patient data to the hospital, current status, first

    diagnosis

    replacement of a fixed infrastructures in case of earthquakes, hurricanes,

    fire etc.

    crisis, war, ...

  • 7/29/2019 Android Beginner Lecture-1

    16/53

    Mobile Technology - Applications

    16

    Health Care

  • 7/29/2019 Android Beginner Lecture-1

    17/53

    Mobile Technology - Applications

    17

    Mobile Office

    Direct access to customer files stored in a central location

    consistent databases for all agents/clients

  • 7/29/2019 Android Beginner Lecture-1

    18/53

    Mobile Technology - Applications

    18

    Education Enhancing the educational value for students in terms

    of provision, availability and access to campus

    information through the use of mobile and wireless

    computing. Adopting mobile and wireless technology as

    educational technology for the delivery of learning

    support material.

  • 7/29/2019 Android Beginner Lecture-1

    19/53

    Mobile Technology - Applications

    19

    Mobile Commerce The ability to purchase goods or services virtually anywhere

    through a wireless Internet-enabled device.

    An e-commerce shopping model in which the mobile phone / PDA

    replaces the PC.

  • 7/29/2019 Android Beginner Lecture-1

    20/53

    What this course covers

    Googles App Inventor

    Core JAVA required for Android

    Application Components

    User Interface Layout

    Multimedia Techniques

    Hardware Interface

    Networking

    Data storage Methods

    Location Based Services

    20

  • 7/29/2019 Android Beginner Lecture-1

    21/53

    21

    Course Plan

    Lectures : 20-22 Hands-on LABS 1 Mid semester Test 1 Assignment

    1 Project (mobile application)

    Schedule : Saturday, Sunday

    Time : Sat-5:30 PM to 7:00 PMSun- 10AM to 11:30AM

    Venue : 5102[LTC]

    Pr-requisites : Basic Programming

  • 7/29/2019 Android Beginner Lecture-1

    22/53

    Project Component

    Form a team of maximum 4.

    Submit the Idea.

    Submit the Flow Chart.

    Submit Design Document

    Implementation

    22

  • 7/29/2019 Android Beginner Lecture-1

    23/53

    Merit Based Special Offers

    AMCG membership http://www.bits-pilani.ac.in:12360/AMCG/AndroidGroup/index.html

    Summer Intern Opportunities

    23

  • 7/29/2019 Android Beginner Lecture-1

    24/53

    More Exciting Event(Exclusively for Registered Students)

    Android Mobile Application IdeaContest

    5 prizes

    1st

    Prize( 2000)--Certificate 2nd Prize( 1000)-- Certificate

    3rd Prize( 500)-- Certificate

    4th Prize -- Certificate

    5th Prize -- Certificate

    24

    Criterion: Innovativeness and Originality as well as match tocurrent Trend.

    Application Areas : Will be announced soon.

  • 7/29/2019 Android Beginner Lecture-1

    25/53

    Mobile Wireless Protocols Mobile wireless protocols are a set of rules which are used to get

    Internet over mobile device. These wireless protocols allows a Mobile device to get internet with

    out any need of HTML (Hypertext Markup Language) to WML(Wireless Markup Language) format conversion.

    Wireless protocols are used over different technologies like GPRS,

    WIFI, Bluetooth, 3G, and 4G in near future. Thus these protocols ensures the control of data transfer and usage

    of data over different medium of connections as listed above.

    25

  • 7/29/2019 Android Beginner Lecture-1

    26/53

    General Packet Radio Service (GPRS)

    General Packet Radio Service is packet

    oriented mobile data service on cellular

    communication systems which is used on a 2G

    or 3G communication system.

    It is used for mobile internet, MMS and other

    data communications.

    Informally, GPRS is also called 2.5G

    26

  • 7/29/2019 Android Beginner Lecture-1

    27/53

    Wireless Fidelity(WI-FI)

    Wireless Technology is an alternative to Wired Technology, which iscommonly used, for connecting devices in wireless mode.

    Wi-Fi (Wireless Fidelity) is a generic term that refers to the IEEE802.11 communications standard for Wireless Local Area Networks(WLANs).

    Wi-Fi Network connect computers to each other, to the internetand to the wired network.

    Wi-Fi Networks use Radio Technologies to transmit & receive dataat high speed: IEEE 802.11b

    IEEE 802.11a

    IEEE 802.11g

    27

  • 7/29/2019 Android Beginner Lecture-1

    28/53

    Bluetooth

    Bluetooth is a short-range wireless network

    originally intended to replace the cable(s).

    It uses radio waves to transmit & receive data.

    It operates on 2.4GHZ ISM band.In the beginning of the Bluetooth wireless

    technology era, Bluetooth was aimed at unifying

    the telecom and computing industries.

    28

  • 7/29/2019 Android Beginner Lecture-1

    29/53

    Global Positioning System(GPS)

    The Global Positioning System (GPS) is a space-based global navigation

    satellite system (GNSS) that provides reliable location and time

    information in all weather and at all times and anywhere on or near the

    Earth when and where there is an unobstructed line of sight to four or

    more GPS satellites.

    It is maintained by the United States government and is freely accessible

    by anyone with a GPS receiver

    29

  • 7/29/2019 Android Beginner Lecture-1

    30/53

    3G

    30

    The rapid development of mobile telecommunications was one ofthe most notable success stories of the 1990s.

    The 2G networks began their operation at the beginning of thedecade (the first GSM network was opened in 1991 in Finland), andsince then they have been expanding and evolving continuously.

    In the same year that GSM was commercially launched, ETSI hadalready started the standardization work for the next-generationmobile telecommunications network.

  • 7/29/2019 Android Beginner Lecture-1

    31/53

    3G

    31

    The dream of 3G is to unify the world's mobile computing devices

    through a single, worldwide radio transmission standard.

    Higher bandwidth enables a range of new applications!!

    For consumers, 3G quite simply means a more rewarding wireless

    experiencehigh-quality, low-cost voice, and fun and useful data

    services whenever they want them, whenever they need them and

    wherever they have mobile phone service.

  • 7/29/2019 Android Beginner Lecture-1

    32/53

    4G

    It is a successor to 3G and 2G families of standards

    Speed requirements for 4G service set the peak download speed at

    100 Mbit/s for high mobility communication (such as from trains

    and cars) and 1 Gbit/s for low mobility communication (such aspedestrians and stationary users).

    A 4G system is expected to provide a comprehensive and secure all-

    IP based mobile broadband solution to smart phones, laptop

    computer wireless modems and other mobile devices

    32

  • 7/29/2019 Android Beginner Lecture-1

    33/53

    Mobile Application Areas

    Location Based Services:

    Android devices have an in-built GPS receiver. Using GPS receivernumber of applications can be developed. For example, anapplication can use this GPS receiver to find the current position ofthe user and list him the near by hotels, tourist places, shoppingmalls, theaters, cab services etc.

    Banking:

    Banking transactions and services can be made very easy bydeveloping a mobile application. Transactions like balance enquiry,ministatement, fundtransfer and the services like cheque bookrequest, stopping a cheque, finding the cheque status can be donevery easily anytime anywhere using mobile.

    33

  • 7/29/2019 Android Beginner Lecture-1

    34/53

    Mobile Application Areas

    Gaming:

    Gaming is another emerging sector in the mobile domain. Apartfrom the single party games where a single user is intended to playthe game, developers can also concentrate on the multipartygames. Multiparty games can be developed using different mobilewireless technologies like bluetooth, GPRS, 3G.

    MashUp:

    Mashup is an application that uses and combines data, presentationor functionality from two or more sources to create new services.Mobiles with the GPRS or 3G connectivity can connect to internetto get the data from different sources. For example, a mobilemashup can be developed by getting the sport news from thecricinfo, international news from the CNNIBN, technology newsfrom newsX etc.

    34

  • 7/29/2019 Android Beginner Lecture-1

    35/53

    Summary

    35

    Mobile computing technology is becoming more pervasive

    each day

    Mobile computing applications are capable of delivering

    real business goals and objectives

    The rest of the module will focus on programming

    paradigms and techniques for the implementation of

    mobile computing applications

  • 7/29/2019 Android Beginner Lecture-1

    36/53

    What is Android?

    Android is a software stack formobile devices that includes an

    operating system, middleware andkey applications.

    36

  • 7/29/2019 Android Beginner Lecture-1

    37/53

    37

    OHA (Open Handset Alliance)

    A business alliance consisting of84 companies to

    develop open standards for mobile devices

  • 7/29/2019 Android Beginner Lecture-1

    38/53

    38

  • 7/29/2019 Android Beginner Lecture-1

    39/53

    Architecture

    39

  • 7/29/2019 Android Beginner Lecture-1

    40/53

    40

    Android S/W Stack - Application

    Android provides a set of core applications:

    Email Client SMS Program

    Calendar

    Maps

    Browser

    Contacts

    Etc

    All applications are written using the Java language.

  • 7/29/2019 Android Beginner Lecture-1

    41/53

    41

    Android S/W Stack App Framework

    Enabling and simplifying the reuse of

    components

    Developers have full access to the same

    framework APIs used by the core applications.Users are allowed to replace components.

  • 7/29/2019 Android Beginner Lecture-1

    42/53

    42

    Android S/W Stack

    App Framework (Cont)

    FeaturesFeature Role

    ViewSystem

    Used to build an application, including lists, grids, textboxes, buttons, and embedded web browser

    ContentProvider

    Enabling applications to access data from otherapplications or to share their own data

    ResourceManager

    Providing access to non-code resources (localized string, graphics, and layout files)

    NotificationManager

    Enabling all applications to display customer alerts in thestatus bar

    ActivityManager

    Managing the lifecycle of applications and providinga common navigation backstack

  • 7/29/2019 Android Beginner Lecture-1

    43/53

    43

    Android S/W Stack - Libraries

    Including a set of C/C++ libraries used by

    components of the Android system

    Exposed to developers through the Androidapplication framework

  • 7/29/2019 Android Beginner Lecture-1

    44/53

    44

    Android S/W Stack - Runtime

    Core LibrariesProviding most of the functionality available in the core

    libraries of the Java language

    APIsData Structures

    Utilities

    File Access

    Network Access

    Graphics

    Etc

  • 7/29/2019 Android Beginner Lecture-1

    45/53

    45

    Android S/W Stack Runtime (Cont)

    Dalvik Virtual Machine

    Providing environment on which every Android

    application runs

    Each Android application runs in its own process, withits own instance of the Dalvik VM.

    Dalvik has been written so that a device can run

    multiple VMs efficiently.

    Register-based virtual machine

  • 7/29/2019 Android Beginner Lecture-1

    46/53

    46

    Android S/W Stack Runtime (Cont)

    Dalvik Virtual Machine (Cont)

    Executing the Dalvik Executable (.dex) format

    .dex format is optimized for minimal memory footprint.

    Compilation

    Relying on the Linux Kernel for:Threading

    Low-level memory management

  • 7/29/2019 Android Beginner Lecture-1

    47/53

    47

    Android S/W Stack Linux Kernel

    Relying on Linux Kernel 2.6 for core system services

    Memory and Process Management

    Network Stack

    Driver Model

    Security

    Providing an abstraction layer between the H/W and the rest of the S/W sta

    ck

  • 7/29/2019 Android Beginner Lecture-1

    48/53

    Android Future

    Android 4.0 Ice Cream Sandwich

    Same O/S for phones and tablets

    YE 2011

  • 7/29/2019 Android Beginner Lecture-1

    49/53

    Android Future

    NFC Near Field Communications

    Google Wallet

    Replace credit cards

  • 7/29/2019 Android Beginner Lecture-1

    50/53

    Android Future

    Soft buttons

    Rotate with device

    Required by Ice Cream Sandwich

  • 7/29/2019 Android Beginner Lecture-1

    51/53

    Android Future

    Combination Devices

    Phones dock into Tablets or Laptops

  • 7/29/2019 Android Beginner Lecture-1

    52/53

    52 52

    References

    Image courtesy : OHA site, Google images, Android site.

    http://developer.android.com

    Wikipedia for wireless Internet Technologies

    Few slides are borrowed from Stafford University SDMCA course introslides !!

    Q A

    http://developer.android.com/http://developer.android.com/
  • 7/29/2019 Android Beginner Lecture-1

    53/53

    Any questions?

    www.google.com :P

    Q & A

    http://www.google.com/http://www.google.com/