Anatomy of an android project

In this post i am going to explain what are the contents of an android project. After creating the first android project you can see that a number of folders are present in the project explorer window. Now i explain what is the purpose of each of them.
1. Src folder:
In android  there are mainly two components, first one is the activity and other one is the service. Activities are components which are visible to the user and those are occur in background and not visible to the user is called the services. Each activity in an android project related to two files, first one is the layout file which is an xml file that build the GUI part of the activity and other one is a java file corresponding to that activity. The src folder contain the package and that holds all the java class files associated with the application.

2. Gen folder:
The gen folder contain all the generated java class file in your project. This folder mainly contain a file named R.java which is the resource java file. Editing the content of R.java file result the failure of app execution. 

3. res folder:
The resource folder contain some sub folders.
drawable folder: You can see hdpi - high density pixel, ldpi - low density pixel, mdpi - medium density pixel drawable folders. These folders contains all the images associated with the application. You can place images in these folders according to its pixel size. A high quality image always resides in the hdpi folder. These folder also help the smooth execution of the app in android devices have different screen resolutions.
layout folder: The layout folder contains the files associated with the GUI of the android application. In android the GUI parts are handled by xml files. 
values folder: This folder contain  a built in android resource called the strings.xml file. This folder helps to make the android apps available in multiple languages.

androidmanifest.xml file:
This is the root element of an android application. This also an xml file that contain information such as the minimum sdk, target sdk, activities in the project, intent filter for each activities and services. Android permissions are also set using this file.