【发布时间】:2014-01-06 04:26:26
【问题描述】:
我想列出来自 android 和 ios 的 Resources 文件夹中的文件夹和文件。我已经能够通过'dirent.h'中的'opendir'和'readdir'来做到这一点,但仅限于ios模拟器。它在安卓中不起作用。 有没有人遇到过这样的问题? 谢谢。
【问题讨论】:
标签: android ios cocos2d-x file-handling
我想列出来自 android 和 ios 的 Resources 文件夹中的文件夹和文件。我已经能够通过'dirent.h'中的'opendir'和'readdir'来做到这一点,但仅限于ios模拟器。它在安卓中不起作用。 有没有人遇到过这样的问题? 谢谢。
【问题讨论】:
标签: android ios cocos2d-x file-handling
AFAIK,这不能在仅使用 C++ 的 Android 上完成。由于您已经弄清楚了 iOS 部分,因此您应该将 iOS 特定代码(#includes 也包含在
#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
...
#endif
这同样适用于纯 Android 代码 (`CC_PLATFORM_ANDROID') - 要实现您想要的,您必须编写 JNI 调用才能从 C++ 调用 Java 函数。假设您只想将此数据转储到日志中,那么一切都应该非常简单。我手头没有链接,但是有一个关于打开 URL 的广泛主题,其中涵盖了 JNI 教程,应该不难找到。
【讨论】:
一种方法是维护一个文件,其中包含资源目录中所有文件的列表及其层次结构。
例如,假设您的目录结构为:
Resources/
folder1/
file1.jpeg
file2.jpeg
folder2/
file1.jpeg
file2.jpeg
然后你可以维护一个包含路径的文件:
in resource_paths.txt
folder1/file1.jpeg
folder1/file2.jpeg
folder2/file1.jpeg
folder2/file2.jpeg
然后在文件中搜索目录/文件列表:)
【讨论】: