Applico Android Info Session at Columbia University

  • 621 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
621
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
5
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Applico…Android...…and All the Above
  • 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 BI 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(); }
  • 15. Ice Cream Sandwich
  • 16. 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!)
  • 17. 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+
  • 18. 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.
  • 19. 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
  • 20. Questions?