Images, layout descriptions, binary blobs and string dictionaries can be included | |
in your application as resource files. Various Android APIs are designed to | |
operate on the resource IDs instead of dealing with images, strings or binary blobs | |
directly. | |
For example, a sample Android app that contains a user interface layout (main.xml), | |
an internationalization string table (strings.xml) and some icons (drawable-XXX/icon.png) | |
would keep its resources in the "Resources" directory of the application: | |
Resources/ | |
drawable-hdpi/ | |
icon.png | |
drawable-ldpi/ | |
icon.png | |
drawable-mdpi/ | |
icon.png | |
layout/ | |
main.xml | |
values/ | |
strings.xml | |
In order to get the build system to recognize Android resources, set the build action to | |
"AndroidResource". The native Android APIs do not operate directly with filenames, but | |
instead operate on resource IDs. When you compile an Android application that uses resources, | |
the build system will package the resources for distribution and generate a class called | |
"Resource" that contains the tokens for each one of the resources included. For example, | |
for the above Resources layout, this is what the Resource class would expose: | |
public class Resource { | |
public class drawable { | |
public const int icon = 0x123; | |
} | |
public class layout { | |
public const int main = 0x456; | |
} | |
public class strings { | |
public const int first_string = 0xabc; | |
public const int second_string = 0xbcd; | |
} | |
} | |
You would then use R.drawable.icon to reference the drawable/icon.png file, or Resource.layout.main | |
to reference the layout/main.xml file, or Resource.strings.first_string to reference the first | |
string in the dictionary file values/strings.xml. |