Quickview
• Android applications are composed of one or more application components (activities, services, content providers, and broadcast receivers) • Each component performs a different role in the overall application behavior, and each one can be activated individually (even by other applications) • The manifest file must declare all components in the application and should also declare all application requirements, such as the minimum version of Android required and any hardware configurations required • Non-code application resources (images, strings, layout files, etc.) should include alternatives for different device configurations (such as different strings for different languages and different layouts for different screen sizes)
In this document
1. Application Components 1. Activating components 2. The Manifest File 1. Declaring components 2. Declaring application requirements 3. Application Resources
Android applications are written in the Java programming language. The Android SDK tools compile the code—along with any data and resource files—into an Android package, an archive file with an .apk suffix. All the code in a single .apk file is considered to be one application and is the file that Android-powered devices use to install the application.
Once installed on a device, each Android application lives in its own security sandbox: • The Android operating system is a multi-user Linux system in which each application is a different user. • By default, the system assigns each application a unique Linux user ID (the ID is used only by the system and is unknown to the application). The system sets permissions for all the files in an application so that only the user ID assigned to that application can access them. • Each process has its own virtual machine (VM), so an application's code runs in isolation from other applications. • By