创建新的Android项目时,默认情况下会有一些文件添加到项目中.我们将这些默认项目文件和文件夹称为 Android资源.看一下下面的截图.
默认Android资源包括以下 :
AndroidManifest.xml文件 : 它包含有关Android应用程序的信息,例如应用程序名称,权限等.
资源文件夹 : 资源可以是图像,布局,字符串等,可以通过Android的资源系统加载.
资源/可绘制文件夹 : ;它存储了您将在应用程序中使用的所有图像.
资源/布局文件夹 : 它包含Android用于构建用户界面的所有Android XML文件(.axml).
Resources/values文件夹 : ;它包含XML文件,用于在整个应用程序中声明字符串(和其他类型)的键值对.这就是通常在Android上设置多种语言的本地化的方式.
Resources.designer.cs : 此文件是在创建Android投影时自动创建的,并且包含引用Android资源的唯一标识符.
MainActivity.cs文件 : 这是Android应用程序的第一个活动,也是启动主应用程序操作的地方.
可以通过编程方式访问资源文件a 唯一ID ,存储在 resources.designer.cs 文件中.该ID包含在名为资源的类下.添加到项目中的任何资源都是在资源类中自动生成的.
以下代码显示如何创建包含七个图像和减号的gridview项目;
namespace HelloGridView { [System.CodeDom.Compiler.GeneratedCodeAttribute ("Xamarin.Android.Build.Tas ks", "1.0.0.0")] public partial class Resource { static Resource() { global::Android.Runtime.ResourceIdManager.UpdateIdValues(); } public static void UpdateIdValues() {} public partial class Attribute { static Attribute() { global::Android.Runtime.ResourceIdManager.UpdateIdValues(); } private Attribute() {} } public partial class Drawable { // aapt resource value: 0x7f020000 public const int Icon = 2130837504; // aapt resource value: 0x7f020001 public const int img1 = 2130837505; // aapt resource value: 0x7f020002 public const int img2 = 2130837506; // aapt resource value: 0x7f020003 public const int img3 = 2130837507; // aapt resource value: 0x7f020004 public const int img4 = 2130837508; // aapt resource value: 0x7f020005 public const int img5 = 2130837509; // aapt resource value: 0x7f020006 public const int img6 = 2130837510; // aapt resource value: 0x7f020007 public const int img7 = 2130837511; static Drawable() { global::Android.Runtime.ResourceIdManager.UpdateIdValues(); } private Drawable() {} } public partial class Id { // aapt resource value: 0x7f050000 public const int gridview = 2131034112; static Id() { global::Android.Runtime.ResourceIdManager.UpdateIdValues(); } private Id() {} } public partial class Layout { // aapt resource value: 0x7f030000 public const int Main = 2130903040; static Layout() { global::Android.Runtime.ResourceIdManager.UpdateIdValues(); } private Layout() {} } public partial class String { // aapt resource value: 0x7f040001 public const int ApplicationName = 2130968577; // aapt resource value: 0x7f040000 public const int Hello = 2130968576; static String() { global::Android.Runtime.ResourceIdManager.UpdateIdValues(); } private String() {} } } }
来自在上面的代码中,七个图像在名为 drawable 的类中引用.这些图像以编程方式添加.如果用户将另一个图像添加到项目中,它也将添加到 drawable 类中.项目中包含的 gridview 也会自动添加并存储在类中. 资源文件夹中包含的每个项目都会自动生成并存储在类中.