在Android设备上存储预生成的文件,并使用JNI访问它们

在Android设备上存储预生成的文件,并使用JNI访问它们,android,android-ndk,java-native-interface,Android,Android Ndk,Java Native Interface,我有4个文件要放在/db目录中,并使用JNI函数访问这些文件。我不想以编程方式创建文件和文件夹,我已经有了4个二进制文件,我想从JNI代码中读/写它们。我的问题是,如何将这些预生成的文件存储在设备上(可能在应用程序目录中),然后使用路径访问它们 jint Java_com_example_nativeexample_MainActivity_getData(JNIEnv* env, jobject javaThis) { jint error_code = SUCCESS;

我有4个文件要放在/db目录中,并使用JNI函数访问这些文件。我不想以编程方式创建文件和文件夹,我已经有了4个二进制文件,我想从JNI代码中读/写它们。我的问题是,如何将这些预生成的文件存储在设备上(可能在应用程序目录中),然后使用路径访问它们

    jint Java_com_example_nativeexample_MainActivity_getData(JNIEnv* env, jobject javaThis) {

    jint error_code = SUCCESS;

    error_code = readData([directory]+"db/file1.indx", [directory]+"db/file2.dat");

    return error_code;
}

将它们存储在应用程序的私有文件区域。您可以从中获取文件名。您可以向下传递上下文对象并从JNI进行调用,也可以在初始化期间将路径名传递到JNI代码中。

谢谢您的帮助,但是我要做什么才能将这4个二进制文件放在应用程序私有文件区域?从任何地方读取它们,然后将它们写入该区域中的文件。您可以将它们作为资产添加到APK文件中,然后将其解包,或者从网站下载它们(如果您不想随APK一起提供)。