blob: c8b6ecc123010d218b94c73eb4291d800c5817eb [file] [log] [blame]
Roman Nurik38e09c32012-03-28 17:55:24 -07001page.title=Creating Backward-Compatible UIs
Joe Fernandez33baa5a2013-11-14 11:41:19 -08002page.tags=widgets,support
Roman Nurik38e09c32012-03-28 17:55:24 -07003
4trainingnavtop=true
5startpage=true
Roman Nurik38e09c32012-03-28 17:55:24 -07006
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 Main4e2c9dc2013-07-23 19:35:17 -070016 <li><a href="{@docRoot}tools/support-library/index.html">The Android Support Package</a></li>
Roman Nurik38e09c32012-03-28 17:55:24 -070017</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>