2014-11-07 2 views
1

Я написал небольшое тестовое приложение, которое использует SDL2 на Android через NDK. Он компилируется и запускается. Однако, как только я пытаюсь открыть файлы, я получаю исключения FileNotFound. Я добавил каталог ресурсов в свой рабочий eclipse workdir и поместил в него файлы. Когда я экспортирую projekt в .apk, я могу открыть файл в 7z и увидеть, что есть каталог ресурсов с этими файлами в нем. Однако, когда код запускается, и я пытаюсь открыть активы/somefile.txt, я получаю исключение FileNotFound.Как я могу открыть файлы, включенные в apk?

Google до сих пор сообщал мне, что я могу разместить SD-карту на своем устройстве с этими файлами на ней и получить доступ к ней через/sdcard /. Я хотел бы включить эти файлы в свой apk.

Как получить доступ к файлам, которые я вложил в активы? Или где я должен помещать эти файлы и как мне настроить свой путь, он может получить доступ к ним во время выполнения?

+1

Это не дубликат одного ПМК предложенного как вопросы относится к Java/SDK и my к C (++)/NDK. – marc40000

+0

Действительно, это не так, но это дубликат вопроса NDK. По сути, содержание apk не является файловыми файлами, поэтому ваш выбор в основном использует атрибуты api или самостоятельно анализирует структуру .apk zip. –

ответ

-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" /> 
+0

Что именно это делает? Он извлекает файлы из apk во внешнее хранилище? – marc40000

+0

Это первый шаг. Создает каталог, чтобы пользователь установил ваше приложение на устройстве. Теперь вы помещаете файлы в sdcard/yourfolder. Вы должны объяснить, какая производительность сделает ваше приложение. Как вы хотите открыть этот файл. Для того чтобы открыть изображение, например, нужно просмотреть изображение «Просмотр текста» и открыть текст TXT. – Kamuy

+0

Это не отвечает на вопрос, который был задан. –

Смежные вопросы