Онлайн PDF доступен для просмотра в автономном режиме (кэширование)
Я изначально использовал webview
для просмотра заметки класса (Создано в HTML) онлайн. И кэширование было очень простым. Вот код
webView = (WebView)findViewById(R.id.webView);
if (webView != null) {
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setAppCacheMaxSize( 5 * 1024 * 1024 ); // 5MB
webView.getSettings().setAppCachePath( getApplicationContext().getCacheDir().getAbsolutePath() );
webView.getSettings().setAllowFileAccess( true );
webView.getSettings().setAppCacheEnabled( true );
webView.getSettings().setJavaScriptEnabled( true );
webView.getSettings().setCacheMode( WebSettings.LOAD_DEFAULT ); // load online by default
}
webView.setWebViewClient(new WebViewClient(){
@Override
public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
super.onReceivedError(view, request, error);
Toast.makeText(NoteViewActivity.this, error.toString(), Toast.LENGTH_SHORT).show();
}
@Override
public void onPageFinished(WebView view, String url) {
findViewById(R.id.loadingPanel).setVisibility(View.GONE); //Make progress disappear
}
});
if ( !isNetworkAvailable() ) { // loading offline
webView.getSettings().setCacheMode( WebSettings.LOAD_CACHE_ELSE_NETWORK );
}
webView.loadUrl(getIntent().getStringExtra("NOTE_LINK"));
Так есть ли способ сделать то же самое с PDFViewer из GitHub
com.github.barteksc.pdfviewer.PDFView
С помощью pdfView.fromUri(uri)
1 ответ
Решение
Загрузите PDF самостоятельно, используя ваш любимый API-интерфейс HTTP-клиента. Затем используйте fromFile()
скорее, чем fromUri()
,