2
是否有可能加載多個 WebPages(包括HTML,圖像,JS,CSS)WebView緩存與真正的ProgressBar?我知道這是可能以這種方式來加載一個頁面:WebView多預緩存with progressBar Android
String appCachePath = getApplicationContext().getCacheDir().getAbsolutePath();
URL = "https://stackoverflow.com"
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setLoadsImagesAutomatically(true);
webView.getSettings().setAllowFileAccess(true);
webView.getSettings().setAppCacheEnabled(true);
webView.getSettings().setAppCacheMaxSize(1024 * 1024 * 8);
webView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT);
webView.getSettings().setAppCachePath(appCachePath);
if (isNetworkAvailable()) {
appCachePath = getApplicationContext().getCacheDir().getAbsolutePath();
webView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT);
} else {
Log.e(TAG,"Load page from cache");
webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ONLY);
}
,它將使該頁面在離線狀態下加載,但它是任何方式來創建自定義的WebView,我將有機會加載多個URL中陣列或列表,如
List<String> urls = new ArrayList<>();
urls.add("https://stackoverflow.com");
urls.add("https://google.com");
urls.add("https://facebook.com");
webView.loadURL(ursl);
而且我還需要一個總的progressBar加載這些WebPages。我知道我可以設置爲WebChromeClient web視圖,如:
webView.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress) {
Log.d(TAG,"onProgressChanged" + progress);
}
}
,但它會顯示只加載一個網頁,進步,當我需要幾頁的總進度。
我不想寫我自己的WebPage抓取器,並將其存儲在內部存儲器中,因爲它需要很長時間,可能會導致很多不同的錯誤和錯誤。
請問,你能給我一些想法嗎?