Android Studio is the official Integrated Development Environment (IDE) for Android application development, which is based on IntelliJ IDEA. Apart from being a powerful IntelliJ code editor and developer toolset, Android Studio offers many features that increase your productivity in creating Android apps, such as:
- Flexible Gradle based build system
- Fast and feature-rich emulator
- A unified environment where you can develop apps for all Android devices
- Apply Changes to push code and resource changes to a running app without restarting the app
- Code templates and GitHub integration to help you build common app features and import sample code
- Complete testing framework and features
- Lint feature to record performance, usability, version compatibility, and other issues
- C++ and NDK support
- Built-in support for Google Cloud Platform, which makes it easy to integrate Google Cloud Messaging and App Engine
Each project in Android Studio contains one or more modules with source code files and resource files. Module types include:
- Android app module
- library module
- Google App Engine Module
By default, Android Studio displays your project files in the Android project view, as shown in figure 1. This view is organized by module to provide quick access to your project’s main source files.
All build files are visible at the top level in the Gradle Script section and each app module contains the following folders:
- manifest: Contains the AndroidManifest.xml file.
- java: Contains Java source code files, including JUnit test code.
- res: Contains all non-code resources, such as XML layouts, UI strings, and bitmap images.
The structure of an Android project on disk is different from this unified representation. To see the actual project file structure, select Project from the Project drop-down menu (in figure 1, it shows as Android).
You can also customize the appearance of project files to focus on specific aspects of your app development. For example, selecting the Problems view of your project will return a link to a source file that contains recognized coding and syntax errors, such as an XML element closing tag that isn’t in the layout file.