Когда создается новый проект Android, по умолчанию в него добавляются некоторые файлы. Мы называем эти файлы и папки проекта по умолчанию как ресурсы Android . Посмотрите на следующий скриншот.
Ресурсы Android по умолчанию включают следующее:
-
Файл AndroidManifest.xml — содержит информацию о ваших приложениях Android, например, имя приложения, разрешения и т. Д.
-
Папка ресурсов. Ресурсами могут быть изображения, макеты, строки и т. Д., Которые можно загружать через систему ресурсов Android.
-
Папка Resources / drawable — хранит все изображения, которые вы собираетесь использовать в своем приложении.
-
Папка Resources / layout — содержит все XML-файлы Android (.axml), которые Android использует для создания пользовательских интерфейсов.
-
Папка Resources / values — содержит XML-файлы для объявления пар ключ-значение для строк (и других типов) в приложении. Вот как обычно на Android устанавливается локализация для нескольких языков.
-
Resources.designer.cs — этот файл создается автоматически при создании проекции Android и содержит уникальные идентификаторы, которые ссылаются на ресурсы Android.
-
Файл MainActivity.cs — это первое действие вашего приложения Android, из которого запускаются основные действия приложения.
Файл AndroidManifest.xml — содержит информацию о ваших приложениях Android, например, имя приложения, разрешения и т. Д.
Папка ресурсов. Ресурсами могут быть изображения, макеты, строки и т. Д., Которые можно загружать через систему ресурсов Android.
Папка Resources / drawable — хранит все изображения, которые вы собираетесь использовать в своем приложении.
Папка Resources / layout — содержит все XML-файлы Android (.axml), которые Android использует для создания пользовательских интерфейсов.
Папка Resources / values — содержит XML-файлы для объявления пар ключ-значение для строк (и других типов) в приложении. Вот как обычно на Android устанавливается локализация для нескольких языков.
Resources.designer.cs — этот файл создается автоматически при создании проекции Android и содержит уникальные идентификаторы, которые ссылаются на ресурсы Android.
Файл MainActivity.cs — это первое действие вашего приложения Android, из которого запускаются основные действия приложения.
К файлам ресурсов можно получить программный доступ через уникальный идентификатор, который хранится в файле resources.designer.cs . Идентификатор содержится в классе Resource . Любой ресурс, добавленный в проект, автоматически создается внутри класса ресурса .
Следующий код показывает, как создать проект 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 . Сетка, содержащаяся в проекте, также добавляется и сохраняется в классе самостоятельно. Каждый элемент, содержащийся в папке ресурсов, автоматически создается и сохраняется в классе.