3

我的应用程序有两个数据源:标准资产文件夹和下载的文件。现在我使用等访问资产(来自C ++代码)。我使用good old等从下载的文件中读取数据AAssetManager_open。是否可以使用统一的方式访问所有数据,东西?换句话说,我可以改变吗AAsset_readfopenfreadfopenfread

AAssetManager* assetManager = g_state->activity->assetManager;
AAsset* asset = AAssetManager_open(assetManager, filename, AASSET_MODE_UNKNOWN);
int ret = AAsset_read(asset, buf, size);

char *filenameFull = SomehowGetFullPathToAssetsFile(filename);
FILE *fp = fopen(filenameFull, "rb");
int ret = fread(buf, size, 1, fp);
4

1 回答 1

2

简短的回答:没有。

长答案:不,您不能以统一的方式访问它们,因为资产位于您的 APK 文件中,而不是普通文件系统中。一种解决方法可能是在设置/初始化阶段将资源提取到文件系统,然后从那里使用它们。

于 2013-06-26T08:34:03.297 回答