如何从 Firebase 下载 HTML 文件并加载到 webview 中?
How to download an HTML file from Firebase and load in webview?
我已经能够使用 Glide 从 Firebase 加载图像,但我不确定如何继续在我的应用程序的 Web 视图中从 Firebase 加载 HTML 文件。我正在使用 Android 工作室。
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 的选项。生成文件后 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);
我已经能够使用 Glide 从 Firebase 加载图像,但我不确定如何继续在我的应用程序的 Web 视图中从 Firebase 加载 HTML 文件。我正在使用 Android 工作室。
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 的选项。生成文件后 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);