Открыть и просмотреть pdf в моем приложении

Используя этот код:

try {

    URL url = new URL(aurl[0]);
    URLConnection conexion = url.openConnection();
    conexion.connect();

    int lenghtOfFile = conexion.getContentLength();
    Log.d("ANDRO_ASYNC", "Lenght of file: " + lenghtOfFile);

    InputStream input = new BufferedInputStream(url.openStream());
    FileOutputStream fos = openFileOutput("try.pdf", Context.MODE_PRIVATE);
    //PARA DESCARGARLO EN SD//
//  OutputStream output = new FileOutputStream("/sdcard/prueba.pdf");

    byte data[] = new byte[1024];

    long total = 0;

        while ((count = input.read(data)) != -1) {
            total += count;
            publishProgress(""+(int)((total*100)/lenghtOfFile));
            fos.write(data, 0, count);
        }

        fos.flush();
        fos.close();
        input.close();
    } catch (Exception e) {}
    return null;

Я храню в приложении PDF-файл размером 8 МБ. Я использовал несколько кодов, чтобы попытаться открыть его и просмотреть, но не могу найти способ.

Какие-либо предложения?


person jlopez    schedule 27.06.2012    source источник
comment
stackoverflow.com/q/10299839/1289716   -  person MAC    schedule 27.06.2012
comment
проверьте эту ссылку stackoverflow.com/questions/4468621/android- load-pdf-pdf-viewer   -  person Rahul Patel    schedule 27.06.2012
comment
@ gtumca-MAC я пробую этот код и не могу работать   -  person jlopez    schedule 27.06.2012
comment
@Androiduser Вы показываете PDF-файл с SD-карты или чего-то еще?   -  person Dipak Keshariya    schedule 27.06.2012
comment
@DipakKeshariya Если возможно, я бы предпочел открыть pdf, сохраненный в том же приложении, если это невозможно, я играл с open from sdcard   -  person jlopez    schedule 27.06.2012
comment
@Androiduser См. Мой ответ.   -  person Dipak Keshariya    schedule 27.06.2012


Ответы (2)


См. Ниже ссылку SO Answer для чтения pdf с SD-карты с помощью PDFViewer.

Читать файлы PDF

person Dipak Keshariya    schedule 27.06.2012
comment
@Androiduser, в чем проблема, потому что этот код мне подходит. - person Dipak Keshariya; 27.06.2012
comment
@Androiduser Опубликуйте трассировку стека, чтобы я вам помог. - person Dipak Keshariya; 27.06.2012
comment
Когда я нажимаю на файл pdf, чтобы открыть его, я получаю следующую ошибку: java.lang.NoClassDefFoundError: android.pdf.reader.Second IN LINE final Intent intent = new Intent (First.this, Second.class); - person jlopez; 27.06.2012
comment
@Androiduser Вы объявляете вторую активность в своем файле манифеста Android? - person Dipak Keshariya; 27.06.2012
comment
да: ‹активность android: name =. второй android: label = @ string / app_name› ‹/activity› - person jlopez; 27.06.2012
comment
Вы загружаете файл PDFViewer.jar или нет? - person Dipak Keshariya; 27.06.2012
comment
да, у меня есть в папке References Libraries, и я добавляю в библиотеки в Java Build Path, если вы хотите, я отправлю вам свой проект - person jlopez; 27.06.2012
comment
@Androiduser, хорошо, пришлите мне свой проект на мой электронный адрес. - person Dipak Keshariya; 27.06.2012
comment
Спасибо, вы очень любезны, хотя я не могу найти вашу электронную почту - person jlopez; 27.06.2012
comment
@Androiduser у меня ваш код работает без изменений. - person Dipak Keshariya; 27.06.2012
comment
Тогда я этого не понимаю. Когда вы выбираете PDF-файл для открытия, у меня возникает следующая ошибка: не удалось найти класс android.pdf.reader.Second, на который ссылается метод android.pdf.reader.First.openPdfIntent - person jlopez; 27.06.2012
comment
@Androiduser Пожалуйста, опубликуйте полный журнал ошибок. - person Dipak Keshariya; 27.06.2012
comment
@Androiduser Теперь проверьте свой почтовый ящик. - person Dipak Keshariya; 28.06.2012

Привет, пожалуйста, попробуйте код ниже.

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File("mnt/sdcard/try.pdf")), "application/pdf");
try 
{
    startActivity(intent);
} 
catch (ActivityNotFoundException e) 
{
    // Toast Message
}

Здесь sFile - это путь к SD-карте.

person Nikhil    schedule 27.06.2012
comment
спасибо за ответ! это деятельность? - person jlopez; 27.06.2012
comment
activity.startActivity (намерение); В этой строке в чем смысл активности - person jlopez; 27.06.2012
comment
в sFile можно try.pdf положить? мой файл pdf находится внутри приложения, я загружал раньше - person jlopez; 27.06.2012
comment
вы можете скачать файл try.pdf на SD-карте. - person Nikhil; 27.06.2012
comment
Пытаюсь, но не открывается, поэтому файл не отображается - person jlopez; 27.06.2012
comment
Если ваш PDF-файл находится в SDCard, тогда sFile = mnt / sdcard / try.pdf; - person Nikhil; 27.06.2012
comment
Путь, который у меня есть: /sdcard/try.pdf не в порядке? - person jlopez; 27.06.2012
comment
у меня следующая ошибка: android.content.ActivityNotFoundException: не обнаружено действие для обработки намерения {act = android.intent.action.VIEW dat = file: ///mnt/sdcard/try.pdf typ = application / pdf} AT СТРОКА startActivity (намерение); - person jlopez; 27.06.2012
comment
то же самое, in on catch: не обнаружено действий для обработки намерения {act = android.intent.action.VIEW dat = file: ///mnt/sdcard/try.pdf%20 typ = application / pdf} - person jlopez; 27.06.2012
comment
вы пробовали в телефоне Android? - person Nikhil; 27.06.2012
comment
Просмотр действий будет работать, только если на устройстве установлено какое-либо другое приложение для чтения PDF-файлов. - person deepak825; 12.04.2013