In my previous post I showed you how to create a simple Hello World Android application. This post is about understanding the Android project structure with Eclipse.
As the Android project is also a simple JAVA project there is not much more difference between any standard JAVA project and Android project.
Android Project Structure |
The above image shows the typical Android project structure in Eclipse IDE. Let's take a folder one by one.
assets/
This folder is empty. You can use it to store any raw files. All the files you save here are compiled into an .apk file as it is, and the original file name is preserved. You can navigate this directory in the same way as a typical file system using URIs and read files as a stream of bytes using the AssetManager.
gen/
This folder contains the all the JAVA files generated by ADT (Android Developer Tools), such as your R.java file, interfaces, etc.
res/
This folder contains Android application resources, such as layout files, drawable files, string values, etc.
- colors/
This folder is used to store XML files that describe colors.
- drawable/
This folder is meant for Bitmap files like PNG, JPEG, GIF and XLM files that describe any Drawable shapes or Drawable objects. - layout/
All the XML files that are compiled into screen layouts and part for the Android application screen. - values/
This folder stores all the XML files that are compiled into many kinds of resource. Unlike other resources in the res/ directory, resources written to XML files in this folder are not referenced by the file name. Instead, the XML element type controls how the resources is defined within them are placed into the R class. - menu/
This folder is used to store the XML files that define application menus.
Every Android application must have an AndroidManifest.xml file. The file name should not be change to any other name. Also the file should be in the root directory of your Android project. This file represents all the essential information about the Android application to the system. This information is used before the any of the application's code runs.