欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android WebView使用的技巧與一些坑

 更新時間:2016年06月20日 11:54:09   投稿:lijiao  
這篇文章主要為大家詳細介紹了Android WebView使用的技巧與一些坑,感興趣的小伙伴們可以參考一下

隨著手機性能的提高,以及iOS和Android兩個平臺的普及,更多的App都會選擇兩個平臺的App都進行開發(fā),在有些時候,為了更加快速的開發(fā),我們會采用hybird方式開發(fā),這個時候我們需要使用webview并且自己進行一些配置。Android的webview在低版本和高版本采用了不同的webkit版本內(nèi)核,4.4后直接使用了chrome,因此問題很多,這里分享一些我使用過程的一些技巧和遇到的坑。
###webview配置###

mWebview.getSettings().setJavaScriptEnabled(true); //設(shè)置允許運行javascript
// HTML5 API flags
mWebview.getSettings().setAppCacheEnabled(true); //設(shè)置允許緩存
mWebview.getSettings().setDatabaseEnabled(true); //設(shè)置允許使用localstore

上面webview.getSettings()會獲得WebSettings對象,在這個對象中會保存Webview的一些設(shè)置,比如上面所設(shè)置的這些,更多的設(shè)置請查看WebSettings的api文檔。
通常我們還會使用WebViewClient和WebChromeClient這兩個組件來輔助WebView。WebViewClient主要幫助處理各種通知請求事件等,比如頁面開始加載,加載完成等。WebChromeClient主要輔助WebView處理javascript對話框,網(wǎng)站圖標,網(wǎng)站標題,加載進度等等。
實際應(yīng)該根據(jù)實際情況使用這兩個組件,重寫響應(yīng)的方法,在其中執(zhí)行自己的一些操作。
###Javascript的使用###
開啟javascript的方法上面已經(jīng)提到了。
客戶端調(diào)用網(wǎng)頁中的js代碼,或者執(zhí)行相應(yīng)的代碼。

private void evaluateJavascript(String js) { 
 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
  mWebview.evaluateJavascript(js, null);
 } else {
  mWebview.loadUrl(js);
 }
}

在android4.4開始系統(tǒng)提供了evaluateJavascript方法來執(zhí)行js方法,并且可以進行回調(diào)。但是在低于4.4的版本并沒有這個方法,我們需要只要直接通過loadUrl的方式來執(zhí)行js,此時需要在js代碼前加”javascript:”。
另外可以在客戶端定義一些javascript給網(wǎng)頁中調(diào)用。
比如這樣:
首先定義一個給js執(zhí)行的類:

public class WebAppInterface {
 Context mContext;

 /** Instantiate the interface and set the context */
 WebAppInterface(Context c) {
  mContext = c;
 }

 /** Show a toast from the web page */
 @JavascriptInterface
 public void showToast(String toast) {
  Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show();
 }
}

webView.addJavascriptInterface(new WebAppInterface(this), "Android");

之后用*addJavascriptInterface&設(shè)置到webview上,在js中就可以用Android.showToast(“fdf")調(diào)用了。
需要注意的是,在我們給js的接口方法需要是public的,使用到了JavascriptInterface的注解,這個注解在Android4.2的時候添加,更新的android如果不加這個注解是不可以使用的。
###硬件加速###
硬件加速是個大坑,請勿打開。
在android4.4后使用的chrome,系統(tǒng)會自行開啟。
###其他###
以及使用WebView,給忘了給應(yīng)用申請網(wǎng)絡(luò)訪問的權(quán)限。
還有一些知識點沒整理到,請參考webview的文檔,更多的坑以后踩到再更新。
另外JeremyHe總結(jié)的知識也不錯,可以參考:http://www.dbjr.com.cn/article/86956.htm

原文地址:http://blog.isming.me/2015/10/18/webview-use/

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論