如何从Firebase下载HTML文件并加载到webview?

问题描述:

我已经能够使用Glide从Firebase加载图片,但我不确定如何继续从我的应用的webview中加载Firebase中的HTML文件。我正在使用Android工作室。如何从Firebase下载HTML文件并加载到webview?

storageRef.getFile(localFile).addOnSuccessListener(new OnSuccessListener<FileDownloadTask.TaskSnapshot>() { 
      @Override 
      public void onSuccess(FileDownloadTask.TaskSnapshot taskSnapshot) { 
       // Local temp file has been created 
       // taskSnapshot.getStorage(); 
    // how to download and show in webview ? 
      } 
     }).addOnFailureListener(new OnFailureListener() { 
      @Override 
      public void onFailure(@NonNull Exception exception) { 
       // Handle any errors 
       Toast.makeText(Home_screen.this, "FAILED", 
         Toast.LENGTH_SHORT).show(); 
      } 
     }); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 

如果您只是想在webview中显示html文件内容,那么它非常简单。
选项可以在Firebase控制台中为特定文件生成网址。一旦你生成了文件url,然后使用它来加载webview。

WebView webView = (WebView)findViewById(R.id.web_view); 
    // be cautious before enabling javascript, check security guidelines by google. 
    //webView.getSettings().setJavaScriptEnabled(true); 
    webView.setWebViewClient(new WebViewClient(){ 

     @Override 
     public void onPageStarted(WebView view, String url, Bitmap favicon) { 
      // on page load started, you may show progress spinner to user. 
      //progressBar.setVisibility(View.VISIBLE); 
      super.onPageStarted(view, url, favicon); 
     } 

     @Override 
     public void onReceivedError(WebView view, 
      WebResourceRequest request, WebResourceError error) { 
      // ERROR handling 
      super.onReceivedError(view, request, error); 

     } 

     @Override 
     public void onPageFinished(WebView view, String url) { 
      // actions on page load 
      super.onPageFinished(view, url); 
     } 

    }); 
    webView.loadUrl(url); 
+0

谢谢。它是正确的。 :) –

+0

如果它对你有帮助,请接受它作为答案。 @SandhyaKrishnan – avinesh