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端解析并调用具体命令
开源的桥