如何使用NativeActivity写入内部存储文件系统?
问题描述:
我将一个纯粹的C++游戏移植到Android上,由于我的目标是Android 3.0+平板电脑,我选择使用NativeActivity来完全避免Java。但是,我无法看到允许我写入设备内部存储的任何功能。调用fopen()会失败,因为我不知道我应该写哪个目录,并且内部存储文件系统不可访问如何使用NativeActivity写入内部存储文件系统?
这段代码通常在Java上做窍门,给了我内部可写数据目录的路径对于我的应用程序:
mContext.getFilesDir();
有没有人知道C++的替代方案?否则,我将不得不用JNI调用上面的代码片段。
当然,我已经查看了$ NDK /..../ include/android/标题,但是我看不到任何需要的候选方法。
答
我终于找到它了。原来的路径,内部存储目录声明为的Android/native_activity.h一个ANativeActivity的成员:
/**
* Path to this application's internal data directory.
*/
const char* internalDataPath;
仅供参考:显然有一个已知的bug,其中internalDataPath和externalDataPath不工作(是始终为空)姜饼。 –
您是使用NativeActivity还是Java + JNI?这些变量只适用于纯粹的本地应用程序。 –
NativeActivity。 –