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/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值