SyntaxHighlighter

2010年7月20日火曜日

Androidアプリを作ってみよう その7

R.javaの解説です。
このソースはプロジェクトのパッケージ構成から
自動生成されたものなので、勝手に変更しては
いけません。(コメントの内容もほぼ似たようなものです)

現在の内容は以下のようになっています。

/* 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 jp.co.aicell;

public final class R {
  public static final class attr {
  }
  public static final class drawable {
    public static final int icon=0x7f020000;
  }
  public static final class layout {
    public static final int main=0x7f030000;
  }
  public static final class string {
    public static final int app_name=0x7f040001;
    public static final int hello=0x7f040000;
  }
}

では、ソースの内容ですが、
先頭はコメントです。複数行にわたる場合は/* ~ */の範囲が
コメントとして扱われます。1行の場合は//で表すことも可能です。

例:public static final int main=0x7f030000;  // メイン画面のID

①public final class R {
final :クラスの属性を表します。これを宣下したクラスは継承元にはなれません。
   誰もこのクラスを継承した新たなクラスを作成できないことになります。
   まぁ、だからfinal なんでしょう。
   解説本によっては「インスタンス」を作れないと表現している場合が
   ありますが、「インスタンス」については、また別途説明します。

②public static final int main
static:これは変更不可能な文字列定数の宣言です。
   ですから、int main=0x7f030000;のように値をここで設定しておく
   必要があります。


次にこのソースをじっと見ていると、プロジェクトのディレクトリィ構成に
似ていること気がつくと思います。
どこに何があるか管理しているのです。
使用する画面や文字列が増えるとこの定義も増えていきます。

たまに覗いてみると、自分で増やした文字列や画面が増えていることが
わかります。ただしくれぐれも見るだけにしておいてください。

0 件のコメント:

コメントを投稿