Android关于JavaScript与Native方法相互调用

 前段时间,阿里的去啊App 5.1.1发布了,这轮发布的热点就是Hybrid混合框架搞定了H5的“无缝秒出”。伴随着H5的发展,Native+HTML5的混合开发模式已经成 为一种潮流,著名的框架比如FaceBook的React Native,AngularJS,最近微信发布的应用号也是为混合开发填了一把火。我最近研究了一下关于Native和HTML混合开发的一些基础知 识,特发文于一文,与大家分享一下成果。

      首先是在布局文件建WebView,并在Activity中获取实例,不赘述。以下为MainActivity代码:

public class MainActivity extends Activity {

    private WebView webView;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //加载页面
        webView = (WebView) findViewById(R.id.webview);
        //允许JavaScript执行
        webView.getSettings().setJavaScriptEnabled(true);
        // 添加一个对象, 让JS可以访问该对象的方法, 该对象中可以调用JS中的方法
        webView.addJavascriptInterface(new Contact(this, webView), "contact");
        webView.getSettings().setDomStorageEnabled(true);// H5页面,开启Dom缓存
        webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
        //从网络加载HTML
        webView.loadUrl("http://192.168.4.252:8080/JS_NativeDemo/index.html");
        //加载本地HTML
//        webView.loadUrl("file:///android_asset/index.html");
    }

}
这段代码的作用主要是为webView对象允许JavaScript的执行,并将自己的脚本对象传递给webView,contact对象的具体作用可查看index.html源码中的调用过程。
       注意此处是使用web的html界面,需要添加网络请求的相关权限:
       <uses-permission  android :name=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值