Android Developer Reference

This is the official Google Android site for developers. Here you will find all the documentation you need to develop rich android applications.

You will most likely visit this site often.

All tutorials and sample code are credited to their respected owners.

Portions of this page are reproduced from work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.


This topic contains a listing of all the available tutorials on android development.

Below is a compilation list of all the available tutorials. These tutorials were compiled from numerous sources online and from personal experiences dealing with specific issues, or trying to accomplish a certain task.

Feel free to explore as many of these tutorials and tips as much as you like. Links to outside sources will be found within the text to pinpoint certain logic or principles involved in that certain task.

The Android API

Android gives you everything you need to build best-in-class app experiences. It gives you a single application model that lets you deploy your apps broadly to hundreds of millions of users across a wide range of devices from phones to tablets and beyond.

Android also gives you tools for creating apps that look great and take advantage of the hardware capabilities available on each device. It automatically adapts your UI to look it's best on each device, while giving you as much control as you want over your UI on different device types.

For example, you can create a single app binary that's optimized for both phone and tablet form factors. You declare your UI in lightweight sets of XML resources, one set for parts of the UI that are common to all form factors and other sets for optimzations specific to phones or tablets. At runtime, Android applies the correct resource sets based on its screen size, density, locale, and so on.

To help you develop efficiently, the Android Developer Tools offer a full Java IDE with advanced features for developing, debugging, and packaging Android apps. Using the IDE, you can develop on any available Android device or create virtual devices that emulate any hardware configuration.

Creating your First App

This topic covers creating your first Android Application using IntelliJIDEA v12, this IDE comes highly recommended by us, and it is what we use to develop our apps.

To create a new Android App click on File->New Module and you will presented with the New Module wizard shown below. Follow the steps to fill in the required information.

  1. Enter HelloWorld in the Module name field, this name will be used throughout your application to identify it.
  2. (Optional)The Content root field shows the folder location to store the source file in. You can change this or leave at recommended value.
  3. (Optional)The Module file location field allows you to store your module file itself to another location.
  4. Click Next to go to next page of wizard.
After you click next, you will be presented with the second page of the wizard. This page is explained below.

  1. Enter Hello World in the Application name field, this is a descriptive name and can be used in your activity title bars.
  2. Enter com.example.HelloWorld in the Package name field. This field should really represent your company name or have a uniqueness to it. (Ex. com.yourcompany.HelloWorld)
  3. Make sure Create "Hello World!" activity is checked.
  4. Specify the activity name in the Activity name field. This could be MainActivity or whatever you choose.
  5. Click Finish to create the application.
Once you fill in the appropriate information and click finish, the new application will be opened in IntelliJ and your project will be displayed in the project window. Please see below on how to Modify the HelloWorld Application to make it robust enough to use as a template for future projects.

Modifying the HelloWorld App

This topic will show you how you can modify the HelloWorld application to be more useful as a template for future projects. This topic will also discuss adding default Menus, an About Dialog, a ActionBar if targeting android 3.x and above devices.

Click the button below to go to the tutorial.