page.title=Creating an Android Project page.tags=project setup helpoutsWidget=true trainingnavtop=true next.title=Running Your App next.link=running-app.html @jd:body

This lesson teaches you to

  1. Create a Project with Android Studio

You should also read

An Android project contains all the files that comprise the source code for your Android app.

This lesson shows how to create a new project either using Android Studio or using the SDK tools from a command line.

Note: You should already have Android Studio or the Android SDK command-line tools installed. If not, download them before you start this lesson.

Create a Project with Android Studio

  1. In Android Studio, create a new project:
  2. Fill out the fields on the screen, and click Next.

    It is easier to follow these lessons if you use the same values as shown.

  3. Under Select the form factors your app will run on, check the box for Phone and Tablet.
  4. For Minimum SDK, select API 8: Android 2.2 (Froyo).

    The Minimum Required SDK is the earliest version of Android that your app supports, indicated using the API level. To support as many devices as possible, you should set this to the lowest version available that allows your app to provide its core feature set. If any feature of your app is possible only on newer versions of Android and it's not critical to the app's core feature set, you can enable the feature only when running on the versions that support it (as discussed in Supporting Different Platform Versions).

  5. Leave all of the other options (TV, Wear, and Glass) unchecked and click Next.
  6. Under Add an activity to <template>, select Blank Activity and click Next.
  7. Under Customize the Activity, change the Activity Name to MyActivity. The Layout Name changes to activity_my, and the Title to MyActivity. The Menu Resource Name is menu_my.
  8. Click the Finish button to create the project.

Your Android project is now a basic "Hello World" app that contains some default files. Take a moment to review the most important of these:

app/src/main/res/layout/activity_my.xml
This XML layout file is for the activity you added when you created the project with Android Studio. Following the New Project workflow, Android Studio presents this file with both a text view and a preview of the screen UI. The file contains some default interface elements from the material design library, including the app bar and a floating action button. It also includes a separate layout file with the main content.
app/src/main/res/layout/content_my.xml
This XML layout file resides in {@code activity_my.xml}, and contains some settings and a {@code TextView} element that displays the message, "Hello world!".
app/src/main/java/com.mycompany.myfirstapp/MyActivity.java
A tab for this file appears in Android Studio when the New Project workflow finishes. When you select the file you see the class definition for the activity you created. When you build and run the app, the {@link android.app.Activity} class starts the activity and loads the layout file that says "Hello World!"
app/src/main/AndroidManifest.xml
The manifest file describes the fundamental characteristics of the app and defines each of its components. You'll revisit this file as you follow these lessons and add more components to your app.
app/build.gradle
Android Studio uses Gradle to compile and build your app. There is a build.gradle file for each module of your project, as well as a build.gradle file for the entire project. Usually, you're only interested in the build.gradle file for the module, in this case the app or application module. This is where your app's build dependencies are set, including the defaultConfig settings:

See Building Your Project with Gradle for more information about Gradle.

Note also the /res subdirectories that contain the resources for your application:

drawable-<density>/
Directories for drawable resources, other than launcher icons, designed for various densities.
layout/
Directory for files that define your app's user interface like {@code activity_my.xml}, discussed above, which describes a basic layout for the {@code MyActivity} class.
menu/
Directory for files that define your app's menu items.
mipmap/
Launcher icons reside in the {@code mipmap/} folder rather than the {@code drawable/} folders. This folder contains the {@code ic_launcher.png} image that appears when you run the default app.
values/
Directory for other XML files that contain a collection of resources, such as string and color definitions.

To run the app, continue to the next lesson.