Android获取资源文件路径
时间: 2023-10-23 16:09:58 浏览: 250
在 Android 中,获取资源文件路径的方式有两种:
1. 通过资源 ID 获取路径
可以使用 `Context` 对象的 `getResources()` 方法获取 `Resources` 对象,然后使用 `Resources` 对象的 `getResourceName()` 方法获取资源的完整名称,最后使用 `Context` 对象的 `getPackageName()` 方法获取应用程序的包名,就可以得到资源的完整路径。
示例代码如下:
```
Resources res = getResources();
String resName = res.getResourceName(R.drawable.icon);
String packageName = getPackageName();
String path = "android.resource://" + packageName + "/" + resName;
```
2. 通过 AssetManager 获取路径
可以使用 `Context` 对象的 `getAssets()` 方法获取 `AssetManager` 对象,然后使用 `AssetManager` 对象的 `open()` 方法打开资源文件,最后使用 `FileDescriptor` 对象的 `getFileDescriptor()` 方法获取文件路径。
示例代码如下:
```
AssetManager assetManager = getAssets();
AssetFileDescriptor fileDescriptor = assetManager.openFd("file.txt");
String path = fileDescriptor.getFileDescriptor().toString();
```
需要注意的是,使用 `AssetManager` 获取的路径并不是文件系统中的路径,而是该资源在 APK 包中的相对路径。
阅读全文