如何使用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; 
+1

仅供参考:显然有一个已知的bug,其中internalDataPath和externalDataPath不工作(是始终为空)姜饼。 –

+0

您是使用NativeActivity还是Java + JNI?这些变量只适用于纯粹的本地应用程序。 –

+0

NativeActivity。 –