| Scott Main | 5cdadb4 | 2013-11-05 18:29:52 -0800 | [diff] [blame] | 1 | page.title=Introduction to Android | 
 | 2 |  | 
 | 3 | @jd:body | 
 | 4 |  | 
 | 5 |  | 
 | 6 | <div class="sidebox" style="width:220px"><!-- width to match col-4 below --> | 
 | 7 | <p>To learn how apps work, start with | 
 | 8 | <a href="{@docRoot}guide/components/fundamentals.html">App Fundamentals</a>.</p> | 
 | 9 | <p>To begin coding right away, read <a | 
 | 10 | href="{@docRoot}training/basics/firstapp/index.html">Building Your First App</a>.</p> | 
 | 11 | </div> | 
 | 12 |  | 
 | 13 | <p>Android provides a rich application framework that allows you to build innovative apps and games | 
 | 14 | for mobile devices in a Java language environment. The documents listed in the left | 
 | 15 | navigation provide details about how to build apps using Android's various APIs.</p> | 
 | 16 |  | 
 | 17 | <p>If you're new to Android development, it's important that you understand | 
 | 18 | the following fundamental concepts about the Android app framework:</p> | 
 | 19 |  | 
 | 20 |  | 
 | 21 | <div class="landing-banner"> | 
 | 22 |  | 
 | 23 | <div class="col-6"> | 
 | 24 |  | 
 | 25 | <h4>Apps provide multiple entry points</h4> | 
 | 26 |  | 
 | 27 | <p>Android apps are built as a combination of distinct components that can be invoked | 
 | 28 | individually. For instance, an individual <em>activity</em> provides a single | 
 | 29 | screen for a user interface, and a <em>service</em> independently performs | 
 | 30 | work in the background.</p> | 
 | 31 |  | 
 | 32 | <p>From one component you can start another component using an <em>intent</em>. You can even start | 
| Andrew Solovay | b2255d4 | 2015-03-31 12:10:47 -0700 | [diff] [blame] | 33 | a component in a different app, such as an activity in a maps app to show an address. This model | 
| Scott Main | 5cdadb4 | 2013-11-05 18:29:52 -0800 | [diff] [blame] | 34 | provides multiple entry points for a single app and allows any app to behave as a user's "default" | 
 | 35 | for an action that other apps may invoke.</p> | 
 | 36 |  | 
 | 37 |  | 
 | 38 | <p><b>Learn more:</b></p> | 
 | 39 | <ul class="nolist"> | 
 | 40 | <li><a href="{@docRoot}guide/components/fundamentals.html">App Fundamentals</a> | 
 | 41 | <li><a href="{@docRoot}guide/components/intents-filters.html">Intents and Intent Filters</a> | 
 | 42 | <li><a href="{@docRoot}guide/components/activities.html">Activities</a> | 
 | 43 | </ul> | 
 | 44 |  | 
 | 45 | </div> | 
 | 46 |  | 
 | 47 |  | 
 | 48 | <div class="col-6"> | 
 | 49 |  | 
 | 50 | <h4>Apps adapt to different devices</h4> | 
 | 51 |  | 
 | 52 | <p>Android provides an adaptive app framework that allows you to provide unique resources | 
 | 53 | for different device configurations. For example, you can create different XML | 
 | 54 | layout files for different screen sizes and the system | 
 | 55 | determines which layout to apply based on the current device's screen size.</p> | 
 | 56 |  | 
 | 57 | <p>You can query the availability of device features at runtime if any app features require | 
 | 58 | specific hardware such as a camera. If necessary, you can also declare features your app requires | 
 | 59 | so app markets such as Google Play Store do not allow installation on devices that do not support | 
 | 60 | that feature.</p> | 
 | 61 |  | 
 | 62 |  | 
 | 63 | <p><b>Learn more:</b></p> | 
 | 64 | <ul class="nolist"> | 
 | 65 | <li><a href="{@docRoot}guide/practices/compatibility.html">Device Compatibility</a> | 
 | 66 | <li><a href="{@docRoot}guide/topics/resources/overview.html">Resources Overview</a> | 
 | 67 | <li><a href="{@docRoot}guide/topics/ui/overview.html">User Interface Overview</a> | 
 | 68 | </ul> | 
 | 69 |  | 
 | 70 | </div> | 
 | 71 |  | 
 | 72 | </div><!-- end landing-banner --> | 
 | 73 |  | 
 | 74 |  | 
 | 75 |  |