Your SlideShare is downloading. ×
  • Like
Android 3.0 Portland Java User Group 2011-03-15
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.


Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Android 3.0 Portland Java User Group 2011-03-15


Android 3.0 …

Android 3.0
Portland Java User Group
Portland Oregon

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • interesting presentation - especially a good fragments explanation which have defeated my brain up until now....
    Are you sure you want to
    Your message goes here
No Downloads


Total Views
On SlideShare
From Embeds
Number of Embeds



Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

    No notes for slide


  • 1. Android 3.0Portland Java User Group Sean Sullivan March 15, 2011
  • 2. • Introduction• Android devices• Android 3.0• App development
  • 3. Mobile World Congress February 2011
  • 4. source: comScore
  • 5. Android phones
  • 6. 2008
  • 7. 2009
  • 8. 2010
  • 9. 2011
  • 10. Android tablets
  • 11. XOOM tech specs • Android 3.0 • 10.1 inch touchscreen display • 1280 x 800 • 160 dpi
  • 12. XOOM tech specs • NVIDIA Tegra 2 dual-core chipset • HDMI connector • two cameras • no physical keyboard
  • 13. What’s new in Android 3.0?
  • 14. • ‘holographic’ UI theme• Action Bar• Fragments• Drag and Drop• Digital Rights Management• and more...
  • 15. ‘holographic’ UI
  • 16. Action Bar
  • 17. “The Action Bar is a widget for activities thatreplaces the traditional title bar at the top ofthe screen.By default, the Action Bar includes theapplication logo on the left side, followed bythe activity title, and any available itemsfrom the Options Menu on the right side.”
  • 18. Action Bar
  • 19. Fragments
  • 20. “A Fragment represents a behavior or a portion of userinterface in an Activity. You can combine multiple fragmentsin a single activity to build a multi-pane UI and reuse afragment in multiple activities.You can think of a fragmentas a modular section of an activity, which has its ownlifecycle, receives its own input events, and which you canadd or remove while the activity is running.”
  • 21. • Fragments decompose application functionality and UI into reusable modules• Add multiple fragments to a screen to avoid switching activities• Fragments have their own lifecycle, state, and back stack• Fragments require API Level "Honeycomb" or greater
  • 22. <LinearLayout xmlns:android=""        android:orientation="horizontal"        android:layout_width="match_parent"        android:layout_height="match_parent">    <fragment class=""            android:id="@+id/titles" android:layout_weight="1"            android:layout_width="0px"            android:layout_height="match_parent" />    <FrameLayout android:id="@+id/details" android:layout_weight="1"            android:layout_width="0px"            android:layout_height="match_parent" />   </LinearLayout>
  • 23. public static class TitlesFragment extends ListFragment {    private boolean mDualPane;    private int mCurCheckPosition = 0;    @Override    public void onActivityCreated(Bundle savedState) {        super.onActivityCreated(savedState); // do something here    }    @Override    public void onSaveInstanceState(Bundle outState) {        super.onSaveInstanceState(outState);        outState.putInt("curChoice", mCurCheckPosition);    }    @Override    public void onListItemClick(ListView l, View v, int pos, long id) {        // do something here    }}
  • 24. Drag and drop
  • 25. Renderscript
  • 26. “The Renderscript rendering and computational APIsoffer a low-level, high performance means of carrying outmathematical calculations and 3D graphics rendering.”
  • 27. New animation API
  • 28. Digital Rights Management API
  • 29. The same security issues that have led to piracyconcerns on the Android platform have made itdifficult for us to secure a common Digital RightsManagement (DRM) system on these devices. [...]Although we don’t have a common platformsecurity mechanism and DRM, we are able to workwith individual handset manufacturers to addcontent protection to their devices. November 2010
  • 30. Unfortunately, this is a much slower approach and leads to a fragmented experience on Android, in which some handsets will have access to Netflix and others won’t.We will also continue to work with the Androidcommunity, handset manufacturers, carriers, andother service providers to develop a standard,platform-wide solution that allows content providersto deliver their services to all Android-based devices November 2010
  • 31. Application development
  • 32. Android emulator
  • 33. Emulator performance
  • 34. About emulator performanceBecause the Android emulator must simulate the ARM instruction seton your computer and the WXGA screen is significantly larger than atypical virtual device, emulator performance is much slower than a realdevice. source:
  • 35. In particular, initializing the emulator can be slow and can take severalminutes, depending on your hardware. When the emulator is booting,there is limited user feedback, so please be patient and wait until yousee the home screen (or lock screen) appear. source:
  • 36. However, you dont need to boot the emulator each time you rebuildyour application—typically you only need to boot at the start of asession and keep it running. Also see the tip below for informationabout using a snapshot to drastically reduce startup time after the firstinitialization.Were working hard to resolve the performance issues and it willimprove in future tools releases. source:
  • 37. Sample code
  • 38. API differences
  • 39.
  • 40. Best practices
  • 41.
  • 42. What’s next?
  • 43. Final thoughts• Android 3.0 is for tablets, not phones• XOOM is available now• Additional Honeycomb tablets coming soon• Learn the Fragments API
  • 44. Thank you