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

Android WebView的詳解及實例

 更新時間:2017年07月13日 14:53:28   作者:Smile_路飛  
這篇文章主要介紹了Android WebView的詳解及實例的相關資料,需要的朋友可以參考下

Android WebView的詳解

      Android WebView在android平臺上是一個特殊的View, 他能用來顯示網頁,這個類可以被用來在你的app中僅僅顯示一張在線的網頁,還可以用來開發(fā)瀏覽器。

    在Android手機中內置了一款高性能webkit內核瀏覽器,在SDK中封裝為一個叫做WebView組件。WebKit是Mac OS X v10.3及以上版本所包含的軟件框 架(對v10.2.7及以上版本也可通過軟件更新獲?。?同時,WebKit也是Mac OS X的Safari網頁瀏覽器的基礎。WebKit是一個開源項目,主要由KDE的KHTML修改而來并且包含了一些來自蘋果公司的一些組件。傳統(tǒng)上,WebKit包含一個網頁引擎WebCore和一個腳本引擎JavaScriptCore,它們分別對應的是KDE的KHTML和KJS。不過, 隨著JavaScript引擎的獨立性越來越強,現(xiàn)在WebKit和WebCore已經基本上混用不分(例如Google Chrome和Maxthon 3采用V8引擎,卻仍然宣稱自己是WebKit內核)。 

    在開發(fā)過程中應該注意幾點: 

    1.AndroidManifest.xml中必須使用許可"android.permission.INTERNET",否則會出Web page not available錯誤。

    2.如果訪問的頁面中有javascript,則webview必須設置支持Javascript。  

   webview.getSettings().setJavaScriptEnabled(true); 

    3.如果頁面中鏈接,如果希望點擊鏈接繼續(xù)在當前browser中響應,而不是新開Android的系統(tǒng)browser中響應該鏈接,必須覆蓋 webview的WebViewClient對象

webView.setWebViewClient(new WebViewClient() { 
  @Override 
  public boolean shouldOverrideUrlLoading(WebView view, String url) { 
    // TODO Auto-generated method stub 
    view.loadUrl(url); 
    return true; 
  } 
} 
); 

4.如果不做任何處理,瀏覽網頁,點擊系統(tǒng)“Back”鍵,整個Browser會調用finish()而結束自身,如果希望瀏覽的網 頁回退而不是推出瀏覽器,需要在當前Activity中處理并消費掉該Back事件。

@Override 
  public boolean onKeyDown(int keyCode, KeyEvent event) { 
    // TODO Auto-generated method stub 
    if ((keyCode == KeyEvent.KEYCODE_BACK) && webView.canGoBack()) { 
      webView.goBack(); 
      return true; 
    } 
    return super.onKeyDown(keyCode, event); 
 
  } 

下一步讓我們來了解一下android中webview是如何支持javascript自定義對象的,在w3c標準中js有 window,history,document等標準對象,同樣我們可以在開發(fā)瀏覽器時自己定義我們的對象調用手機系統(tǒng)功能來處理,這樣使用js就可以 為所欲為了。

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
 
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
  <title>WebView</title> 
  <script language="javascript"> 
  <!-- 
function click() { 
  Android.onClick("hello"); 
  } 
--> 
</script> 
  </head> 
  <body> 
  <a  rel="external nofollow" onclick="click()">點擊</a> 
  </body> 
  </html> 

 可以看到,HTML代碼中的超鏈接響應一個點擊事件,會執(zhí)行javascript中的click()方法,因為通過webView.addJavascriptInterface()方法新建了一個對象,并將此對象和javascript對象綁定了,javascript對象的引用即為"Android",所以在HTML中的click方法執(zhí)行時會調用新建的對象中的onClick()方法。這樣就實現(xiàn)了在javascript代碼中調用Java代碼.

 感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關文章

  • Android學習項目之簡易版微信為例(一)

    Android學習項目之簡易版微信為例(一)

    這篇文章主要以簡易版微信為例,為大家介紹了Android簡易版微信項目的基礎知識,感興趣的小伙伴們可以參考一下
    2016-06-06
  • Android仿微信Viewpager-Fragment惰性加載(lazy-loading)

    Android仿微信Viewpager-Fragment惰性加載(lazy-loading)

    這篇文章主要為大家詳細介紹了Android仿微信Viewpager-Fragment惰性加載lazy-loading,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • Android編程實現(xiàn)加載等待ProgressDialog的方法

    Android編程實現(xiàn)加載等待ProgressDialog的方法

    這篇文章主要介紹了Android編程實現(xiàn)加載等待ProgressDialog的方法,實例分析了Android中加載等待類ProgressDialog的具體使用方法,需要的朋友可以參考下
    2015-12-12
  • 淺談Android invalidate 分析

    淺談Android invalidate 分析

    本篇文章主要介紹了淺談Android invalidate 分析,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • Android中毛玻璃效果的兩種實現(xiàn)代碼

    Android中毛玻璃效果的兩種實現(xiàn)代碼

    這篇文章主要介紹了Android中毛玻璃效果的兩種實現(xiàn)代碼,第一種是使用JAVA算法FastBlur實現(xiàn),第二種是使用Android自帶類RenderScript 實現(xiàn),本文通過實例代碼介紹的非常詳細,需要的朋友參考下吧
    2024-08-08
  • Android RecyclerView的刷新分頁的實現(xiàn)

    Android RecyclerView的刷新分頁的實現(xiàn)

    這篇文章主要介紹了Android RecyclerView的刷新分頁的實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • Android在kts中使用navigation及Args的方法

    Android在kts中使用navigation及Args的方法

    在Android項目中使用Kotlin腳本(kts)替代Groovy配置navigation和Args,需添加相關依賴,并在build.gradle中進行配置,文章詳細介紹了如何在kts中使用navigation進行頁面導航和參數(shù)傳遞,介紹了使用Bundle和Safe Args兩種方式安全傳遞參數(shù)
    2024-10-10
  • 老項目遷移AndroidStudio3.0遇到的坑

    老項目遷移AndroidStudio3.0遇到的坑

    給大家分享了老的項目以及程序遷移到了AndroidStudio3.0遇到的坑和問題解決辦法,希望給你做個參考。
    2017-11-11
  • Android自定義View實現(xiàn)拖動選擇按鈕

    Android自定義View實現(xiàn)拖動選擇按鈕

    這篇文章主要為大家詳細介紹了Android自定義View實現(xiàn)拖動選擇按鈕的具體代碼,感興趣的小伙伴們可以參考一下
    2016-05-05
  • Android監(jiān)聽電池狀態(tài)實例代碼

    Android監(jiān)聽電池狀態(tài)實例代碼

    這篇文章給大家介紹Android監(jiān)聽電池狀態(tài)實例代碼,對android監(jiān)聽電池狀態(tài)相關知識感興趣的朋友一起學習吧
    2016-03-03

最新評論