JsBridge使用演示

在Android项目开发中,如果需要在Android程序中调用web中的功能,我们可以用Jsbridge来作为桥梁进行沟通调用。

github代码直通车

演示样例:
JsBridge使用演示_第1张图片
Jsbridge相互调用演示
Jsbridge库引入:
implementation 'com.github.lzyzsd:jsbridge:1.0.4'

一端提供另一端调用的方法,需要使用registerHandler()方法进行注册,另一端调用的回调接收需要callHandler()方法获取回调。

Android部分代码:

 private void initView() {
        tvJs = (TextView) findViewById(R.id.tv_androidcalljs);
        tvShowmsg = (TextView) findViewById(R.id.tv_showmsg);

        webview = (BridgeWebView) findViewById(R.id.webview);
        WebSettings webSettings = webview.getSettings();
        webSettings.setBuiltInZoomControls(true);
        webSettings.setSupportZoom(true);
        //与js交互必须设置
        webSettings.setJavaScriptEnabled(true);
        webview.loadUrl("file:///android_asset/html.html");
    }

    private void callJs(){
        tvJs.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                webview.callHandler("functionInJs", "Android传递给js的数据", new CallBackFunction() {
                    @Override
                    public void onCallBack(String data) {
                        tvShowmsg.setText(data);
                    }
                });
            }
        });
    }

    private void registerInJs() {
        webview.registerHandler("functionInAndroid", new BridgeHandler() {
            @Override
            public void handler(String data, CallBackFunction function) {
                tvShowmsg.setText("js调用了Android");
                //返回给html
                function.onCallBack("Android回传给js的数据");
            }
        });
    }

html部分代码:


html模块

xml部分代码:




    

        

        

        
    

    

        
    



你可能感兴趣的:(JsBridge使用演示)