2013-03-09 2 views
-1

У меня есть файл в формате pdf, который мне нужно хранить локально в папке где-то в res/raw или assets.Как выбрать путь PDF от ресурсов?

Теперь я не знаю, какая из них является лучшей папкой для хранения этого файла и как выбрать путь для отображения в стороннем приложении.

Я использую следующий код, который не работает:

код:

i = new Intent(this, Tips10.class); 
       i.putExtra(PdfViewerActivity.EXTRA_PDFFILENAME, getResources() +"/"+ getPackageName() + "/" + R.raw.tips10); 
       startActivity(i); 

журнал кошка:

03-10 00:33:04.335: I/PDFVIEWER(9473): Intent { cmp=com.tackfu/.Tips10 (has extras) } 
03-10 00:33:04.335: I/PDFVIEWER(9473): ST='file '[email protected]/com.tackfu/2130968576' not found' 
03-10 00:33:04.335: I/PDFVIEWER(9473): ST='reading page 1, zoom:1.0' 

Любой один наставит меня, что может быть проблема ? Любая помощь будет оценена по достоинству.

ответ

0

Вам необходимо будет скопировать PDF-файл во внешнее хранилище и использовать этот путь с помощью startActivity(), или вам потребуется создать ContentProvider, который будет обслуживать файл из внутреннего хранилища (или, возможно, прямо из ресурсов/активов, хотя это немного сложнее).

This sample project демонстрирует обслуживание внутреннего файла через ContentProvider. This sample project расширяет первую, разрешая только указанное вами приложение для доступа к этому Uri.

+0

но я использую библиотеку с открытым исходным кодом, чтобы открыть pdf внутри своего приложения, но мне нужно скопировать этот pdf-выход из ресурсов и поставить на внешнее хранилище? – UMAR

+0

@UMAR: Вам нужно попросить автора библиотеки с открытым исходным кодом, как ее использовать. Я предположил, что вы использовали обычное стороннее приложение для его просмотра, так как это будет делать большинство разработчиков. – CommonsWare

+0

все в порядке я реализовал этот код, и он работает, но нашел небольшое исключение в вашем коде, вы не завернули код операции в try catch block, поэтому, когда подходящее приложение не установлено в телефоне/планшете, приложение неожиданно срабатывает ваша помощь :) – UMAR

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