如何从资产中确定特定文件的绝对路径?

时间:2011-01-20 06:38:08

标签: javascript android android-assets

在iPhone应用程序中,我只写了一行来获取特定文件的完整路径(如下所示)。

NSString *strPath=[[NSBundle mainBundle] pathForResource:@"myjavascript" ofType:@"js"];

我的问题是如何获取特定文件的完整路径,该文件位于Android中的 Assets文件夹下。

示例图片。

alt text

1 个答案:

答案 0 :(得分:7)

资产被编译成.apk文件(基本上是zip文件)。您无法将系统路径导入zip文件。您必须手动将.apk解压缩到某个文件夹,并获取 asset 文件夹和该文件夹中文件的文件系统路径。

但听起来你真的不需要资源文件的路径。你应该研究这些功能:

Context.getAssets()
AssetManager.open(String fileName)
AssetManager.openFd(String fileName)

这些函数允许您获取任何资产的输入流或文件描述符。这是一个例子:

AssetManager assetManager = getAssets();
InputStream assetIn = assetManager.open("excanvas.js");
//do something with assetIn...  

您需要相对于 asset 文件夹指定资产的路径。