0
私は最初にwebview
を使用して、クラスノート(HTMLで作成)をオンラインで表示しています。 キャッシングは非常に簡単でした。 ここにコードがあります。オンラインPDFはオフラインで閲覧できます(キャッシング)
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"));
だからあなたの好きなHTTPクライアントAPIを使用して、PDFを自分でダウンロードpdfView.fromUri(uri)
しかし、私はユーザーがpdfファイルにアクセスできるようにしたくありません。私はちょうどそれらがアプリ内でそれを見ることができるようにします – dbkonXepts
@dbkonXepts:自分自身をPDFを[内部ストレージ]にダウンロードしてください(https://commonsware.com/blog/2014/04/07/storage-situation-internal- storage.html)を使用して、お気に入りのHTTPクライアントAPIを使用します。次に、fromUri()ではなくfromFile()を使用します。 – CommonsWare
ありがとう、情報は非常に便利でした。 @CommonsWare – dbkonXepts