AndroidPdfViewer не работает в версии KitKat

Я использую эту библиотеку для AndroidPdfViewer https://github.com/barteksc/AndroidPdfViewer

E/PDFView: load pdf error
    java.lang.NullPointerException
        at com.github.barteksc.pdfviewer.util.Util.toByteArray(Util.java:36)
        at com.github.barteksc.pdfviewer.source.InputStreamSource.createDocument(InputStreamSource.java:37)
        at com.github.barteksc.pdfviewer.DecodingAsyncTask.doInBackground(DecodingAsyncTask.java:49)
        at com.github.barteksc.pdfviewer.DecodingAsyncTask.doInBackground(DecodingAsyncTask.java:25)
        at android.os.AsyncTask$2.call(AsyncTask.java:288)
        at java.util.concurrent.FutureTask.run(FutureTask.java:237)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
        at java.lang.Thread.run(Thread.java:841)

Здесь я получаю исключение nullPointer в этой строке.

inputStream=new BufferedInputStream(urlConnection.getInputStream());

1 ответ

Кажется, что это не ошибка библиотеки, потому что это повышение значения NullPointer из-за нулевого параметра. Ваш PDFViwer не может открыть файл, поэтому он вызывает исключение нулевого указателя. Вы можете проверить свой код для причины. Вы должны следовать лучшим практикам, чтобы предотвратить такие ситуации. Сначала проверьте соединение, оно не должно быть нулевым. вы можете проверить с ? троичный оператор, как указано ниже.

// InputStream in = conn.getInputStream();
// check for the null connection first, it's possible that connection could not be made before opening the InputStream.
InputStream in = (conn != null) ? conn.getInputStream() : null;
Другие вопросы по тегам