当前位置: 首页 > 面试题库 >

R.layout.activity_main在android开发中的含义(JAVA语言)

微生昌勋
2023-03-14
问题内容

R.layout.activity_main是什么意思?

我明白那个 ”。” 运算符用于定义特定对象的变量,但是在这种情况下,它被使用了两次,因此我无法从中进行任何操作。另外,“ R”和“布局”到底是什么?

我的意思是显然它们是类(对吗?),但是它们的功能是什么?基本上解释一下R.layout.activity_main!

如果问题太模糊或太广泛,请发表评论。


问题答案:

R.java是在构建过程中通过引用您的应用程序资源而生成的类(具有内部类,例如layoutstring)。您创建(或由Android提供)的每个资源都由中的整数引用R,称为资源ID。

R.layout.*引用您通常在中创建的任何布局资源/res/layout。因此,如果您创建了一个名为的活动布局activity_main.xml,则可以使用中的引用R.layout.activity_main进行访问。许多内置功能很容易接受这样的资源ID,例如setContentView(int layoutResid)您在创建活动时使用的ID,以及您可能遇到此特定示例的位置。

如果您这样创建一个字符串资源(在strings.xml中):

<string name="app_name">Application name</string>

它将在中获得新的参考R.string.app_name。然后,您可以在接受字符串资源的任何地方使用此代码,例如,或TextView上android:label用于您的应用程序AndroidManifest.xml的。要么在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对于荷兰语而言),并且您添加了具有相同标识符但字符串不同的字符串,并且资源管理系统会巧妙地找出要提供的文件夹根据您用户的设备为您服务。

我希望这能有所帮助。有关资源的更多信息,请参见文档。



 类似资料:
  • 以下代码中::的含义是什么?

  • 问题内容: 我在Android源代码中看到一个陌生的符号: 例如: 我对星号表示法不熟悉。有人可以解释吗? 问题答案: 是的简化版本 此表示法来自C。

  • android studio中的货币转换器应用程序不停地停止,所以我对堆栈溢出进行了一点点搜索,为什么会出现这种情况,主要是因为一些小的错误,并且了解了如何检查堆栈跟踪,但是我没有能力解决这个问题。 在堆栈跟踪中,我看到错误位于OnCreat中的setContentView(r.layout.activity_main)。请帮我解决一下。我将在下面附加mainactivity.java和activ

  • 问题内容: 我迅速在Google上找到了答案,但找不到/认为准确的搜索参数。 我正在自学Java,但似乎找不到某种语法的含义。 这意味着什么?我模糊地记得箭头括号与向量有关,但是根据上面的代码,我感觉到它与枚举有关。 任何帮助或澄清将不胜感激。谢谢。 问题答案: 这些称为泛型。 通常,这些在定义类,接口和方法时使 类型 (类和接口)成为参数。 与使用非泛型代码相比,使用泛型有很多好处,如Java教

  • 所以我得到了我想理解的代码,但我不知道这个操作符的含义: 如果你们能告诉我就太棒了谢谢

  • 我是Java的初学者,简单的东西对我来说是新的。除我的水平外,谷歌不想搜索这样的关键词,比如“- 我在这里找到的。所以我认为这个代码是正确的。 请帮助我理解这个表达是什么意思?