Как прочитать файл из папки активов в Android с помощью MuPDF?

Я создаю приложение для просмотра файла PDF. Я мог бы собрать библиотеку MuPDF.

Я хочу, чтобы мое приложение открывало только файлы PDF, которые я буду хранить в папке /assets. Поставляемый исходный код поставляется с кодом, который считывает файл с SD-карты. Я хочу читать и отображать файлы, поставляемые с приложением (либо в папке /assets, либо в папке /raw, в зависимости от того, что возможно)

Я новичок в НДК. Пожалуйста, помогите мне.


person Avinash Sahu    schedule 30.09.2013    source источник


Ответы (1)


Файлы в активах не хранятся как отдельные файлы на устройстве. APK представляет собой сжатый ZIP-файл; папка с ресурсами существует только там.

Скопируйте файл из активов при первом запуске приложений (см., Например, здесь для примера).

РЕДАКТИРОВАТЬ: Если MuPDF берет файлы только по имени файла, вам не повезло. Это не обязательно должна быть SD-карта — вы можете использовать внутреннюю папку хранения вашего приложения (используйте Context.getDir(), чтобы получить ее). Если он может принять блок данных в памяти, вы можете прочитать файл на стороне вызывающей стороны с помощью AAssetManager (или в Java) и передать данные в библиотеку.

Возможно, у Android есть временная файловая система в памяти, которую вы могли бы использовать; Я не уверен.

person Seva Alekseyev    schedule 30.09.2013
comment
Спасибо Сева. Я попробую это. Что делать, если я не хочу, чтобы мои данные копировались на SD-карту, и хочу, чтобы мое приложение открывало только файлы, поставляемые с моим приложением. - person Avinash Sahu; 30.09.2013