What is Android R java file

Scotty Moe

Updated on:

Android R .java is a class that contain definitions for all the resources a specific application that you are building. Every resource that is used in you application will have its id in the android r .java file.

Android R with example:

Suppose you drag a simple plain text view into the main screen of your main-activity.xml now this plain text view will have its resource id in the android R.java file. In the same if you look at the coding given below you will see resource ids for different components, such as icon, texts, themes etc.

This class contain two types of members:

1) Static final classes

2) Static final integers

  • R.java file is automatically generated by   aapt(Android Asset Packaging Tool).
  • User is not supposed to change this; you change this it will be erased as it is auto generated every time.

Android R.java Path:         /gen/com/foo/R.java

Android R location

[Ideabox]

What if you delete the R.java file ?

[/ideabox]

Andorid R.java Code:


/* AUTO-GENERATED FILE.  DO NOT MODIFY.

*

* This class was automatically generated by the

* aapt tool from the resource data it found.  It

* should not be modified by hand.

*/

 

package com.lasttry;

 

public final class R {

public static final class attr {

}

public static final class dimen {

/**  Default screen margins, per the Android Design guidelines.

 

Customize dimensions originally defined in res/values/dimens.xml (such as

screen margins) for sw720dp devices (e.g. 10" tablets) in landscape here.

*/

public static final int activity_horizontal_margin=0x7f040000;

public static final int activity_vertical_margin=0x7f040001;

}

public static final class drawable {

public static final int ic_launcher=0x7f020000;

}

public static final class id {

public static final int action_settings=0x7f080001;

public static final int result=0x7f080000;

}

public static final class layout {

public static final int activity_main=0x7f030000;

}

public static final class menu {

public static final int main=0x7f070000;

}

public static final class string {

public static final int action_settings=0x7f050001;

public static final int app_name=0x7f050000;

public static final int hello_world=0x7f050002;

}

public static final class style {

/**

Base application theme, dependent on API level. This theme is replaced

by AppBaseTheme from res/values-vXX/styles.xml on newer devices.

 

Theme customizations available in newer API levels can go in

res/values-vXX/styles.xml, while customizations related to

backward-compatibility can go here.

 

Base application theme for API 11+. This theme completely replaces

AppBaseTheme from res/values/styles.xml on API 11+ devices.

API 11 theme customizations can go here.

 

Base application theme for API 14+. This theme completely replaces

AppBaseTheme from BOTH res/values/styles.xml and

res/values-v11/styles.xml on API 14+ devices.

API 14 theme customizations can go here.

*/

public static final int AppBaseTheme=0x7f060000;

/**  Application theme.

All customizations that are NOT specific to a particular API-level can go here.

*/

public static final int AppTheme=0x7f060001;

}

}

Leave a Comment