1

strings.xml ファイルまたは layout.xml ファイルにエントリを追加すると、R.java ファイルが自動的に変更されます。ここでも、ユーザーが入力した EditText 値を読み取るなど、レイアウト ファイルから何かを参照したい場合は、Java コードで R.java ファイルを参照して値を読み取ります。

この R.java ファイルとは何ですか? この R.java ファイルの各エントリの値は HEXADECIMAL 形式のようですが、その用途は何ですか?

私はドキュメントを読みましたが、このR.javaについてかなり混乱しています:(

誰かが一歩前に出て、このR.javaファイルが何であるかを説明してください:(

よろしく、

4

3 に答える 3

1

http://developer.android.com/guide/topics/ui/declaring-layout.htmlによると:

android:id="@+id/my_button"

文字列の先頭にあるアットマーク(@)は、XMLパーサーが残りのID文字列を解析および展開し、それをIDリソースとして識別する必要があることを示します。プラス記号(+)は、これが新しいリソース名であり、作成してリソースに追加する必要があることを意味します(R.javaファイル内)。

R.javaファイルはAndroidResourceManager(aapt.exe)によって生成され、アプリのすべてのリソースへの参照が含まれています。各参照は一意のID(public static final int)です。これらの定数は、16進形式でR.javaファイルに書き込まれます。各リソースに特定の整数を割り当てるロジックは、AndroidResourceManager専用です。aapt.exeのソースコードは、インターネット(http://gitorious.org/rowboat/frameworks-base/trees/d58fb97ddf052b3ceac921ac7e936af990392b2c/tools/aaptなど)で確認できます。

于 2012-06-17T09:21:20.070 に答える
0

コード内で参照できるように、リソース オブジェクトを Java で認識可能な名前に変換します。

于 2012-06-17T08:15:56.203 に答える
0

R クラスは基本的に、Android がコード内からリソースへのアクセスを提供する方法です。あなたが書いたように、そのリソースファイルの保存時にstrings.xmlなどを変更すると、Android SDKはRクラスを再コンパイルして、コード内で変更にアクセスできるようにします。R クラスの値は多かれ少なかれ重要ではありません。これは、たとえば文字列を ID にマップするために Android で内部的に使用されるためです。

コード内から文字列を参照するには、次のように R を使用します。

R.string.MyString

string.xml で文字列を作成すると、MyString と呼ばれます。レイアウト等も同様です。

これはあなたが読んだものだと思いますが、そうでなければ、ここでかなりよく説明されています。

于 2012-06-17T08:16:38.977 に答える