android_javaScript交互2_bridge - cheyiliu/All-in-One GitHub Wiki

思路

  • 为何要桥,(由于WebView4.2之前有安全方面的问题)java js两个世界的沟通只能靠字符串, 但我们希望java调用js js调用java感觉不到这两个世界的差异。同时ios android遵循同一套标准fe同学便于维护。
  • 既然沟通只能是字符串, 得有个约定来统一规范, 就需要制定协议
  • 桥分两端, java和js两端分别来支持协议
  • 协议内容,
    • java调js: 我要调用xxjs方法,参数是xx,callback是xx
    • js调java: 我要调用xxjava方法(命令), 参数是xx,callback是xx
  • 核心方法, js prompt, java loader
  • 实现思路,
    • java端注册维护一个命令列表(key value形式,key是名称,value是具体命令), js prompt过来命令名称,参数和callback信息等, java端解析并调用具体命令
    • js端注册维护一个命令列表(key value形式,key是名称,value是具体命令), java loadurl过来命令名称,参数和callback信息等, js端解析并调用具体命令

开源的桥