0

私はJavaとAndroidのプログラミングに非常に慣れていません。私は開発者のページで何が起こっているのかを理解しようとしていて、次のアドレスにある例を調べていました:http ://developer.android.com/training/basics/fragments/creating.html は、説明できない結果を生み出しました。具体的には、RファイルはIDサブパートにいくつかの変数を生成しますが、これらはどのリソースファイルにも見つかりませんでした。間違った場所を探しているのか、提供されたxmlからではなく事前に生成されているのかわかりませんか?Rファイルの生成とリソースファイルとの相互作用のダイナミクスを理解しようとしていますが、その例を調整するのに問題があります。

4

2 に答える 2

0

Rファイルで生成されたIDは見つかりません。それらはアルゴリズムによって生成されます。ハッシュコードのように想像する必要があります。これは、一意に生成されます。

于 2013-02-21T21:57:55.417 に答える
0

Androidプロジェクトでは、プロジェクトをビルドするたびにRクラスが自動的に更新または生成されます。デフォルトでは、変更を保存するとき、またはctrl + sを押すと、eclipseはコードを自動的にビルドまたはコンパイルします。したがって、リソースRの変更はすべて更新されます。新しいID、レイアウト、ドローアブル、メニュー、文字列、スタイルなどを指定すると、androidはRクラスに参照静的整数を追加します。

例:

public static final class id {
    public static final int image=0x7f070001;
    public static final int input=0x7f070000;
    public static final int menu_settings=0x7f070002;
}

@ + id / mynameを追加すると、Rは次のように更新されます...

public static final class id {
    public static final int image=0x7f070001;
    public static final int input=0x7f070000;
    public static final int menu_settings=0x7f070002;
    public static final int myname=0x<something>;
}

Rクラスは、アクセスしたり、検索、設定、取得したりする際の参照としても使用されます。

 setContentView(R.layout.activity_main); //this will set the layout in the activity where R class points out to the integer reference in the R class which somehow used by the system to get the xml layout activity_main

 someView.setBackgroundResource(R.drawable.picture) //R points to the integer reference of image which then the system interprets the someView's background is set by the image file picture under drawable resource.

これがお役に立てば幸いです。Androidへようこそ:)

于 2013-02-21T22:07:18.227 に答える