我正在尝试通过以下步骤在我的应用程序的内部存储目录中写入一个文件:
1)在活动类中初始化我的“jni库”:
MyLib mylib = new MyLib();
2)通过在我的活动类中调用getFilesDir来给出内部存储路径:
mylib.setSavePath(getFilesDir());
3)从我的库中调用一个方法 mylib.save() 在 C++ 中执行以下操作:打开我要写入的文件:
fp = fopen(pathtotheinternalstorage+filename,"w");
if (!fp) {
SetError(XML_ERROR_FILE_NOT_FOUND, filename, 0);
return _errorID;
}
文件路径是正确的:/data/data/com.myapp/files/myfile.xml 但是 fopen 失败了,我不知道我做错了什么。如果我用一些 java 代码(openFileOutput)编写,它运行良好。
谢谢你的帮助。