SlideShare ist ein Scribd-Unternehmen logo
1 von 21
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
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?

Weitere ähnliche Inhalte

Was ist angesagt?

Introduction_to_android_and_android_studio
Introduction_to_android_and_android_studioIntroduction_to_android_and_android_studio
Introduction_to_android_and_android_studioAbdul Basit
 
Eclipse & android setup
Eclipse & android setupEclipse & android setup
Eclipse & android setupChina Bigs
 
Android Programming Basics
Android Programming BasicsAndroid Programming Basics
Android Programming BasicsEueung Mulyana
 
Android development session 5 - Debug android studio
Android development   session 5 - Debug android studioAndroid development   session 5 - Debug android studio
Android development session 5 - Debug android studioFarabi Technology Middle East
 
Vodafone Mobile Widgets Workshop
Vodafone Mobile Widgets WorkshopVodafone Mobile Widgets Workshop
Vodafone Mobile Widgets WorkshopDaniel Herzog
 
Android study jams 2021 [collab] [master]
Android study jams 2021 [collab] [master]Android study jams 2021 [collab] [master]
Android study jams 2021 [collab] [master]GDSCIIITBbsr
 
Developing better debug_components
Developing better debug_componentsDeveloping better debug_components
Developing better debug_componentsTomoaki Imai
 
Appcelerator iPhone/iPad Dev Con 2010 San Diego, CA
Appcelerator iPhone/iPad Dev Con 2010 San Diego, CAAppcelerator iPhone/iPad Dev Con 2010 San Diego, CA
Appcelerator iPhone/iPad Dev Con 2010 San Diego, CAJeff Haynie
 
iPhone/iPad Development with Titanium
iPhone/iPad Development with TitaniumiPhone/iPad Development with Titanium
iPhone/iPad Development with TitaniumAxway Appcelerator
 
Android SDK and PhoneGap
Android SDK and PhoneGapAndroid SDK and PhoneGap
Android SDK and PhoneGapDoncho Minkov
 
React-Native-N3XTCODER-Arya-Workshop-April-2016
React-Native-N3XTCODER-Arya-Workshop-April-2016React-Native-N3XTCODER-Arya-Workshop-April-2016
React-Native-N3XTCODER-Arya-Workshop-April-2016N3XTCODER
 
Automating Your Way out of the Dark Ages: Our Experience with (And Without) P...
Automating Your Way out of the Dark Ages: Our Experience with (And Without) P...Automating Your Way out of the Dark Ages: Our Experience with (And Without) P...
Automating Your Way out of the Dark Ages: Our Experience with (And Without) P...Burin Asavesna
 

Was ist angesagt? (20)

Introduction_to_android_and_android_studio
Introduction_to_android_and_android_studioIntroduction_to_android_and_android_studio
Introduction_to_android_and_android_studio
 
android studio
 android studio android studio
android studio
 
Eclipse & android setup
Eclipse & android setupEclipse & android setup
Eclipse & android setup
 
Android Programming Basics
Android Programming BasicsAndroid Programming Basics
Android Programming Basics
 
Android development session 5 - Debug android studio
Android development   session 5 - Debug android studioAndroid development   session 5 - Debug android studio
Android development session 5 - Debug android studio
 
Flutter for web
Flutter for webFlutter for web
Flutter for web
 
React Native Expo
React Native ExpoReact Native Expo
React Native Expo
 
Vodafone Mobile Widgets Workshop
Vodafone Mobile Widgets WorkshopVodafone Mobile Widgets Workshop
Vodafone Mobile Widgets Workshop
 
Android study jams 2021 [collab] [master]
Android study jams 2021 [collab] [master]Android study jams 2021 [collab] [master]
Android study jams 2021 [collab] [master]
 
HTML5 Game Development frameworks overview
HTML5 Game Development frameworks overviewHTML5 Game Development frameworks overview
HTML5 Game Development frameworks overview
 
Developing better debug_components
Developing better debug_componentsDeveloping better debug_components
Developing better debug_components
 
Android studio
Android studioAndroid studio
Android studio
 
Appcelerator iPhone/iPad Dev Con 2010 San Diego, CA
Appcelerator iPhone/iPad Dev Con 2010 San Diego, CAAppcelerator iPhone/iPad Dev Con 2010 San Diego, CA
Appcelerator iPhone/iPad Dev Con 2010 San Diego, CA
 
iPhone/iPad Development with Titanium
iPhone/iPad Development with TitaniumiPhone/iPad Development with Titanium
iPhone/iPad Development with Titanium
 
Android SDK and PhoneGap
Android SDK and PhoneGapAndroid SDK and PhoneGap
Android SDK and PhoneGap
 
React-Native-N3XTCODER-Arya-Workshop-April-2016
React-Native-N3XTCODER-Arya-Workshop-April-2016React-Native-N3XTCODER-Arya-Workshop-April-2016
React-Native-N3XTCODER-Arya-Workshop-April-2016
 
Anveshan android
Anveshan androidAnveshan android
Anveshan android
 
Android tutorial1
Android tutorial1Android tutorial1
Android tutorial1
 
Parse par Nicolas Lauquin
Parse par Nicolas LauquinParse par Nicolas Lauquin
Parse par Nicolas Lauquin
 
Automating Your Way out of the Dark Ages: Our Experience with (And Without) P...
Automating Your Way out of the Dark Ages: Our Experience with (And Without) P...Automating Your Way out of the Dark Ages: Our Experience with (And Without) P...
Automating Your Way out of the Dark Ages: Our Experience with (And Without) P...
 

Ähnlich wie Applico Android Info Session at Columbia University

Android 3.1 - Portland Code Camp 2011
Android 3.1 - Portland Code Camp 2011Android 3.1 - Portland Code Camp 2011
Android 3.1 - Portland Code Camp 2011sullis
 
Android 3.0 Portland Java User Group 2011-03-15
Android 3.0 Portland Java User Group 2011-03-15Android 3.0 Portland Java User Group 2011-03-15
Android 3.0 Portland Java User Group 2011-03-15sullis
 
Android Application Development
Android Application DevelopmentAndroid Application Development
Android Application DevelopmentRamesh Prasad
 
What's new in android 4.4 - Romain Guy & Chet Haase
What's new in android 4.4 - Romain Guy & Chet HaaseWhat's new in android 4.4 - Romain Guy & Chet Haase
What's new in android 4.4 - Romain Guy & Chet HaaseParis Android User Group
 
Develop an app for Windows 8 using HTML5
Develop an app for Windows 8 using HTML5Develop an app for Windows 8 using HTML5
Develop an app for Windows 8 using HTML5Soumow Dollon
 
Building Cross-Platform Mobile Apps
Building Cross-Platform Mobile AppsBuilding Cross-Platform Mobile Apps
Building Cross-Platform Mobile AppsTroy Miles
 
Introduction to Android App Development
Introduction to Android App DevelopmentIntroduction to Android App Development
Introduction to Android App DevelopmentAndri Yadi
 
Build Mobile Application In Android
Build Mobile Application In AndroidBuild Mobile Application In Android
Build Mobile Application In Androiddnnddane
 
Android Introduction on Java Forum Stuttgart 11
Android Introduction on Java Forum Stuttgart 11 Android Introduction on Java Forum Stuttgart 11
Android Introduction on Java Forum Stuttgart 11 Lars Vogel
 
Android In A Nutshell
Android In A NutshellAndroid In A Nutshell
Android In A NutshellTed Chien
 
Android - Open Source Bridge 2011
Android - Open Source Bridge 2011Android - Open Source Bridge 2011
Android - Open Source Bridge 2011sullis
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to androidzeelpatel0504
 
Firefox OS - Hive Pilani 2015
Firefox OS - Hive Pilani 2015Firefox OS - Hive Pilani 2015
Firefox OS - Hive Pilani 2015Nilay Binjola
 
Android Development in a Nutshell
Android Development in a NutshellAndroid Development in a Nutshell
Android Development in a NutshellAleix Solé
 
Android overview
Android overviewAndroid overview
Android overviewHas Taiar
 
Top Ten Tips for HTML5/Mobile Web Development
Top Ten Tips for HTML5/Mobile Web DevelopmentTop Ten Tips for HTML5/Mobile Web Development
Top Ten Tips for HTML5/Mobile Web DevelopmentSimon Guest
 

Ähnlich wie Applico Android Info Session at Columbia University (20)

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

Kürzlich hochgeladen

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
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
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
 
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
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
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
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
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
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 

Kürzlich hochgeladen (20)

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
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
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
 
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
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
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...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
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
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 

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(); }
  • 16.
  • 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