page.title=Introduction to Android @jd:body <div class="sidebox" style="max-width:30%"><!-- width to match col-4 below --> <p>To learn how apps work, start with <a href="{@docRoot}guide/components/fundamentals.html">App Fundamentals</a>.</p> <p>To begin coding right away, read <a href="{@docRoot}training/basics/firstapp/index.html">Building Your First App</a>.</p> </div> <p>Android provides a rich application framework that allows you to build innovative apps and games for mobile devices in a Java language environment. The documents listed in the left navigation provide details about how to build apps using Android's various APIs.</p> <p>If you're new to Android development, it's important that you understand the following fundamental concepts about the Android app framework:</p> <div class="wrap"> <div class="cols"> <div class="col-1of2"> <h4>Apps provide multiple entry points</h4> <p>Android apps are built as a combination of distinct components that can be invoked individually. For instance, an individual <em>activity</em> provides a single screen for a user interface, and a <em>service</em> independently performs work in the background.</p> <p>From one component you can start another component using an <em>intent</em>. You can even start a component in a different app, such as an activity in a maps app to show an address. This model provides multiple entry points for a single app and allows any app to behave as a user's "default" for an action that other apps may invoke.</p> <p><b>Learn more:</b></p> <ul class="nolist"> <li><a href="{@docRoot}guide/components/fundamentals.html">App Fundamentals</a> <li><a href="{@docRoot}guide/components/intents-filters.html">Intents and Intent Filters</a> <li><a href="{@docRoot}guide/components/activities.html">Activities</a> </ul> </div> <div class="col-1of2"> <h4>Apps adapt to different devices</h4> <p>Android provides an adaptive app framework that allows you to provide unique resources for different device configurations. For example, you can create different XML layout files for different screen sizes and the system determines which layout to apply based on the current device's screen size.</p> <p>You can query the availability of device features at runtime if any app features require specific hardware such as a camera. If necessary, you can also declare features your app requires so app markets such as Google Play Store do not allow installation on devices that do not support that feature.</p> <p><b>Learn more:</b></p> <ul class="nolist"> <li><a href="{@docRoot}guide/practices/compatibility.html">Device Compatibility</a> <li><a href="{@docRoot}guide/topics/resources/overview.html">Resources Overview</a> <li><a href="{@docRoot}guide/topics/ui/overview.html">User Interface Overview</a> </ul> </div> </div> </div>