R.java是在构建过程中通过引用您的应用程序资源而生成的类(具有内部类,例如
layout或
string)。您创建(或由Android提供)的每个资源都由中的整数引用
R,称为资源ID。
R.layout.*引用您通常在中创建的任何布局资源
/res/layout。因此,如果您创建了一个名为的活动布局
activity_main.xml,则可以使用中的引用
R.layout.activity_main进行访问。许多内置功能很容易接受这样的资源ID,例如
setContentView(intlayoutResid)您在创建活动时使用的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对于荷兰语而言),并且您添加了具有相同标识符但字符串不同的字符串,并且资源管理系统会巧妙地找出要提供的文件夹根据您用户的设备为您服务。
我希望这能有所帮助。有关资源的更多信息,请参见文档。



