• Android 与H5之间的js交互


                 之前项目做过一些Android和Html5之间js交互方面的东西,今天有时间就总结一下:

         一、为什么要进行js交互:

                     为了方便原生开发和Html之间数据传递,在静态页面的情况下可以改变原生开发的页面;

         二、如何进行js交互:

              (一)Android端调用H5页面

                        在Android端主要使用WebView来进行网页的加载,设置属性

    // 获取WebSetting对象
    WebSettings webSettings = webview.getSettings();
    // 设置支持javascript
    webSettings.setJavaScriptEnabled(true);
    // 将Android里面定义的类对象AndroidJs暴露给javascript
    webview.addJavascriptInterface(new AndroidJs(MainActivity.this), "AndroidJs");

                       

                    调用方式:其中doAlert为H5页面的方法

     webview.loadUrl("javascript:doAlert()");

          (二)H5端调用Android页面

                     H5端代码:

    <input type="button" value="打招呼" onclick="AndroidJs.showToast()"/>
    <input type="button" value="图书列表" onclick="AndroidJs.showList()"/>

                     Android端代码:

    public class AndroidJs {
        private Context mContext;
    
        public AndroidJs(Context context) {
            this.mContext = context;
        }
    
        @JavascriptInterface
        public void showList() {
            new AlertDialog.Builder(mContext)
                    .setTitle("图书列表")
                    .setIcon(R.mipmap.ic_launcher)
                    .setItems(
                            new String[]{"疯狂java讲义", "疯狂Android讲义",
                                    "轻量级java EE开发"}, null)
                    .setPositiveButton("确定", null).create().show();
        }
    
        @JavascriptInterface
        public void showToast() {
    
            Toast.makeText(mContext, "hello", Toast.LENGTH_LONG).show();
        }
    
    }

          注:AndroidJs是连接Android与Html的桥梁标识,也是一个进行数据交互的类;

          注:这里面的方法必须是共有的,类名与标识保持一致;

          以上就是简单的js交互流程,备注的地方要特别注意,请多多指教

        

  • 相关阅读:
    Asp.net 后台添加CSS、JS、Meta标签(帮助类)
    Jquery 事件冒泡
    一个例子理解C#位移
    CodeSmith 创建Ado.Net自定义模版(四)
    .NET4.0下网站应用程序用UrlRewriter.dll重写无后缀路径 (在IIS7.5中的配置方法)
    用泛型的IEqualityComparer<T>接口去重复项
    Why MapReduce?
    SYN flood攻击介绍
    tmux使用方法详解
    理解Linux系统负荷
  • 原文地址:https://www.cnblogs.com/huihuizhang/p/8794377.html
Copyright © 2020-2023  润新知