参加工作快一年了,也没把自己做过的 学过的东西整理整理。最近很多一起来的同事都跳槽了 我才觉得是时候把自己每天的工作记录记录咯。
想从最开始写起,但是觉得 太多了,就从最近在干的事情写起吧。最近主要是有一个项目需要原生与h5的混合开发。
是用了cordova进行混合开发的
其实这次的技术点很简单,就是由h5调用安卓原生的,然后再原生的插件里面再调用h5的js方法。
1、这是安卓原生的类,继承了CordovaActivity
public class TestActivity extends CordovaActivity
在这里面需要调用h5页面,需要使用CordovaWebView进行加载页面。但是一直获取到的CordovaWebView对象为空
原来是因为new 该对象的方法错误了
错误方法:CordovaWebView appView = new CordovaWebView(this);
正确方法:CordovaWebView appView = new CordovaWebView(TestActivity.this);
不要问我为什么
2、到了这一步appView对象终于不为空了,可是使用appView.loadUrl("javascript:show()");方法的时候,页面一片空白,并没有调用到show()方法,是因为我们需要在前面加上appView.loadUrl("file:///android_asset/my.html");这一句,并且你的show方法是必须写在你加载的html页面里面的。并且最好把加载html的文件写在onCreate方法里面。
好了,到了这里终于可以调用到h5里面的方法了,是在原生的界面上,调用h5了
其实没什么难点,只是我当初开发的时候方向走偏了,走了些坑 所以把这些坑说出来,希望大家以后少走点坑