WebView 初探

WebView 初探


介紹

WebView 是一個用於加載網頁的控件,相當於嵌入式瀏覽器。有了它我們就能以 native 和 web 混合的形式開發。對於一些不重要的頁面,可以交給前端實現,我們只需在 webview 里加載它,有效減輕了 native 的開發任務。

// 加載頁面
String url = "http://www.baidu.com";
webview.load(url);



當然用 webview 接入的頁面在交互時,執行的是 html 裏的 js 代碼,用戶體驗上不如
native (也就是純 android 端的實現)。然後就有人想出了用 js 調用 native 的方式,也就是很火的 Hybrid 的概念。

引用一篇博客,這裏有關於 Hybrid 的介紹
http://blog.csdn.net/jacin1/article/details/39993935


一個小例子(IDE: AS)

該例子實現了一個自定義 WebView,嘗試瞭如下功能:
1. 加載頁面時,控制一個進度條

// 提供了一個接口用於控制進度
interface OnLoadListener{
    public void onLoadStart();

    public void onLoading(int newProgress);

    public void onLoadComplete();
}



2. 提供 js 的接口,讓 js 調用 native 的函數。

通過 webview.addJavascriptInterface(Object jsInterface, jsInterfaceName); 來設置 js 接口

// 設置給 webview 的 js 接口
class jsInterface{
    public jsInterface(){}

    // 提供給 js 調用的方法
    public void invokedByJs(){
        // tudo ...
    }
}

然後在 assets/test.html 裏試着調用它。

window.demo.functionInAndroid()


以上,簡略的說,詳見 Demo,內有註釋:

github地址:https://github.com/fashare2015/WebViewDemo


參考博客

http://kymjs.com/code/2015/05/03/01/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章