如何fopen我在apk中包含的文件?

时间:2014-11-07 00:49:56

标签: android eclipse android-ndk fopen sdl-2

我写了一个小型测试应用程序,它通过NDK在Android上使用SDL2。它编译并运行。但是,一旦我尝试打开文件,我就会得到FileNotFound Exceptions。我在我的eclipse workdir中添加了一个资产目录,并将文件放入其中。当我将项目导出到.apk时,我可以在7z中打开该文件,并看到有一个包含这些文件的资产目录。但是,当代码执行并且我尝试打开assets / somefile.txt时,我得到一个FileNotFound异常。

到目前为止谷歌告诉我,我可以在我的设备上放一张SD卡,上面有这些文件,然后通过/ sdcard /访问它。我想在我的apk中包含这些文件。

如何访问我放入资产的文件?或者我应该在哪里放置这些文件以及如何调整我的路径它可以在运行时访问它们?

1 个答案:

答案 0 :(得分:-1)

将此代码放在主要活动的其他任何内容之前 - >

 if (Environment.getExternalStorageState (). equals (Environment.MEDIA_MOUNTED)) {
 File directory = new File (Environment.getExternalStorageDirectory () + + File.separator    "YourFolderName");
 directory.mkdirs ();

   }

在Manifest xml - >

中授予此权限
  <uses-permission android: name = "android.permission.WRITE_EXTERNAL_STORAGE" />