schema 拦截:
在加载超链接时调用拦截方法,如下图:
在WebviewHelper.urlLoading()里,主要对schema进行了分发。代码,如下图:
接下来我们以HQJump为例,看一下具体的实现:
如上图,我们对schema分发操作的具体实现是这样的。具体一点,BaseJump中写了一个processUrl()方法,在这个方法中写了一个process()抽象方法,HQJump 继承 BaseJump时会重写这个抽象方法,所以只需要在process(),实现schema分发即可。
下面挑选getCurMarketIndex(),看一下接口的封装,如下图:
如上图,主要功能为调用本地接口获得数据,成功后将数据解析出来,解析步骤在analysisCurMarketIndexData()中实现,如下图:
如上图,可以看出主要进行了3件事流的解析、Json的拼接、拼接完成后,调用safeLoadUrl() 将取得的Json返给JS;
safeLoadUrl()与processUrl一样是BaseJump中的方法,主要实现如下:
以上是Android本地封装接口给JS调用的具体实现步骤。
/**
* The End
*/
网友评论