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

Sag*_*ari 5 javascript android android-assets

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

NSString *strPath=[[NSBundle mainBundle] pathForResource:@"myjavascript" ofType:@"js"];
Run Code Online (Sandbox Code Playgroud)

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

示例图像.

替代文字

ina*_*ruk 7

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

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

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

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

AssetManager assetManager = getAssets();
InputStream assetIn = assetManager.open("excanvas.js");
//do something with assetIn...  
Run Code Online (Sandbox Code Playgroud)

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