2017-02-21 107 views
1

我已經能夠使用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(); 
    } 

回答

1

如果您只是想在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