如何使用 webview 在 android 应用程序中下载和显示 Pdf 文件
How to download and Show a Pdf File in androd app with web view
我正在开发一个 android 应用程序,我在其中以 Web 视图显示 pdf 文件。代码如下
pDialog = new ProgressDialog(Units.this);
pDialog.setTitle("Please Wait");
pDialog.setMessage("Loading...");
pDialog.setIndeterminate(false);
pDialog.setCancelable(false);
webview = (WebView) findViewById(R.id.webView1);
webview.getSettings().setJavaScriptEnabled(true);
webview.setWebViewClient(new WebViewClient() {
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
pDialog.show();
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
pDialog.dismiss();
}
});
String pdf = "http://XX.xxx.xx.xxx/webservice/testbook.pdf";
webview.loadUrl("http://docs.google.com/gview?embedded=true&url=" + pdf);
}
它工作正常。但它每次调用时都会下载 pdf。我希望它应该只在缓存或临时内存中下载一次(不在外部目录中)并在应用程序中可见,直到它被删除。
WebView 主要用于在您的应用中加载网页。对于你的问题,我认为 WebView 不是一个选项。
您可以按照以下步骤
- 下载pdf文件。像普通文件一样。(不使用 WebView)
- 保存到存储。
- 显示到 UI
下次加载应用程序时,如果文件存在则显示,否则重新下载。
同时检查 PDFRenderer。
我正在开发一个 android 应用程序,我在其中以 Web 视图显示 pdf 文件。代码如下
pDialog = new ProgressDialog(Units.this);
pDialog.setTitle("Please Wait");
pDialog.setMessage("Loading...");
pDialog.setIndeterminate(false);
pDialog.setCancelable(false);
webview = (WebView) findViewById(R.id.webView1);
webview.getSettings().setJavaScriptEnabled(true);
webview.setWebViewClient(new WebViewClient() {
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
pDialog.show();
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
pDialog.dismiss();
}
});
String pdf = "http://XX.xxx.xx.xxx/webservice/testbook.pdf";
webview.loadUrl("http://docs.google.com/gview?embedded=true&url=" + pdf);
}
它工作正常。但它每次调用时都会下载 pdf。我希望它应该只在缓存或临时内存中下载一次(不在外部目录中)并在应用程序中可见,直到它被删除。
WebView 主要用于在您的应用中加载网页。对于你的问题,我认为 WebView 不是一个选项。 您可以按照以下步骤
- 下载pdf文件。像普通文件一样。(不使用 WebView)
- 保存到存储。
- 显示到 UI
下次加载应用程序时,如果文件存在则显示,否则重新下载。
同时检查 PDFRenderer。