如何从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);
谢谢。它是正确的。 :) –
如果它对你有帮助,请接受它作为答案。 @SandhyaKrishnan – avinesh