Search This Blog

Friday, June 24, 2016

Android Directory Structure

 Android Project Directory



Click here for Android Introduction
Before going to the first project it is must , we should know the Android Project Directory Structure.

So lets begin with it....

check out he following snapshot of android project directory structure

(This structure is  Eclipse IDE  )


Fig.1 Project Structure in Eclipse IDE

This bellow one Structure  is in Android Studio


Fig.2 Project Structure in Android Studio


So friends before going for any project development in any of the technology it is very important to know the structure of the project we going to develop.                                                                        

similar to any other technology in android project also have structure as shown above fig.1 in Eclipse IDE and fig.2 is in Android Studio , now  its  official IDE to develop android apps 
  

1) Src i.e. source (Eclipse) / Java (studio) :

 This folder contains all the packages and java files we create (*.java )

2) Assets : In this folder we put the files which we use in our app i.e. files like html pages,Database files etc.


3)Lib (Library): In this folder we can have the .jar files i.e.additional library files in app.

4)Res (Resources) :


The above resource structure is in Eclipse where we can store different size images related to screens and XML drawable files which contains design /style codes.

where


Following are the  densities supported in android app

  • ldpi (low) ~120dpi
  • mdpi (medium) ~160dpi
  • hdpi (high) ~240dpi
  • xhdpi (extra-high) ~320dpi
  • xxhdpi (extra-extra-high) ~480dpi
  • xxxhdpi (extra-extra-extra-high) ~640dpi
             Where dp stands for Density-independent pixel .

so in in these different folders we can place our different sized images so that app can support different resolution screens android  devices.



R.Java ?

-Here ‘R’ is termed as resource

Purpose: r.java is an abstraction between the java file and different resources available in resource folder
-A resource may be an UI component or file.
-For every resource in resource folder, it creates a static integer field in R.Java so that we can access the resource into our java code with the help of static integer field i.e. id of the resource.

 Eg: R.drawble.image-name (i.e. any resource name)
       R.id.id-name.

          -R.java class
          -R.java is nothing but an internal class
          -It contain/create static internal class for folder/file each you place in folder


Eg: Class R
       {
          Static class drawable {
                                                        public static int icon { }
                                                   }
       }

XML:
In this  data is  enclosed  with tags.
     
In XML we can create our own tags, which is not possible in html.

Normally follow Rules used
                -Every element must be properly nested.
                 -Should not contain space between the tag names.
                -Tagging should not start with numbers and special symbols.
                -Should contain only one root element.
To define own rules to the xml file –go with DTD[Document Type Definition] and /or XSD[XML scheme Definition –it is latest and used in android.].
Following data  formats are used in XML
-UTF-8 (default in adnroid)
-UTF-16

Advantages:
-Used to share data between two technologies.
-XML is used as textual database
-XML is used as deployment descriptor.
Eg: web.xml, web_config.xml,manifest.xml.




5) Layout folder in res : This folder contains XML files which have the view design in XML format. 

6) Values : this is another folder in res directory where we can put dimensions xml file  string resources file, styles.xml and color.xml file and so on which are usefull in app, 

7) Manifest . xml :

This file provides complete description about the app i.e . number of activities used in app,the permissions needed to install the app and so on.

The important thing is android platform before starting and installing the app reefers to the manifest file.


8) Gradle Script :
Is the new thing added to the android studio.
Gradle is a build system used 

Have you ever wondered why the res folder is in the same directory as your src folder?
This is where the build system enters the picture. The build system automatically takes all the source files (.java or .xml), then applies the appropriate tool (e.g. takes java class files and converts them to dex files), and groups all of them into one compressed file, our beloved APK.
This build system uses some conventions: an example of one is to specify the directory containing the source files (in Eclipse it is \src folder) or resources files (in Eclipse it is \res folder).
Now, in order to automate all these tasks, there has to be a script; you can write your own build system using shell scripting in linux or batch files syntax in windows. Got it?
Gradle is another build system that takes the best features from other build systems and combines them into one. It is improved based off of their shortcomings. It is a JVM based build system, what that means is that you can write your own script in Java, which Android Studio makes use of.



Thank you guys hope you understood the directory structure in detail. !

No comments:

Post a Comment