[解決済み] アンドロイド開発におけるR.layout.activity_mainの意味(JAVA言語)
質問内容
R.layout.activity_mainの意味は何ですか?
."演算子は、特定のオブジェクトの変数を定義するために使用されることは理解していますが、この場合、2回使用されているので、何もわかりません。また、"R" と "layout" とは一体何なのでしょうか?
つまり、明らかにクラスなのですが(そうですよね)、その機能は何ですか?基本的にR.layout.activity_mainを説明してください!
質問が漠然としすぎていたり、広すぎたりする場合はコメントをお願いします。
解決方法は?
R.java
はクラス(インナークラスがあり、例えば
layout
または
string
)が、アプリのリソースへの参照でビルドプロセス中に生成されます。あなたが作成した(または Android が提供した)すべてのリソースは、アプリのリソースへの参照として
R
リソースIDと呼ばれます。
R.layout.*
は、作成したレイアウトリソースを参照するもので、通常は
/res/layout
. というアクティビティレイアウトを作成した場合
activity_main.xml
の参照を使用することができます。
R.layout.activity_main
にアクセスすることができます。多くの組み込み機能では、このようなリソースIDを容易に受け入れることができます。
setContentView(int layoutResid)
この例は、アクティビティを作成するときに使用するもので、おそらくこの特定の例に遭遇することになるでしょう。
このように文字列リソース(strings.xml内)を作成した場合。
<string name="app_name">Application name</string>
で新しい参照を取得します。
R.string.app_name
. これは、文字列リソースが受け入れられる場所であればどこでも使うことができます。
android:label
でのアプリケーションの場合
AndroidManifest.xml
またはTextViewの上; xmlのどちらかです。
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/app_name"
/>
またはコードで
textview.setText(R.string.app_name)
.
プログラム的にリソースにアクセスするには
Resources
クラスを呼び出すことで参照を得ることができます。
getResources
を任意のコンテキスト (アクティビティなど) で使用できます。例えば、アクティビティで上記のアプリ名を取得するには
this.getResources().getString(R.string.app_name)
.
また、デバイスのプロパティや設定(画面サイズや言語など)ごとに異なるリソースを用意することも可能であり、その場合は
R
. 最も簡単な例は、文字列です。
values
フォルダを
/res
を言語指定子で指定し(だから
/res/values-nl
を追加すると、リソース管理システムは、ユーザーのデバイスに基づいて、どちらの識別子を提供するかを巧みに判断します。
少しはお役に立てたでしょうか。リソースの詳細については ドキュメント .
関連
-
[解決済み】エラー:配列または java.lang.Iterable のインスタンスに対してのみ反復処理を行うことができます。
-
[解決済み] 二項演算子「&」のオペランド型がおかしい java
-
[解決済み】破損したjarファイル
-
[解決済み】スレッド "main "での例外 java.util.NoSuchElementException
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み】Android UserManager.isUserAGoat()の正しい使用例?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】HTTPステータス 405 - リクエストメソッド「POST」はサポートされていません (Spring MVC)
-
[解決済み】代入の左手は必ず変数 CharAt
-
[解決済み】Android Studioでタスク :app:compileDebugJavaWithJavac の実行に失敗しました。
-
[解決済み] 解決済み】Javaが「型をインスタンス化できない」というエラーを返す [重複] [重複]
-
[解決済み】非閉鎖文字リテラルエラー
-
[解決済み】Hibernateの例外「failed to lazily initialize a collection of role」の解決方法
-
[解決済み】純粋なJUnitテストにVisibleForTestingを使用する方法
-
[解決済み】Javaのswitch文。定数式が必要だが、定数である
-
[解決済み】Javaの未処理例外について
-
[解決済み】Javaの".class expected "について