最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android WebView使用的技巧與一些坑

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

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

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

上面webview.getSettings()會(huì)獲得WebSettings對(duì)象,在這個(gè)對(duì)象中會(huì)保存Webview的一些設(shè)置,比如上面所設(shè)置的這些,更多的設(shè)置請(qǐng)查看WebSettings的api文檔。
通常我們還會(huì)使用WebViewClient和WebChromeClient這兩個(gè)組件來(lái)輔助WebView。WebViewClient主要幫助處理各種通知請(qǐng)求事件等,比如頁(yè)面開(kāi)始加載,加載完成等。WebChromeClient主要輔助WebView處理javascript對(duì)話框,網(wǎng)站圖標(biāo),網(wǎng)站標(biāo)題,加載進(jìn)度等等。
實(shí)際應(yīng)該根據(jù)實(shí)際情況使用這兩個(gè)組件,重寫(xiě)響應(yīng)的方法,在其中執(zhí)行自己的一些操作。
###Javascript的使用###
開(kāi)啟javascript的方法上面已經(jīng)提到了。
客戶端調(diào)用網(wǎng)頁(yè)中的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開(kāi)始系統(tǒng)提供了evaluateJavascript方法來(lái)執(zhí)行js方法,并且可以進(jìn)行回調(diào)。但是在低于4.4的版本并沒(méi)有這個(gè)方法,我們需要只要直接通過(guò)loadUrl的方式來(lái)執(zhí)行js,此時(shí)需要在js代碼前加”javascript:”。
另外可以在客戶端定義一些javascript給網(wǎng)頁(yè)中調(diào)用。
比如這樣:
首先定義一個(gè)給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的注解,這個(gè)注解在Android4.2的時(shí)候添加,更新的android如果不加這個(gè)注解是不可以使用的。
###硬件加速###
硬件加速是個(gè)大坑,請(qǐng)勿打開(kāi)。
在android4.4后使用的chrome,系統(tǒng)會(huì)自行開(kāi)啟。
###其他###
以及使用WebView,給忘了給應(yīng)用申請(qǐng)網(wǎng)絡(luò)訪問(wèn)的權(quán)限。
還有一些知識(shí)點(diǎn)沒(méi)整理到,請(qǐng)參考webview的文檔,更多的坑以后踩到再更新。
另外JeremyHe總結(jié)的知識(shí)也不錯(cuò),可以參考:http://www.fzitv.net/article/86956.htm

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

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

相關(guān)文章

  • AndroidManifest.xml中含蓋的安全問(wèn)題詳解

    AndroidManifest.xml中含蓋的安全問(wèn)題詳解

    這篇文章主要介紹了AndroidManifest.xml中含蓋的安全問(wèn)題,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Android四大組件之Activity深入解讀生命周期

    Android四大組件之Activity深入解讀生命周期

    雖然說(shuō)我們天天都在使用Activity,但是你真的對(duì)Activity的生命機(jī)制完全了解了嗎?Activity的生命周期方法只有七個(gè),但是其實(shí)那只是默認(rèn)的情況。也就是說(shuō)在其他情況下,Activity的生命周期可能不會(huì)是按照我們以前所知道的流程,這就要說(shuō)到Activity的啟動(dòng)模式
    2022-07-07
  • Android模擬登錄評(píng)論CSDN實(shí)現(xiàn)代碼

    Android模擬登錄評(píng)論CSDN實(shí)現(xiàn)代碼

    本篇文章主要介紹了Android模擬登錄評(píng)論CSDN實(shí)現(xiàn)代碼,可以實(shí)現(xiàn)登陸發(fā)表評(píng)論到官方網(wǎng)站,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2016-11-11
  • Android Fragment動(dòng)態(tài)創(chuàng)建詳解及示例代碼

    Android Fragment動(dòng)態(tài)創(chuàng)建詳解及示例代碼

    這篇文章主要介紹了Android Fragment動(dòng)態(tài)創(chuàng)建詳解的相關(guān)資料,并附實(shí)例代碼及實(shí)現(xiàn)效果圖,需要的朋友可以參考下
    2016-11-11
  • Android四大組件之Service服務(wù)詳細(xì)講解

    Android四大組件之Service服務(wù)詳細(xì)講解

    Android的服務(wù)是開(kāi)發(fā)Android應(yīng)用程序的重要組成部分。不同于活動(dòng)Activity,服務(wù)是在后臺(tái)運(yùn)行,服務(wù)沒(méi)有接口,生命周期也與活動(dòng)Activity非常不同。通過(guò)使用服務(wù)我們可以實(shí)現(xiàn)一些后臺(tái)操作,比如想從遠(yuǎn)程服務(wù)器加載一個(gè)網(wǎng)頁(yè)等,下面來(lái)看看詳細(xì)內(nèi)容,需要的朋友可以參考下
    2022-07-07
  • Android學(xué)習(xí)教程之懸浮窗菜單制作(9)

    Android學(xué)習(xí)教程之懸浮窗菜單制作(9)

    這篇文章主要為大家詳細(xì)介紹了Android學(xué)習(xí)教程之懸浮窗菜單制作方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • Android 分享控件的實(shí)現(xiàn)代碼

    Android 分享控件的實(shí)現(xiàn)代碼

    這篇文章主要介紹了Android 分享控件的實(shí)現(xiàn)代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • Android UI控件RatingBar實(shí)現(xiàn)自定義星星評(píng)分效果

    Android UI控件RatingBar實(shí)現(xiàn)自定義星星評(píng)分效果

    這篇文章主要為大家詳細(xì)介紹了Android UI控件RatingBar實(shí)現(xiàn)自定義星星評(píng)分效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • Android之自定義實(shí)現(xiàn)BaseAdapter(通用適配器一)

    Android之自定義實(shí)現(xiàn)BaseAdapter(通用適配器一)

    這篇文章主要為大家詳細(xì)介紹了Android之自定義實(shí)現(xiàn)BaseAdapter通用適配器第一篇,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-08-08
  • Android利用動(dòng)畫(huà)實(shí)現(xiàn)背景逐漸變暗

    Android利用動(dòng)畫(huà)實(shí)現(xiàn)背景逐漸變暗

    這篇文章主要為大家詳細(xì)介紹了Android利用動(dòng)畫(huà)實(shí)現(xiàn)背景逐漸變暗的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12

最新評(píng)論

海原县| 从江县| 尼勒克县| 贵溪市| 沁阳市| 苍梧县| 两当县| 汤原县| 元氏县| 平凉市| 香港 | 教育| 丽水市| 修文县| 沙坪坝区| 静宁县| 汶川县| 开封县| 德昌县| 临西县| 肃南| 肃北| 古蔺县| 驻马店市| 宁安市| 平谷区| 双城市| 瓮安县| 五大连池市| 扎鲁特旗| 旺苍县| 白水县| 阿鲁科尔沁旗| 哈密市| 霍山县| 广元市| 禄丰县| 土默特右旗| 桃源县| 延川县| 思茅市|