21
Applico… Android... …and All the Above

Applico Android Info Session at Columbia University

  • Upload
    applico

  • View
    667

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Applico Android Info Session at Columbia University

Applico…Android...…and All the Above

Page 2: Applico Android Info Session at Columbia University

Agenda Applico: Who We Are Android – What is it? Android Classic Android Tablet Android Now - ICS Android Compatibility Future of Android

Page 3: Applico Android Info Session at Columbia University

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.

Page 4: Applico Android Info Session at Columbia University

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!

Page 5: Applico Android Info Session at Columbia University

Android 1.6 – 2.X Classic Android (< 3.0) Each Screen (Activity) has its own activity

lifecycle onCreate onRestart onStart onResume onPause onStop onDestroy

Page 6: Applico Android Info Session at Columbia University

Android 1.6 – 2.X To maximize 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

Page 7: Applico Android Info Session at Columbia University

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

Page 8: Applico Android Info Session at Columbia University

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

Page 9: Applico Android Info Session at Columbia University

HoneycombHoneycomb

Activity

Fragment A

I have one model view

and controller!

Fragment B

I have one model view

and controller!

Pre-HoneycombActivity

I have one model view and controller!

Page 10: Applico Android Info Session at Columbia University

Honeycomb How can you add fragments to your activity?

ProgrammaticallyFragmentTransaction 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!

Page 11: Applico Android Info Session at Columbia University

Honeycomb No more menu

options! Hardware button is

being phased out All navigation is

being moved to an on screen model System Bar Action Bar

Page 12: Applico Android Info Session at Columbia University

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

Page 13: Applico Android Info Session at Columbia University

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

Page 14: Applico Android Info Session at Columbia University

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

fragmentView detailsFrame = getActivity().findViewById(R.id.details);if(detailsFrame != null){

mDualPane = true;}If(mDualPane){

showFragment(…use the fragment manager)}else{

startActivity();}

Page 15: Applico Android Info Session at Columbia University

Ice Cream Sandwich

Page 16: Applico Android Info Session at Columbia University
Page 17: 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!)

Page 18: Applico Android Info Session at Columbia University

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+

Page 19: Applico Android Info Session at Columbia University

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.

Page 20: Applico Android Info Session at Columbia University

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

Page 21: Applico Android Info Session at Columbia University

Questions?