最近团队用h5+做了一个app,需要使用java做原生插件,现在分享下经验

刚开始接触到插件开发,作为一个小白,表示一脸懵逼,唉,心累,不过弄出来了。

说起插件开发,最重要的还是要会离线打包,对!就是离线打包,我没跑题,大家听我慢慢道来。

离线打包,可以参考这位大佬的,很详细  离线打包

按照这位大佬所说,一步一步来,第一次离线打包要时刻注意,特别是在assets目录下新建apps目录放入你的h5开发的app名,然后创建www目录,记住一定要注意apps和www目录,这个是规定死了的。

在www目录下放入你的app html所有文件。

-----------------------------------------------------------分割线------------------------------------------------------------

有的人会说,我按照这样的方式完成离线打包流程,为什么加载app会出现白屏呢,遇见这样的问题,你要去看你的apps目录下的app名称是否和mainfest.json以及xml文件是否一致!

做到这和看大神的流程,相信大佬们基本上可以完成离线打包流程了,现在说下插件开发的。

插件开发严格按照大牛的规定额外的test.js文件,在这个js文件中除了方法名或者你用异步回调中方法名可以更改,其他的最好别动,回归到java文件中,插件回调采用JSUtil.exec();方法,异步的!里面会有4到5个参数,分别是:你的视图对象、对应的方法id、你回调的字符串、两个boolean值,说起这两个布尔值,当传入参数为4个时,boolean值表示是否一直调用回调,传入5个参数时,倒数第二个布尔值表示是否是json格式数据,你在插件中和h5页面定义了一个异步回调的方法,想要多次调用java中的回调,建议你将表示是否多次返回回调的布尔值设置为true

在做插件时,有人也会遇到在页面回调时,若把alert注释掉,回调函数却不执行,但在log中却发现java代码全部执行了,遇到这样的问题不要心急,这时你得回去看你的boolean值是不是true,如果不是改回来就行了。

好了,我就不上代码了,公司机密,不能外泄,虽然我是小白这点我还是懂滴。

猜你喜欢

转载自blog.csdn.net/qq_38322527/article/details/79070209
今日推荐