Android 通过字符串资源名获取raw资源id
时间: 2023-10-01 10:11:55 浏览: 47
可以通过如下代码实现:
```java
String resourceName = "your_resource_name";
int resourceId = getResources().getIdentifier(resourceName, "raw", getPackageName());
```
其中,`your_resource_name` 是你要获取的资源名称,注意不要包含文件后缀名。`raw` 表示要获取的资源类型,这里是 raw 类型的资源。`getPackageName()` 获取当前应用程序的包名。
如果找到了对应的资源,则 `resourceId` 就是该资源的 id。如果找不到,则 `resourceId` 为 0。
相关问题
Android的资源有哪些类型?各放在什么位置?
Android的资源类型很多,包括但不限于以下类型:
- 布局(Layout)资源:XML文件,用于定义应用程序中的界面布局。
- 字符串(String)资源:XML文件,用于保存应用程序中使用到的所有字符串。
- 图片(Drawable)资源:用于保存所有的图片,可以是PNG、JPEG、GIF等格式。
- 颜色(Color)资源:XML文件,用于保存颜色值。
- 样式(Style)资源:XML文件,用于定义界面元素的样式。
- 主题(Theme)资源:XML文件,用于定义应用程序的整体风格。
- 动画(Animation)资源:XML文件,用于定义动画效果。
- 数组(Array)资源:XML文件,用于保存一组相关的数据。
- 尺寸(Dimension)资源:XML文件,用于保存尺寸值,如宽度、高度等。
- 声音和视频资源:用于保存应用程序中的声音和视频。
这些资源文件通常被放置在应用程序的res目录下,其中每个资源类型都有对应的子目录,例如:
- res/layout:存放布局资源文件。
- res/values:存放字符串、颜色、样式、主题、数组、尺寸等资源文件。
- res/drawable:存放图片资源文件。
- res/anim:存放动画资源文件。
- res/raw:存放声音和视频资源文件。
在应用程序代码中,可以通过资源ID来引用这些资源文件,例如R.layout.main表示引用res/layout/main.xml文件中定义的布局资源。
Android 工程中存放各种程序资源的目录是
在Android工程中,存放各种程序资源的目录是`res/`目录。这个目录下包含了应用程序中所有的非代码资源,如布局文件、图片、字符串、颜色、样式等。在这个目录下,可以创建不同的子目录来存放不同类型的资源,例如:
- `res/layout/`:存放布局文件
- `res/drawable/`:存放图片资源
- `res/values/`:存放字符串、颜色、样式等资源
- `res/raw/`:存放原始资源文件,如音频、视频等
在代码中,可以使用资源的ID来引用这些资源,例如`R.layout.activity_main`引用布局文件,`R.drawable.icon`引用图片资源。