Webview加載本地js、圖片的方法


在項目開發中經常會將比較大的js、圖片、css等放到app中,而html放服務器,這樣在使用時流量較少,加載也比都放服務器上快,其實方法也比較多,網上搜了很久都沒結果。

一種是獲取服務器返回的html內容后,直接處理返回的html,在引用js、圖片的地方替換其資源為本地的“file:///android_asset/”資源,這種方式我沒試。

另一種就是直接使用WebViewClient實現

 1 webView.setWebViewClient(new WebViewClient(){
 2             @Override
 3             public WebResourceResponse shouldInterceptRequest(WebView view, String url) {
 4                 WebResourceResponse response = null;
 5 
 6                     response = super.shouldInterceptRequest(view,url);
 7                     if (url.contains("m.css")){
 8                         try {
 9                             response = new WebResourceResponse("text/css","UTF-8",getAssets().open("css/m.css"));
10                         } catch (IOException e) {
11                             e.printStackTrace();
12                         }
13                     }
14                 return  response;
15             }
16 });

注意最好是使用if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB)來區分下版本執行的代碼

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM