Xamarin-android-resources

提供:Dev Guides
移動先:案内検索

Xamarin-Androidリソース

新しいAndroidプロジェクトが作成されると、デフォルトでプロジェクトに追加されるファイルがいくつかあります。 これらのデフォルトのプロジェクトファイルとフォルダーを Android Resources と呼びます。 次のスクリーンショットをご覧ください。

Androidリソース

デフォルトのAndroidリソースには次のものが含まれます-

  • * AndroidManifest.xmlファイル*-Androidアプリケーションに関する情報、たとえば、アプリケーション名、権限などが含まれています。
  • リソースフォルダ-リソースは画像、レイアウト、文字列などです。 Androidのリソースシステム経由で読み込むことができます。
  • Resources/drawable folder -アプリケーションで使用するすべての画像を保存します。
  • Resources/layout folder -Androidがユーザーインターフェイスを構築するために使用するすべてのAndroid XMLファイル(.axml)が含まれています。
  • * Resources/valuesフォルダー*-アプリケーション全体の文字列(およびその他のタイプ)のキーと値のペアを宣言するXMLファイルが含まれています。 これは、Androidで複数言語のローカライズが通常設定される方法です。
  • Resources.designer.cs -このファイルは、投影されるAndroidの作成時に自動的に作成され、Androidリソースを参照する一意の識別子が含まれます。
  • * MainActivity.csファイル*-これは、Androidアプリケーションの最初のアクティビティであり、メインアプリケーションアクションの起動元です。

リソースファイルは、 resources.designer.cs ファイルに保存されている*一意のID を介してプログラムでアクセスできます。 IDは、 *Resource というクラスの下に含まれています。 プロジェクトに追加されたリソースは、*リソースクラス*内で自動的に生成されます。

次のコードは、7つの画像を含む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() {}
      }
   }
}

上記のコードから、7つの画像は drawable と呼ばれるクラスで参照されます。 これらの画像はプログラムで追加されます。 ユーザーがプロジェクトに別の画像を追加すると、その画像は drawable クラスにも追加されます。 プロジェクトに含まれる gridview も追加され、独自のクラスに保存されます。 * resourcesフォルダ*に含まれる各アイテムは自動的に生成され、クラスに保存されます。