jockeyjs库对h5和native代码交互做了优美的封装。
你可以写出像下面这种风格的代码,本文对它的实现做一个分析。
//Listen for an event from JavaScript and log a message when we have receied it.
jockey.on("event-name", new JockeyHandler() {
@Override
protected void doPerform(Map<Object, Object> payload) {
Log.d("jockey", "Things are happening");
}
});
项目地址:https://github.com/tcoulter/jockeyjs
jockey的实现类是JockeyImpl.java
@Override
public void on(String type, String data, JockeyHandler... handler) {
if (!this.handles(type)) {
CompositeJockeyHandler compositeJockeyHandler = new CompositeJockeyHandler();