SlideShare une entreprise Scribd logo
1  sur  51
Télécharger pour lire hors ligne
Developing Applications
   for Android

    Muhammad Usman Chaudhry
         SZABIST CS4615




                              Lecture # 1
Today
    ●   Course Introduction
    ●   What will you learn?
    ●   Why learn android?
    ●   Prerequisites
    ●   What I expect from you?
    ●   Grading
    ●   Project & Other Requirements
    ●   Book & Reference material
    ●   Android History, Overview & Evolution
    ●   Platform Architecture
    ●   Example Applications
    ●   Growth Comparison of Android with iOS & Other Mobile
        Platforms
Muhammad Usman Chaudhry        CS4615                      SZABIST
Course Introduction
    ● 2 + 1 Credit Hours
    ● 1 Class per week (Every Friday)
    ● Highly Interactive




Muhammad Usman Chaudhry   CS4615        SZABIST
What will you learn?
    ● Understand the complete android
      development architecture.
    ● Engineer beautiful, sleek & awesome
      android apps.
    ● Real life applications of Object Oriented
      Programming.
    ● Some wonderful design patterns
    ● Many computer science concepts like,
      Databases, Multimedia, Multithreading,
      Graphics, etc. applied in your apps.
Muhammad Usman Chaudhry   CS4615                  SZABIST
What will you learn?
    ● Create better applications with lower
      resources available (unlike desktop, web
      systems).
    ● Industry oriented Java standards, clean
      coding tips, etc.




Muhammad Usman Chaudhry   CS4615                 SZABIST
Why Learn Android?
    ● Run your applications on 59% of the
      smartphones worldwide equalling 331
      million devices. (Jul - 2012)
    ● Join in 600,000 applications for android.
      (Jun - 2012)
    ● 20 billion app downloads so far
    ● High average with around 500 downloads
      per app.
    ● Not just smartphone, Android OS is being
      used in, TVs, Microwaves, Car Tapes, etc.
Muhammad Usman Chaudhry   CS4615                  SZABIST
Why Learn Android?
    ● High job success rates.
    ● Don't want a job? Create app sell to market.
      You maybe the next best startup.
    ● Easy to show to your friend, take your
      android out of your pocket and bam! You
      don't need computer now.




Muhammad Usman Chaudhry   CS4615               SZABIST
Prerequisites
    ● Object-oriented programming. (Important)
    ● You must understand terms like:
         ○   Class
         ○   Instance
         ○   Method
         ○   Context
         ○   Superclass/Subclass
         ○   Interface/Protocols
         ○   Delegates
    ● Basic understanding of design patterns


Muhammad Usman Chaudhry            CS4615      SZABIST
Prerequisites
    ● If you haven't already written any programs
      where you had to create handful of classes
      then you'll need to work doubly hard to
      keep up the pace.




Muhammad Usman Chaudhry   CS4615               SZABIST
What I Expect From You
    ●   High punctuality
    ●   Focus & interest in class
    ●   On time assignments
    ●   Continuous feedback




Muhammad Usman Chaudhry    CS4615   SZABIST
Grading System
    ●   Assignments x 10
    ●   Quizzes x 15
    ●   Project x 20
    ●   Midterm x 20
    ●   Final x 35




Muhammad Usman Chaudhry    CS4615   SZABIST
Project
    ●   Can be pre-cursor to FYP
    ●   High grade points (more value)
    ●   2 students per group
    ●   Emphasis will be over quality of product
    ●   Deliverable will be posted to Google Play
        Store for public viewing with SZABIST
        account



Muhammad Usman Chaudhry   CS4615                    SZABIST
Other Requirements
    ● Join Google Group:
         ○ SZABIST-FALL2012-ANDROID
    ● Installation of Eclipse IDE & Android SDK
      Tools. (Before coming week).
    ● Install all SDKs preferably (2.1, 2.2 & 4).
    ● An android device. (Optional but highly
      recommended)




Muhammad Usman Chaudhry     CS4615                  SZABIST
Books
    Textbook:
    ● Beginning Android 4 by Grant Allen (Apress)

    Reference:
    ● http://developer.android.com/




Muhammad Usman Chaudhry   CS4615               SZABIST
Android Overview & Evolution
   1. Android history
   2. Basic technical specification
   3. Supported platforms for development




Muhammad Usman Chaudhry   CS4615            SZABIST
1. Android History
    ● Started by Android Inc. in 2005, which had
      been financed by Google, though initial
      developer wasn't part of Google.
    ● In 2007 Google bought Android Inc. & also
      formed OHA (Open Handset Alliance).
    ● Android beta was released in Nov 2007.
    ● Android v1.0 was released in Sep 2008.
    ● HTC Dream had been first commercial
      android device.
    ● Current android version is 4.1 (Jellybeans).
Muhammad Usman Chaudhry   CS4615                 SZABIST
What is Open Handset Alliance?
    ● A consortium of 84 hardware, software and
      telecommunication companies.
    ● Devoted to advancing open standards for
      mobile devices.
    ● Include top names,
         ○   Acer, Dell, Fujitsu, HTC, LG, Motorola, Samsung, Toshiba, Sony, NEC, Asus, Lenovo,
             Sharp, Huawei, ZTE and many more in handset manufacturers.
         ○   Intel, ARM, NVIDIA, MIPS, Texas Instruments and many other in semiconductors.
         ○   NTT Docomo, Sprint, T-mobile, Vodafone, Telus, China Mobile and others in mobile
             operators.
         ○   Google, eBay, SVOX, NXP, Access and others in software companies.
         ○   Accenture, Teleca, Wipro and many others in marketing or commercialization.


Muhammad Usman Chaudhry                       CS4615                                              SZABIST
2. Basic Technical Specs
    ● Linux based kernel
    ● Open source model under Apache 2
      liscence.
    ● Supports ARM, MIPS & x86 architectures
    ● Monolithic kernel
    ● Programmed in C, C++, Python, Java.




Muhammad Usman Chaudhry   CS4615               SZABIST
What is monolithic kernel?




Muhammad Usman Chaudhry   CS4615   SZABIST
3. Development Platforms
    ● Supported OS for Android Development:
         ○ Windows XP(32-bit), Vista or 7(32 or 64-bit)
         ○ MacOSX 10.5.8 or later (x86 only)
         ○ Linux (Ubuntu, Lucid Lynx)
           ■ glibc 2.7
           ■ 32-bit
           ■ In case of ubuntu version must be greater than
              8.04
    ● IDEs
         ○ Eclipse IDE with JDT (Highly recommended)
         ○ Netbeans IDE (Via Android plugin)
         ○ IntelliJ IDEA (Still in early preview stage)
Muhammad Usman Chaudhry        CS4615                     SZABIST
Android Architecture
    ● Android Ecosystem is composed of following
      4 items:
         ○   Linux Kernel
         ○   Libraries
         ○   Applications Framework
         ○   Applications
    ● Pictorial representation in next slide will
      clear it up more.



Muhammad Usman Chaudhry        CS4615               SZABIST
Android Architecture
Linux Kernel




    ● Its customized linux kernel with a lot more
      android specific code to support devices.
    ● Driver written for one version of android
      (like 2.3.5 for instance) won't necessarily
      work with other versions (4.0 for instance).
    ● One of the kernel's main function is to
      control hardware.
Muhammad Usman Chaudhry   CS4615                SZABIST
Linux Kernel
    ● You could re-compile the android kernel if
      you want to.
    ● Advantage of tweaking the kernel can result
      in higher optimized speeds or optimized
      battery power, depending upon which
      governor you select, you must exactly know
      what you're doing.
    ● Tweaking android kernel is something you
      could do in your spare time and see how
      amazingly you can manipulate hardware.
Muhammad Usman Chaudhry   CS4615               SZABIST
Libraries




Muhammad Usman Chaudhry   CS4615   SZABIST
Libraries
    ● C/C++ Libraries (Bionic libc):
         ○ Derivation of standard C library
         ○ Specifically targeted for Android
         ○ Much smaller than libc & uClibc
         ○ High speed as its designed for low clock-cycle
           oriented CPUs
         ○ Lacks many features of original libc (eg. Exception
           handling etc.)
         ○ Can be directly extended or accessed using Android
           NDK (Native Development Kit).



Muhammad Usman Chaudhry        CS4615                      SZABIST
Libraries
    ● LibWebCore:
         ○ Modern web browser engine used in both webview
           as well as native browser.
         ○ Support CSS, Javascript, DOM, Ajax etc.
    ● Media framework:
         ○ PacketVideo, openCORE platform.
         ○ Support Audio, Video, Still-frame formats.
    ● SQLite:
         ○   Self-contained
         ○   Serverless
         ○   Zero-configuration
         ○   SQL Database
Muhammad Usman Chaudhry           CS4615                SZABIST
Libraries
    ● OpenGL|ES(openGL for Embedded
      Systems):
         ○   Standard specification for 2D/3D graphics
         ○   Can simulate physics
         ○   Complex 3D scenes can be drawn
         ○   Used in:
             ■ Virtual reality
             ■ Augmented reality
             ■ Game programming
             ■ Scientific visualization
             ■ Flight simulation

Muhammad Usman Chaudhry         CS4615                   SZABIST
Libraries
    ● Surface Manager:
         ○ Manages access to display subsystem
         ○ Seamlessly composites graphic layers 2D/3D layers
           from different applications
    ● SGL (Skia graphic library):
         ○ An underlying 2D graphics engine
         ○ Used to draw text, geometries & images
    ● SSL (Secure Sockets Layer):
         ○ Cryptographic protocol to provide information
           security over internet.


Muhammad Usman Chaudhry        CS4615                      SZABIST
Libraries
    ● FreeType:
         ○ Bitmap and vector font rendering.




Muhammad Usman Chaudhry       CS4615           SZABIST
Android Runtime




Muhammad Usman Chaudhry   CS4615   SZABIST
Dalvik Virtual Machine
    ● Custom implementation of virtual machine
      for android:
      ○ Provides application portability and runtime
             consistency.
        ○    Runs optimized file format (.dex) and Dalvik
             bytecode.
        ○    Java .class/.jar files are converted to .dex at build
             time.




Muhammad Usman Chaudhry          CS4615                         SZABIST
Dalvik Vs Java Virtual Machine


         Dalvik VM                            Java VM
         It is a register machine.           It is a stack machine.
         More closely resembles actual       Rely on excessive copying of
         hardware design.                    values and larger instruction set.
         Produces Dalvik Executable.         Produces Java Bytecode.
         Owned & maintaned by Google         Maintained by Oracle.
         Inc.




Muhammad Usman Chaudhry                  CS4615                                   SZABIST
Core Libraries
    ● Core APIs for Java language, yet simple and
      familiar development platforms
      ○ Data structures
      ○ File Access
      ○ Graphics
      ○ Network Access
      ○ Utilities
    ● All major APIs available under J2SE are
      available under android plus its own
      libraries.
Muhammad Usman Chaudhry   CS4615               SZABIST
Applications Framework




Muhammad Usman Chaudhry   CS4615   SZABIST
Application Framework

    ● Activity Manager:
         ○ Interact with overall activities running in the system.
         ○ Manage lifecycle of activities.
         ○ Manage stacking of activities.
    ● Window Manager:
         ○ Dispatch input events to clients.
         ○ Transition animation.
         ○ Create layout/surfaces (using SurfaceManager).
    ● Content Providers:
         ○ Manage access to structured access of data.
         ○ Mainly used for data sharing purposes.

Muhammad Usman Chaudhry          CS4615                         SZABIST
Application Framework

    ● View System:
         ○ Basic building block for UI components.
         ○ Can be extended to build custom UI components.
    ● Package Manager:
         ○ Provides methods for querying and manipulating
           installed packages.
    ● Telephony Manager:
         ○ Provides access to telephony services on android.
         ○ Can monitor telephone state changes.



Muhammad Usman Chaudhry         CS4615                         SZABIST
Application Framework

    ● Location Manager:
         ○ Provide access to system location services.
         ○ Able to track location periodically or one-time.
    ● Resource Manager:
         ○ Link external resources to native app at build time.
         ○ Resources may include XML Layouts, Bitmaps, raw
           files etc.
    ● Notification Manager:
         ○ Notify users about events.



Muhammad Usman Chaudhry         CS4615                        SZABIST
Applications




Muhammad Usman Chaudhry   CS4615   SZABIST
Example Applications
 ● Following applications are to show you what sort
   of applications can be made for android and how
   you can utilize features of this platform to create
   innovative and powerful applications.




Muhammad Usman Chaudhry   CS4615                 SZABIST
Augmented Reality - Live
 ● Let's have a look at live example of Augmented
   reality application.




Muhammad Usman Chaudhry   CS4615              SZABIST
Android Vs Other Platforms

            Option                Android         iPhone            WM
NFC (Near Field Communication)     YES               NO             NO
ADK (Accessory Development Kit)    YES          YES (iOS5+)         NO
           Multitasking            YES          YES (iOS4+)         YES
           Call Control            YES       YES (Jailbreak only)   NO
  High Performance Computing       YES              YES             NO
     Interface Customization       YES               NO             NO
        Firmware Upgrade           YES              YES             YES



Muhammad Usman Chaudhry             CS4615                           SZABIST
Detailed Insights




Muhammad Usman Chaudhry   CS4615   SZABIST
Detailed Insights




Muhammad Usman Chaudhry   CS4615   SZABIST
Conclusion
 ● Android is a strong platform to develop on with
   growth rate expected to reach peaks this year.
 ● More than half of the smartphone market is
   covered by Android making it more than 25% of
   the total mobile phone market share holder.




Muhammad Usman Chaudhry   CS4615               SZABIST
Next Class
 ● Complete Java Review will revisit OOP concepts.
 ● Design patterns which will be used in android
   development.




Muhammad Usman Chaudhry   CS4615             SZABIST
Questions
 ● Any Questions?




Muhammad Usman Chaudhry   CS4615   SZABIST

Contenu connexe

Tendances

Arduino - Android Workshop Presentation
Arduino - Android Workshop PresentationArduino - Android Workshop Presentation
Arduino - Android Workshop PresentationHem Shrestha
 
An introduction to Android
An introduction to AndroidAn introduction to Android
An introduction to AndroidRajesh Jambukia
 
Custom Android App Development – Web Animation India
Custom Android App Development – Web Animation IndiaCustom Android App Development – Web Animation India
Custom Android App Development – Web Animation IndiaMarion Welch
 
Introduction to Android - Seminar
Introduction to Android - SeminarIntroduction to Android - Seminar
Introduction to Android - SeminarAkshay Sharma
 
AIDE - Android Integrated Development Environment presentation
AIDE - Android Integrated Development Environment presentationAIDE - Android Integrated Development Environment presentation
AIDE - Android Integrated Development Environment presentationBeMyApp
 
Android tutorial points
Android tutorial pointsAndroid tutorial points
Android tutorial pointsbsb_2209
 
Android fundamentals and tutorial for beginners
Android fundamentals and tutorial for beginnersAndroid fundamentals and tutorial for beginners
Android fundamentals and tutorial for beginnersBoom Shukla
 
Presentation on Android
Presentation on AndroidPresentation on Android
Presentation on AndroidNausad Ahamed
 
Android Introduction 2013
Android Introduction 2013Android Introduction 2013
Android Introduction 2013Bhavya Siddappa
 
Introduction to Android Development Part 1
Introduction to Android Development Part 1Introduction to Android Development Part 1
Introduction to Android Development Part 1Kainda Kiniel Daka
 
Android Overview
Android OverviewAndroid Overview
Android OverviewRaju Kadam
 
Lec004 setting up for development
Lec004   setting up for developmentLec004   setting up for development
Lec004 setting up for developmentEyad Almasri
 
Android Programming Seminar
Android Programming SeminarAndroid Programming Seminar
Android Programming SeminarNhat Nguyen
 
Android Development Workshop
Android Development WorkshopAndroid Development Workshop
Android Development WorkshopPeter Robinett
 

Tendances (20)

Android basics
Android basicsAndroid basics
Android basics
 
Arduino - Android Workshop Presentation
Arduino - Android Workshop PresentationArduino - Android Workshop Presentation
Arduino - Android Workshop Presentation
 
An introduction to Android
An introduction to AndroidAn introduction to Android
An introduction to Android
 
Custom Android App Development – Web Animation India
Custom Android App Development – Web Animation IndiaCustom Android App Development – Web Animation India
Custom Android App Development – Web Animation India
 
Introduction to Android - Seminar
Introduction to Android - SeminarIntroduction to Android - Seminar
Introduction to Android - Seminar
 
Android
AndroidAndroid
Android
 
AIDE - Android Integrated Development Environment presentation
AIDE - Android Integrated Development Environment presentationAIDE - Android Integrated Development Environment presentation
AIDE - Android Integrated Development Environment presentation
 
Android seminar ppt
Android seminar pptAndroid seminar ppt
Android seminar ppt
 
Android tutorial points
Android tutorial pointsAndroid tutorial points
Android tutorial points
 
Android fundamentals and tutorial for beginners
Android fundamentals and tutorial for beginnersAndroid fundamentals and tutorial for beginners
Android fundamentals and tutorial for beginners
 
Android workShop
Android workShopAndroid workShop
Android workShop
 
Presentation on Android
Presentation on AndroidPresentation on Android
Presentation on Android
 
Android Introduction 2013
Android Introduction 2013Android Introduction 2013
Android Introduction 2013
 
Introduction to Android Development Part 1
Introduction to Android Development Part 1Introduction to Android Development Part 1
Introduction to Android Development Part 1
 
Android Overview
Android OverviewAndroid Overview
Android Overview
 
Lec004 setting up for development
Lec004   setting up for developmentLec004   setting up for development
Lec004 setting up for development
 
Android Programming Seminar
Android Programming SeminarAndroid Programming Seminar
Android Programming Seminar
 
Mohit Jaiswal
Mohit JaiswalMohit Jaiswal
Mohit Jaiswal
 
Android Development Workshop
Android Development WorkshopAndroid Development Workshop
Android Development Workshop
 
Android ppt
Android pptAndroid ppt
Android ppt
 

Similaire à Developing Applications for Android - Lecture#1

Developing Applications for Android - Lecture#3
Developing Applications for Android - Lecture#3Developing Applications for Android - Lecture#3
Developing Applications for Android - Lecture#3Usman Chaudhry
 
Devoxx : being productive with JHipster
Devoxx : being productive with JHipsterDevoxx : being productive with JHipster
Devoxx : being productive with JHipsterJulien Dubois
 
Android Developing Overview
Android Developing OverviewAndroid Developing Overview
Android Developing OverviewAbdallah Abuouf
 
Using JavaScript to write Native Mobile Applications
Using JavaScript to write Native Mobile ApplicationsUsing JavaScript to write Native Mobile Applications
Using JavaScript to write Native Mobile ApplicationsDerek Anderson
 
Android ROM Cooking 101: A practical tutorial (DroidCon Tel-Aviv 2014)
Android ROM Cooking 101: A practical tutorial (DroidCon Tel-Aviv 2014)Android ROM Cooking 101: A practical tutorial (DroidCon Tel-Aviv 2014)
Android ROM Cooking 101: A practical tutorial (DroidCon Tel-Aviv 2014)Ron Munitz
 
Atomic Developer Bundle
Atomic Developer BundleAtomic Developer Bundle
Atomic Developer BundleDharmit Shah
 
02.introduction to android
02.introduction to android02.introduction to android
02.introduction to androidMalik Abualzait
 
BYOD Revisited: Build Your Own Device (Embedded Linux Conference 2014)
BYOD Revisited: Build Your Own Device (Embedded Linux Conference 2014)BYOD Revisited: Build Your Own Device (Embedded Linux Conference 2014)
BYOD Revisited: Build Your Own Device (Embedded Linux Conference 2014)Ron Munitz
 
X86 ROM Cooking 101 (Android Builders Summit 2014)
X86 ROM Cooking 101 (Android Builders Summit 2014)X86 ROM Cooking 101 (Android Builders Summit 2014)
X86 ROM Cooking 101 (Android Builders Summit 2014)Ron Munitz
 
Building Android for the Cloud: Android as a Server (Mobile World Congress 2014)
Building Android for the Cloud: Android as a Server (Mobile World Congress 2014)Building Android for the Cloud: Android as a Server (Mobile World Congress 2014)
Building Android for the Cloud: Android as a Server (Mobile World Congress 2014)Ron Munitz
 
Mob modcon 2015-android rom cooking tutorial
Mob modcon 2015-android rom cooking tutorialMob modcon 2015-android rom cooking tutorial
Mob modcon 2015-android rom cooking tutorialRon Munitz
 
The Ultimate Android Security Checklist (Mdevcon 2014)
The Ultimate Android Security Checklist (Mdevcon 2014)The Ultimate Android Security Checklist (Mdevcon 2014)
The Ultimate Android Security Checklist (Mdevcon 2014)Ron Munitz
 
Continuous Deployment of Front-end JavaScript with StriderCD, Github and Sauc...
Continuous Deployment of Front-end JavaScript with StriderCD, Github and Sauc...Continuous Deployment of Front-end JavaScript with StriderCD, Github and Sauc...
Continuous Deployment of Front-end JavaScript with StriderCD, Github and Sauc...niallo
 
Headless Android (Wearable DevCon 2014)
Headless Android (Wearable DevCon 2014)Headless Android (Wearable DevCon 2014)
Headless Android (Wearable DevCon 2014)Ron Munitz
 
QuestMark Framework for Dhis2 Android Apps - Dhis2 symposium 2018
QuestMark Framework for Dhis2 Android Apps - Dhis2 symposium 2018QuestMark Framework for Dhis2 Android Apps - Dhis2 symposium 2018
QuestMark Framework for Dhis2 Android Apps - Dhis2 symposium 2018Nacho Foche Pérez
 
Android ROM cooking: A practical Tutorial (DroidCon Torino 2014)
Android ROM cooking: A practical Tutorial (DroidCon Torino 2014)Android ROM cooking: A practical Tutorial (DroidCon Torino 2014)
Android ROM cooking: A practical Tutorial (DroidCon Torino 2014)Ron Munitz
 
Programming for non tech entrepreneurs
Programming for non tech entrepreneursProgramming for non tech entrepreneurs
Programming for non tech entrepreneursRodrigo Gil
 
The Ultimate Android Security Checklist (AnDevCon Boston 2014)
The Ultimate Android Security Checklist (AnDevCon Boston 2014)The Ultimate Android Security Checklist (AnDevCon Boston 2014)
The Ultimate Android Security Checklist (AnDevCon Boston 2014)Ron Munitz
 
MobSecCon 2015 - Burning Marshmallows
MobSecCon 2015 - Burning Marshmallows MobSecCon 2015 - Burning Marshmallows
MobSecCon 2015 - Burning Marshmallows Ron Munitz
 
Android App Development 01 : Getting Start
Android App Development 01 : Getting StartAndroid App Development 01 : Getting Start
Android App Development 01 : Getting StartAnuchit Chalothorn
 

Similaire à Developing Applications for Android - Lecture#1 (20)

Developing Applications for Android - Lecture#3
Developing Applications for Android - Lecture#3Developing Applications for Android - Lecture#3
Developing Applications for Android - Lecture#3
 
Devoxx : being productive with JHipster
Devoxx : being productive with JHipsterDevoxx : being productive with JHipster
Devoxx : being productive with JHipster
 
Android Developing Overview
Android Developing OverviewAndroid Developing Overview
Android Developing Overview
 
Using JavaScript to write Native Mobile Applications
Using JavaScript to write Native Mobile ApplicationsUsing JavaScript to write Native Mobile Applications
Using JavaScript to write Native Mobile Applications
 
Android ROM Cooking 101: A practical tutorial (DroidCon Tel-Aviv 2014)
Android ROM Cooking 101: A practical tutorial (DroidCon Tel-Aviv 2014)Android ROM Cooking 101: A practical tutorial (DroidCon Tel-Aviv 2014)
Android ROM Cooking 101: A practical tutorial (DroidCon Tel-Aviv 2014)
 
Atomic Developer Bundle
Atomic Developer BundleAtomic Developer Bundle
Atomic Developer Bundle
 
02.introduction to android
02.introduction to android02.introduction to android
02.introduction to android
 
BYOD Revisited: Build Your Own Device (Embedded Linux Conference 2014)
BYOD Revisited: Build Your Own Device (Embedded Linux Conference 2014)BYOD Revisited: Build Your Own Device (Embedded Linux Conference 2014)
BYOD Revisited: Build Your Own Device (Embedded Linux Conference 2014)
 
X86 ROM Cooking 101 (Android Builders Summit 2014)
X86 ROM Cooking 101 (Android Builders Summit 2014)X86 ROM Cooking 101 (Android Builders Summit 2014)
X86 ROM Cooking 101 (Android Builders Summit 2014)
 
Building Android for the Cloud: Android as a Server (Mobile World Congress 2014)
Building Android for the Cloud: Android as a Server (Mobile World Congress 2014)Building Android for the Cloud: Android as a Server (Mobile World Congress 2014)
Building Android for the Cloud: Android as a Server (Mobile World Congress 2014)
 
Mob modcon 2015-android rom cooking tutorial
Mob modcon 2015-android rom cooking tutorialMob modcon 2015-android rom cooking tutorial
Mob modcon 2015-android rom cooking tutorial
 
The Ultimate Android Security Checklist (Mdevcon 2014)
The Ultimate Android Security Checklist (Mdevcon 2014)The Ultimate Android Security Checklist (Mdevcon 2014)
The Ultimate Android Security Checklist (Mdevcon 2014)
 
Continuous Deployment of Front-end JavaScript with StriderCD, Github and Sauc...
Continuous Deployment of Front-end JavaScript with StriderCD, Github and Sauc...Continuous Deployment of Front-end JavaScript with StriderCD, Github and Sauc...
Continuous Deployment of Front-end JavaScript with StriderCD, Github and Sauc...
 
Headless Android (Wearable DevCon 2014)
Headless Android (Wearable DevCon 2014)Headless Android (Wearable DevCon 2014)
Headless Android (Wearable DevCon 2014)
 
QuestMark Framework for Dhis2 Android Apps - Dhis2 symposium 2018
QuestMark Framework for Dhis2 Android Apps - Dhis2 symposium 2018QuestMark Framework for Dhis2 Android Apps - Dhis2 symposium 2018
QuestMark Framework for Dhis2 Android Apps - Dhis2 symposium 2018
 
Android ROM cooking: A practical Tutorial (DroidCon Torino 2014)
Android ROM cooking: A practical Tutorial (DroidCon Torino 2014)Android ROM cooking: A practical Tutorial (DroidCon Torino 2014)
Android ROM cooking: A practical Tutorial (DroidCon Torino 2014)
 
Programming for non tech entrepreneurs
Programming for non tech entrepreneursProgramming for non tech entrepreneurs
Programming for non tech entrepreneurs
 
The Ultimate Android Security Checklist (AnDevCon Boston 2014)
The Ultimate Android Security Checklist (AnDevCon Boston 2014)The Ultimate Android Security Checklist (AnDevCon Boston 2014)
The Ultimate Android Security Checklist (AnDevCon Boston 2014)
 
MobSecCon 2015 - Burning Marshmallows
MobSecCon 2015 - Burning Marshmallows MobSecCon 2015 - Burning Marshmallows
MobSecCon 2015 - Burning Marshmallows
 
Android App Development 01 : Getting Start
Android App Development 01 : Getting StartAndroid App Development 01 : Getting Start
Android App Development 01 : Getting Start
 

Dernier

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 

Dernier (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 

Developing Applications for Android - Lecture#1

  • 1. Developing Applications for Android Muhammad Usman Chaudhry SZABIST CS4615 Lecture # 1
  • 2. Today ● Course Introduction ● What will you learn? ● Why learn android? ● Prerequisites ● What I expect from you? ● Grading ● Project & Other Requirements ● Book & Reference material ● Android History, Overview & Evolution ● Platform Architecture ● Example Applications ● Growth Comparison of Android with iOS & Other Mobile Platforms Muhammad Usman Chaudhry CS4615 SZABIST
  • 3. Course Introduction ● 2 + 1 Credit Hours ● 1 Class per week (Every Friday) ● Highly Interactive Muhammad Usman Chaudhry CS4615 SZABIST
  • 4. What will you learn? ● Understand the complete android development architecture. ● Engineer beautiful, sleek & awesome android apps. ● Real life applications of Object Oriented Programming. ● Some wonderful design patterns ● Many computer science concepts like, Databases, Multimedia, Multithreading, Graphics, etc. applied in your apps. Muhammad Usman Chaudhry CS4615 SZABIST
  • 5. What will you learn? ● Create better applications with lower resources available (unlike desktop, web systems). ● Industry oriented Java standards, clean coding tips, etc. Muhammad Usman Chaudhry CS4615 SZABIST
  • 6. Why Learn Android? ● Run your applications on 59% of the smartphones worldwide equalling 331 million devices. (Jul - 2012) ● Join in 600,000 applications for android. (Jun - 2012) ● 20 billion app downloads so far ● High average with around 500 downloads per app. ● Not just smartphone, Android OS is being used in, TVs, Microwaves, Car Tapes, etc. Muhammad Usman Chaudhry CS4615 SZABIST
  • 7. Why Learn Android? ● High job success rates. ● Don't want a job? Create app sell to market. You maybe the next best startup. ● Easy to show to your friend, take your android out of your pocket and bam! You don't need computer now. Muhammad Usman Chaudhry CS4615 SZABIST
  • 8. Prerequisites ● Object-oriented programming. (Important) ● You must understand terms like: ○ Class ○ Instance ○ Method ○ Context ○ Superclass/Subclass ○ Interface/Protocols ○ Delegates ● Basic understanding of design patterns Muhammad Usman Chaudhry CS4615 SZABIST
  • 9. Prerequisites ● If you haven't already written any programs where you had to create handful of classes then you'll need to work doubly hard to keep up the pace. Muhammad Usman Chaudhry CS4615 SZABIST
  • 10. What I Expect From You ● High punctuality ● Focus & interest in class ● On time assignments ● Continuous feedback Muhammad Usman Chaudhry CS4615 SZABIST
  • 11. Grading System ● Assignments x 10 ● Quizzes x 15 ● Project x 20 ● Midterm x 20 ● Final x 35 Muhammad Usman Chaudhry CS4615 SZABIST
  • 12. Project ● Can be pre-cursor to FYP ● High grade points (more value) ● 2 students per group ● Emphasis will be over quality of product ● Deliverable will be posted to Google Play Store for public viewing with SZABIST account Muhammad Usman Chaudhry CS4615 SZABIST
  • 13. Other Requirements ● Join Google Group: ○ SZABIST-FALL2012-ANDROID ● Installation of Eclipse IDE & Android SDK Tools. (Before coming week). ● Install all SDKs preferably (2.1, 2.2 & 4). ● An android device. (Optional but highly recommended) Muhammad Usman Chaudhry CS4615 SZABIST
  • 14. Books Textbook: ● Beginning Android 4 by Grant Allen (Apress) Reference: ● http://developer.android.com/ Muhammad Usman Chaudhry CS4615 SZABIST
  • 15. Android Overview & Evolution 1. Android history 2. Basic technical specification 3. Supported platforms for development Muhammad Usman Chaudhry CS4615 SZABIST
  • 16. 1. Android History ● Started by Android Inc. in 2005, which had been financed by Google, though initial developer wasn't part of Google. ● In 2007 Google bought Android Inc. & also formed OHA (Open Handset Alliance). ● Android beta was released in Nov 2007. ● Android v1.0 was released in Sep 2008. ● HTC Dream had been first commercial android device. ● Current android version is 4.1 (Jellybeans). Muhammad Usman Chaudhry CS4615 SZABIST
  • 17. What is Open Handset Alliance? ● A consortium of 84 hardware, software and telecommunication companies. ● Devoted to advancing open standards for mobile devices. ● Include top names, ○ Acer, Dell, Fujitsu, HTC, LG, Motorola, Samsung, Toshiba, Sony, NEC, Asus, Lenovo, Sharp, Huawei, ZTE and many more in handset manufacturers. ○ Intel, ARM, NVIDIA, MIPS, Texas Instruments and many other in semiconductors. ○ NTT Docomo, Sprint, T-mobile, Vodafone, Telus, China Mobile and others in mobile operators. ○ Google, eBay, SVOX, NXP, Access and others in software companies. ○ Accenture, Teleca, Wipro and many others in marketing or commercialization. Muhammad Usman Chaudhry CS4615 SZABIST
  • 18. 2. Basic Technical Specs ● Linux based kernel ● Open source model under Apache 2 liscence. ● Supports ARM, MIPS & x86 architectures ● Monolithic kernel ● Programmed in C, C++, Python, Java. Muhammad Usman Chaudhry CS4615 SZABIST
  • 19. What is monolithic kernel? Muhammad Usman Chaudhry CS4615 SZABIST
  • 20. 3. Development Platforms ● Supported OS for Android Development: ○ Windows XP(32-bit), Vista or 7(32 or 64-bit) ○ MacOSX 10.5.8 or later (x86 only) ○ Linux (Ubuntu, Lucid Lynx) ■ glibc 2.7 ■ 32-bit ■ In case of ubuntu version must be greater than 8.04 ● IDEs ○ Eclipse IDE with JDT (Highly recommended) ○ Netbeans IDE (Via Android plugin) ○ IntelliJ IDEA (Still in early preview stage) Muhammad Usman Chaudhry CS4615 SZABIST
  • 21. Android Architecture ● Android Ecosystem is composed of following 4 items: ○ Linux Kernel ○ Libraries ○ Applications Framework ○ Applications ● Pictorial representation in next slide will clear it up more. Muhammad Usman Chaudhry CS4615 SZABIST
  • 23. Linux Kernel ● Its customized linux kernel with a lot more android specific code to support devices. ● Driver written for one version of android (like 2.3.5 for instance) won't necessarily work with other versions (4.0 for instance). ● One of the kernel's main function is to control hardware. Muhammad Usman Chaudhry CS4615 SZABIST
  • 24. Linux Kernel ● You could re-compile the android kernel if you want to. ● Advantage of tweaking the kernel can result in higher optimized speeds or optimized battery power, depending upon which governor you select, you must exactly know what you're doing. ● Tweaking android kernel is something you could do in your spare time and see how amazingly you can manipulate hardware. Muhammad Usman Chaudhry CS4615 SZABIST
  • 26. Libraries ● C/C++ Libraries (Bionic libc): ○ Derivation of standard C library ○ Specifically targeted for Android ○ Much smaller than libc & uClibc ○ High speed as its designed for low clock-cycle oriented CPUs ○ Lacks many features of original libc (eg. Exception handling etc.) ○ Can be directly extended or accessed using Android NDK (Native Development Kit). Muhammad Usman Chaudhry CS4615 SZABIST
  • 27. Libraries ● LibWebCore: ○ Modern web browser engine used in both webview as well as native browser. ○ Support CSS, Javascript, DOM, Ajax etc. ● Media framework: ○ PacketVideo, openCORE platform. ○ Support Audio, Video, Still-frame formats. ● SQLite: ○ Self-contained ○ Serverless ○ Zero-configuration ○ SQL Database Muhammad Usman Chaudhry CS4615 SZABIST
  • 28. Libraries ● OpenGL|ES(openGL for Embedded Systems): ○ Standard specification for 2D/3D graphics ○ Can simulate physics ○ Complex 3D scenes can be drawn ○ Used in: ■ Virtual reality ■ Augmented reality ■ Game programming ■ Scientific visualization ■ Flight simulation Muhammad Usman Chaudhry CS4615 SZABIST
  • 29. Libraries ● Surface Manager: ○ Manages access to display subsystem ○ Seamlessly composites graphic layers 2D/3D layers from different applications ● SGL (Skia graphic library): ○ An underlying 2D graphics engine ○ Used to draw text, geometries & images ● SSL (Secure Sockets Layer): ○ Cryptographic protocol to provide information security over internet. Muhammad Usman Chaudhry CS4615 SZABIST
  • 30. Libraries ● FreeType: ○ Bitmap and vector font rendering. Muhammad Usman Chaudhry CS4615 SZABIST
  • 31. Android Runtime Muhammad Usman Chaudhry CS4615 SZABIST
  • 32. Dalvik Virtual Machine ● Custom implementation of virtual machine for android: ○ Provides application portability and runtime consistency. ○ Runs optimized file format (.dex) and Dalvik bytecode. ○ Java .class/.jar files are converted to .dex at build time. Muhammad Usman Chaudhry CS4615 SZABIST
  • 33. Dalvik Vs Java Virtual Machine Dalvik VM Java VM It is a register machine. It is a stack machine. More closely resembles actual Rely on excessive copying of hardware design. values and larger instruction set. Produces Dalvik Executable. Produces Java Bytecode. Owned & maintaned by Google Maintained by Oracle. Inc. Muhammad Usman Chaudhry CS4615 SZABIST
  • 34. Core Libraries ● Core APIs for Java language, yet simple and familiar development platforms ○ Data structures ○ File Access ○ Graphics ○ Network Access ○ Utilities ● All major APIs available under J2SE are available under android plus its own libraries. Muhammad Usman Chaudhry CS4615 SZABIST
  • 35. Applications Framework Muhammad Usman Chaudhry CS4615 SZABIST
  • 36. Application Framework ● Activity Manager: ○ Interact with overall activities running in the system. ○ Manage lifecycle of activities. ○ Manage stacking of activities. ● Window Manager: ○ Dispatch input events to clients. ○ Transition animation. ○ Create layout/surfaces (using SurfaceManager). ● Content Providers: ○ Manage access to structured access of data. ○ Mainly used for data sharing purposes. Muhammad Usman Chaudhry CS4615 SZABIST
  • 37. Application Framework ● View System: ○ Basic building block for UI components. ○ Can be extended to build custom UI components. ● Package Manager: ○ Provides methods for querying and manipulating installed packages. ● Telephony Manager: ○ Provides access to telephony services on android. ○ Can monitor telephone state changes. Muhammad Usman Chaudhry CS4615 SZABIST
  • 38. Application Framework ● Location Manager: ○ Provide access to system location services. ○ Able to track location periodically or one-time. ● Resource Manager: ○ Link external resources to native app at build time. ○ Resources may include XML Layouts, Bitmaps, raw files etc. ● Notification Manager: ○ Notify users about events. Muhammad Usman Chaudhry CS4615 SZABIST
  • 40. Example Applications ● Following applications are to show you what sort of applications can be made for android and how you can utilize features of this platform to create innovative and powerful applications. Muhammad Usman Chaudhry CS4615 SZABIST
  • 41. Augmented Reality - Live ● Let's have a look at live example of Augmented reality application. Muhammad Usman Chaudhry CS4615 SZABIST
  • 42.
  • 43.
  • 44.
  • 45.
  • 46. Android Vs Other Platforms Option Android iPhone WM NFC (Near Field Communication) YES NO NO ADK (Accessory Development Kit) YES YES (iOS5+) NO Multitasking YES YES (iOS4+) YES Call Control YES YES (Jailbreak only) NO High Performance Computing YES YES NO Interface Customization YES NO NO Firmware Upgrade YES YES YES Muhammad Usman Chaudhry CS4615 SZABIST
  • 47. Detailed Insights Muhammad Usman Chaudhry CS4615 SZABIST
  • 48. Detailed Insights Muhammad Usman Chaudhry CS4615 SZABIST
  • 49. Conclusion ● Android is a strong platform to develop on with growth rate expected to reach peaks this year. ● More than half of the smartphone market is covered by Android making it more than 25% of the total mobile phone market share holder. Muhammad Usman Chaudhry CS4615 SZABIST
  • 50. Next Class ● Complete Java Review will revisit OOP concepts. ● Design patterns which will be used in android development. Muhammad Usman Chaudhry CS4615 SZABIST
  • 51. Questions ● Any Questions? Muhammad Usman Chaudhry CS4615 SZABIST