Roman Nurik | 38e09c3 | 2012-03-28 17:55:24 -0700 | [diff] [blame] | 1 | page.title=Creating Backward-Compatible UIs |
Joe Fernandez | 33baa5a | 2013-11-14 11:41:19 -0800 | [diff] [blame] | 2 | page.tags=widgets,support |
Roman Nurik | 38e09c3 | 2012-03-28 17:55:24 -0700 | [diff] [blame] | 3 | |
| 4 | trainingnavtop=true |
| 5 | startpage=true |
Roman Nurik | 38e09c3 | 2012-03-28 17:55:24 -0700 | [diff] [blame] | 6 | |
| 7 | @jd:body |
| 8 | |
| 9 | <div id="tb-wrapper"> |
| 10 | <div id="tb"> |
| 11 | |
| 12 | <h2>Dependencies and prerequisites</h2> |
| 13 | |
| 14 | <ul> |
| 15 | <li>API level 5</li> |
Scott Main | 4e2c9dc | 2013-07-23 19:35:17 -0700 | [diff] [blame] | 16 | <li><a href="{@docRoot}tools/support-library/index.html">The Android Support Package</a></li> |
Roman Nurik | 38e09c3 | 2012-03-28 17:55:24 -0700 | [diff] [blame] | 17 | </ul> |
| 18 | |
| 19 | <h2>You should also read</h2> |
| 20 | |
| 21 | <ul> |
| 22 | <li><a href="{@docRoot}resources/samples/ActionBarCompat/index.html">ActionBarCompat</a></li> |
| 23 | <li><a href="http://android-developers.blogspot.com/2010/07/how-to-have-your-cupcake-and-eat-it-too.html">How to have your (Cup)cake and eat it too</a></li> |
| 24 | </ul> |
| 25 | |
| 26 | <h2>Try it out</h2> |
| 27 | |
| 28 | <div class="download-box"> |
| 29 | <a href="http://developer.android.com/shareables/training/TabCompat.zip" |
| 30 | class="button">Download the sample app</a> |
| 31 | <p class="filename">TabCompat.zip</p> |
| 32 | </div> |
| 33 | |
| 34 | </div> |
| 35 | </div> |
| 36 | |
| 37 | <p>This class demonstrates how to use UI components and APIs available in newer versions of Android in a backward-compatible way, ensuring that your application still runs on previous versions of the platform.</p> |
| 38 | |
| 39 | <p>Throughout this class, the new <a href="{@docRoot}guide/topics/ui/actionbar.html#Tabs">Action Bar Tabs</a> feature introduced in Android 3.0 (API level 11) serves as the guiding example, but you can apply these techniques to other UI components and API features.</p> |
| 40 | |
| 41 | <h2 id="lessons">Lessons</h2> |
| 42 | |
| 43 | |
| 44 | <dl> |
| 45 | <dt><strong><a href="abstracting.html">Abstracting the New APIs</a></strong></dt> |
| 46 | <dd>Determine which features and APIs your application needs. Learn how to define application-specific, intermediary Java interfaces that abstract the implementation of the UI component to your application.</dd> |
| 47 | |
| 48 | <dt><strong><a href="new-implementation.html">Proxying to the New APIs</a></strong></dt> |
| 49 | <dd>Learn how to create an implementation of your interface that uses newer APIs.</dd> |
| 50 | |
| 51 | <dt><strong><a href="older-implementation.html">Creating an Implementation with Older APIs</a></strong></dt> |
| 52 | <dd>Learn how to create a custom implementation of your interface that uses older APIs.</dd> |
| 53 | |
| 54 | <dt><strong><a href="using-component.html">Using the Version-Aware Component</a></strong></dt> |
| 55 | <dd>Learn how to choose an implementation to use at runtime, and begin using the interface in your application.</dd> |
| 56 | </dl> |