SlideShare a Scribd company logo
Applico…
Android...
…and All the Above
Agenda
 Applico: Who We Are
 Android – What is it?
 Android Classic
 Android Tablet
 Android Now - ICS
 Android Compatibility
 Future of Android
Applico

 Headquartered      in Manhattan (23rd and
  3rd), with offices in LA, Chicago and
  Boston (2012)
 We make mobile apps … and more!
 Technical footprints come from the DoD
 We don’t just make apps, we make
  systems.
Android – What is it?

 Technology  stack that includes an
  operating system and a set of APIs
 Based on the Linux kernel and Java.
  Supports SQLite for data storage
 Supports various media formats
 Integrated browser based on WebKit …..
  And More!
Android 1.6 – 2.X
   Classic Android (< 3.0)
   Each Screen (Activity) has its own activity
    lifecycle
       onCreate
       onRestart
       onStart
       onResume
       onPause
       onStop
       onDestroy
Android 1.6 – 2.X
 Tomaximize screen real-
 estate, navigation
 elements were off screen
    Menu Button
    Gesture’s are rarely used
    The back button was
     used to navigate
     throughout the app
Android 1.6 – 2.X
   Rotation changes had the potential to kill
    long running processes.
   3D Animations (for the most part) were
    dedicated tasks for OpenGL
   There is no support for hardware acceleration
   Devices typically fell into 4 sizes and 3
    resolutions
       Small, Normal, Large, X-large (2.3)
       LDPI, MDPI, HDPI
Honeycomb
   Honeycomb (3.x) is targeted at just tablets
   Each Activity still has its own lifecycle, but that
    activity now contains elements (Fragments)
    each with their own lifecycles.
       onAttach
       onCreate
       onCreateView
       onDestroyView
       onDetach
Honeycomb
     Pre-Honeycomb                  Honeycomb
         Activity                     Activity
                            Fragment A     Fragment B

I have one model view and   I have one     I have one
         controller!        model view     model view
                                and            and
                             controller!    controller!
Honeycomb
   How can you add fragments to your activity?
       Programmatically
            FragmentTransaction ft =
            getFragmentManager().beginTransaction();
            FooFragment frag = new Fragment();
            ft.add(id, frag);
            Ft.commit;
       Through Layouts
           <fragment android:name=“com.foo.FooFragment”
                      android:Id=“@+id/foo”
                      android:layout_width=“wrap_content”
                      android:layout_height=“wrap_content”/>
   Don’t think of Fragments as UI elements!
Honeycomb
 Nomore menu
 options!
    Hardware button is
     being phased out
    All navigation is being
     moved to an on
     screen model
      System Bar
      Action Bar
Honeycomb
   New Animation library Renderscript
       Renderscript is based on C. Provides some performance
        gains over OpenGL
       Usability, while it is a set of new APIs it does simply
        development and makes the initialization of rendering
        easier
   Support for large heap. Devices can allocate up to
    256MBs to the heap compared to 2.X which is 16MB
   Multiple Screen Sizes are now based on width:
       Before: res/layout-small, res/layout-normal, res/layout-
        large
       Now: We use minimum screen
        width, res/sw600dp, res/sw800dp
       While it’s not idea it gives developers more control when
        dealing with OEMs
Ice Cream Sandwich – 4.0
   Ice Cream Sandwich!!!!
   It’s a unified version of the OS that combines
    Honeycomb and 2.X
       Fragments and Loaders
       On Screen Navigation – Good-Bye Hardware
        Buttons!
   Build once for phones and tablets, no need for
    multiple APKs.
   Also adds facial unlock, NFC, camera
    enhancements, a social networking api, an official
    calendar API (Hooray!) and much more
Ice Cream Sandwich
   How do I check for dual pane mode?
       Add a view to your layout!
     If the View is null, start a new activity, otherwise show the
        fragment
     View detailsFrame =
     getActivity().findViewById(R.id.details);
     if(detailsFrame != null){
           mDualPane = true;
     }
     If(mDualPane){
           showFragment(…use the fragment manager)
     }else{
           startActivity();
     }
Ice Cream Sandwich
Applico Android Info Session at Columbia University
Compatibility
   How do I target the largest audience?
   Android penetration of Feb 1, 2012
       Android 4.0 : 1%
       Android 3.0 : 3.5%
       Android 2.2 – 2.X: 86.4%
    *Source: http://developer.android.com/resources/dashboard/platform-versions.html

   Unless you need specific 3.0+ API support
    target 2.2+!!! (You can still turn on large heap
    and hardware acceleration in the manifest
    file, older versions will still run and ignore it!)
Compatibility
   Why?
       There are a lot of nice APIs available for 3.0+,
        but the biggest changes to prepare for are the
        architectural and navigational ones.
       85%+ is using 2.2!
   How can I make legacy apps feel
    ICS/Honeycomb like and use the new design
    patterns?
       Compatibility packages!
       Support for Android 1.6+
Compatibility
   What’s in it?
       Official Android Package supports Fragments!
       ActionBarSherlock is an open source extension to
        the compatibility package!
          *source: http://actionbarsherlock.com/
   How do I use it?
       The official support package is a jar that you can
        include in your project
       The ActionBarSherlock is a library project
   Using these libraries will help prepare you to
    officially support ICS while not having to design
    two apps and maintain two apk’s.
Future of Android
 ICS will penetrate the market slowly.
  Need for multiple APKs will dwindle
 Ultimately I would bet on the back button
  disappearing (usability issues)
 More NFC!
 Integration with Android@Home
Questions?

More Related Content

PDF
Android Studio vs. ADT
PPT
Android tools
PPT
Getting started with android dev and test perspective
PDF
What's new in ios 7.0
PPTX
React native development with expo
PDF
Android chapter02-setup2-emulator
PPTX
Introduction to android coding
PPTX
Android Annotations and RoboGuice
Android Studio vs. ADT
Android tools
Getting started with android dev and test perspective
What's new in ios 7.0
React native development with expo
Android chapter02-setup2-emulator
Introduction to android coding
Android Annotations and RoboGuice

What's hot (20)

PPTX
Introduction_to_android_and_android_studio
PPTX
PPTX
Eclipse & android setup
PDF
Android Programming Basics
PPTX
Android development session 5 - Debug android studio
PPTX
Flutter for web
PDF
React Native Expo
PDF
Vodafone Mobile Widgets Workshop
PPTX
Android study jams 2021 [collab] [master]
ODP
HTML5 Game Development frameworks overview
PDF
Developing better debug_components
PDF
Android studio
KEY
Appcelerator iPhone/iPad Dev Con 2010 San Diego, CA
ZIP
iPhone/iPad Development with Titanium
PPT
Android SDK and PhoneGap
PDF
React-Native-N3XTCODER-Arya-Workshop-April-2016
PPT
Anveshan android
PDF
Android tutorial1
PDF
Parse par Nicolas Lauquin
PDF
Automating Your Way out of the Dark Ages: Our Experience with (And Without) P...
Introduction_to_android_and_android_studio
Eclipse & android setup
Android Programming Basics
Android development session 5 - Debug android studio
Flutter for web
React Native Expo
Vodafone Mobile Widgets Workshop
Android study jams 2021 [collab] [master]
HTML5 Game Development frameworks overview
Developing better debug_components
Android studio
Appcelerator iPhone/iPad Dev Con 2010 San Diego, CA
iPhone/iPad Development with Titanium
Android SDK and PhoneGap
React-Native-N3XTCODER-Arya-Workshop-April-2016
Anveshan android
Android tutorial1
Parse par Nicolas Lauquin
Automating Your Way out of the Dark Ages: Our Experience with (And Without) P...
Ad

Similar to Applico Android Info Session at Columbia University (20)

PDF
Android 3.1 - Portland Code Camp 2011
PDF
Android 3.0 Portland Java User Group 2011-03-15
PPT
PPT Companion to Android
PPTX
Android Application Development
PDF
What's new in android 4.4 - Romain Guy & Chet Haase
PDF
Develop an app for Windows 8 using HTML5
PDF
Building Cross-Platform Mobile Apps
PDF
Introduction to Android App Development
PPT
Build Mobile Application In Android
PPTX
Android Introduction on Java Forum Stuttgart 11
PPT
Intro to Android Programming
PPT
Designing Apps for the Motorola XOOM
PPTX
Android architecture
PPT
Android In A Nutshell
PDF
Android - Open Source Bridge 2011
PPTX
Introduction to android
PDF
Firefox OS - Hive Pilani 2015
PDF
Android Development in a Nutshell
PPT
Android overview
PPTX
Top Ten Tips for HTML5/Mobile Web Development
Android 3.1 - Portland Code Camp 2011
Android 3.0 Portland Java User Group 2011-03-15
PPT Companion to Android
Android Application Development
What's new in android 4.4 - Romain Guy & Chet Haase
Develop an app for Windows 8 using HTML5
Building Cross-Platform Mobile Apps
Introduction to Android App Development
Build Mobile Application In Android
Android Introduction on Java Forum Stuttgart 11
Intro to Android Programming
Designing Apps for the Motorola XOOM
Android architecture
Android In A Nutshell
Android - Open Source Bridge 2011
Introduction to android
Firefox OS - Hive Pilani 2015
Android Development in a Nutshell
Android overview
Top Ten Tips for HTML5/Mobile Web Development
Ad

Recently uploaded (20)

PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
A Presentation on Artificial Intelligence
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
KodekX | Application Modernization Development
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
cuic standard and advanced reporting.pdf
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Encapsulation theory and applications.pdf
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PPT
Teaching material agriculture food technology
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
Big Data Technologies - Introduction.pptx
PDF
Empathic Computing: Creating Shared Understanding
Review of recent advances in non-invasive hemoglobin estimation
A Presentation on Artificial Intelligence
20250228 LYD VKU AI Blended-Learning.pptx
Chapter 3 Spatial Domain Image Processing.pdf
KodekX | Application Modernization Development
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
cuic standard and advanced reporting.pdf
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Encapsulation theory and applications.pdf
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Teaching material agriculture food technology
MYSQL Presentation for SQL database connectivity
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Encapsulation_ Review paper, used for researhc scholars
Big Data Technologies - Introduction.pptx
Empathic Computing: Creating Shared Understanding

Applico Android Info Session at Columbia University

  • 2. Agenda  Applico: Who We Are  Android – What is it?  Android Classic  Android Tablet  Android Now - ICS  Android Compatibility  Future of Android
  • 3. Applico  Headquartered in Manhattan (23rd and 3rd), with offices in LA, Chicago and Boston (2012)  We make mobile apps … and more!  Technical footprints come from the DoD  We don’t just make apps, we make systems.
  • 4. Android – What is it?  Technology stack that includes an operating system and a set of APIs  Based on the Linux kernel and Java. Supports SQLite for data storage  Supports various media formats  Integrated browser based on WebKit ….. And More!
  • 5. Android 1.6 – 2.X  Classic Android (< 3.0)  Each Screen (Activity) has its own activity lifecycle  onCreate  onRestart  onStart  onResume  onPause  onStop  onDestroy
  • 6. Android 1.6 – 2.X  Tomaximize screen real- estate, navigation elements were off screen  Menu Button  Gesture’s are rarely used  The back button was used to navigate throughout the app
  • 7. Android 1.6 – 2.X  Rotation changes had the potential to kill long running processes.  3D Animations (for the most part) were dedicated tasks for OpenGL  There is no support for hardware acceleration  Devices typically fell into 4 sizes and 3 resolutions  Small, Normal, Large, X-large (2.3)  LDPI, MDPI, HDPI
  • 8. Honeycomb  Honeycomb (3.x) is targeted at just tablets  Each Activity still has its own lifecycle, but that activity now contains elements (Fragments) each with their own lifecycles.  onAttach  onCreate  onCreateView  onDestroyView  onDetach
  • 9. Honeycomb Pre-Honeycomb Honeycomb Activity Activity Fragment A Fragment B I have one model view and I have one I have one controller! model view model view and and controller! controller!
  • 10. Honeycomb  How can you add fragments to your activity?  Programmatically FragmentTransaction ft = getFragmentManager().beginTransaction(); FooFragment frag = new Fragment(); ft.add(id, frag); Ft.commit;  Through Layouts  <fragment android:name=“com.foo.FooFragment” android:Id=“@+id/foo” android:layout_width=“wrap_content” android:layout_height=“wrap_content”/>  Don’t think of Fragments as UI elements!
  • 11. Honeycomb  Nomore menu options!  Hardware button is being phased out  All navigation is being moved to an on screen model  System Bar  Action Bar
  • 12. Honeycomb  New Animation library Renderscript  Renderscript is based on C. Provides some performance gains over OpenGL  Usability, while it is a set of new APIs it does simply development and makes the initialization of rendering easier  Support for large heap. Devices can allocate up to 256MBs to the heap compared to 2.X which is 16MB  Multiple Screen Sizes are now based on width:  Before: res/layout-small, res/layout-normal, res/layout- large  Now: We use minimum screen width, res/sw600dp, res/sw800dp  While it’s not idea it gives developers more control when dealing with OEMs
  • 13. Ice Cream Sandwich – 4.0  Ice Cream Sandwich!!!!  It’s a unified version of the OS that combines Honeycomb and 2.X  Fragments and Loaders  On Screen Navigation – Good-Bye Hardware Buttons!  Build once for phones and tablets, no need for multiple APKs.  Also adds facial unlock, NFC, camera enhancements, a social networking api, an official calendar API (Hooray!) and much more
  • 14. Ice Cream Sandwich  How do I check for dual pane mode?  Add a view to your layout!  If the View is null, start a new activity, otherwise show the fragment View detailsFrame = getActivity().findViewById(R.id.details); if(detailsFrame != null){ mDualPane = true; } If(mDualPane){ showFragment(…use the fragment manager) }else{ startActivity(); }
  • 17. Compatibility  How do I target the largest audience?  Android penetration of Feb 1, 2012  Android 4.0 : 1%  Android 3.0 : 3.5%  Android 2.2 – 2.X: 86.4% *Source: http://developer.android.com/resources/dashboard/platform-versions.html  Unless you need specific 3.0+ API support target 2.2+!!! (You can still turn on large heap and hardware acceleration in the manifest file, older versions will still run and ignore it!)
  • 18. Compatibility  Why?  There are a lot of nice APIs available for 3.0+, but the biggest changes to prepare for are the architectural and navigational ones.  85%+ is using 2.2!  How can I make legacy apps feel ICS/Honeycomb like and use the new design patterns?  Compatibility packages!  Support for Android 1.6+
  • 19. Compatibility  What’s in it?  Official Android Package supports Fragments!  ActionBarSherlock is an open source extension to the compatibility package! *source: http://actionbarsherlock.com/  How do I use it?  The official support package is a jar that you can include in your project  The ActionBarSherlock is a library project  Using these libraries will help prepare you to officially support ICS while not having to design two apps and maintain two apk’s.
  • 20. Future of Android  ICS will penetrate the market slowly. Need for multiple APKs will dwindle  Ultimately I would bet on the back button disappearing (usability issues)  More NFC!  Integration with Android@Home