2017-08-22 20 views
0

私はWebビューでPDFファイルを表示しているAndroidアプリケーションを開発中です。コードは次のとおりですandrodアプリに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をダウンロードします。私は、それが削除されるまで、キャッシュまたは一時メモリ(外部ディレクトリではない)に一度だけダウンロードし、アプリケーションで表示する必要があります。

答えて

1

WebViewは基本的にあなたのアプリでウェブページを読み込むために使用されます。あなたの質問のために私はWebViewはオプションではないと思う。 この手順に従うことができます

  1. pdfファイルをダウンロードしてください。通常のファイルのように(WebViewを使用していない)
  2. 保存してください。
  3. UI

に表示次回アプリをロード、表示ファイルを再度、他のダウンロードを(存在する場合)。

PDFRendererもチェックしてください。

+0

ありがとう@shashidhara。しかし、私は外付けドライブに保存したくありません。私はそのファイルも隠しておきたい。私のアプリケーションからアクセスできるはずです –

+0

キャッシュディレクトリを使用してファイルを保存します。 getCacheDir()の使用。ここにあるドキュメント https://developer.android.com/training/basics/data-storage/files.html – shashidhara

関連する問題