前文:

h5+离线打包,官网只是提供了个例子,如果直接拿来用确实是没有问题,但是在实际使用中也有一些注意和可以改进的地方,下面自己做一下记录吧,我看百度上,基本没有人讲,这里自己做个记录。

 

正文:

注意点

一、h5+android离线包下下来之后,有两个工程Hbuilder-Hello和Hbuilder-Integrate-AS,一般我们需要用到Hbuilder-Integrate-AS,Hbuilder-Hello可以忽略。它们的区别就在于Hello仅仅是个演示工程,而Integrate集成了插件功能(NJS)可以集成自定义功能(不然我们离线打包干嘛,我们直接用云打包不就好了,就是因为云打包不能满足项目需要,我们才不得已去离线打包,自己去支持功能,所以选择Hbuilder-Integrate-AS)

二、那么接下来,正常我们都是按照官方文档说的进行处理,就可以离线打包。但是当你看一下它们源代码你就知道其实他们主要用的是

PandoraEntry 和
PandoraEntryActivity

那么既然这样那就根本不需要例子提供的SDK_WebApp,比如你想需要建一个activity去做自己的操作(比如你需要去申请权限),那么你建一个MainActivity 去extends 

PandoraEntry

然后就可以了,而在配置文件里面只需要保留permission和两个Activity,一个provider,步骤如图所示:

1、provider涂抹部分换成你自己项目包名

provider

 

2、自己建的activity,可能自己的一些操作,涂抹部分换成你自己的activity,注意自己构建的activity必须extends 

PandoraEntry

mainActivity

3、固定需要的Activity

如果不需要你项目业务的话,甚至你自己的activity都不需要直接把PandoraEntry做启动Activity就可以了,然后就可以启动项目,直接忽略SDK_WebApp

三、现在项目就比较简洁的启起来了,但是有个问题,我要把我集成的功能加上去,不然我光能启起来有毛用。这里他们提供了PGPlugintest类,具体原理参考:https://ask.dcloud.net.cn/article/88

那么我们怎么能在我们的主线程做一些功能追加操作呢,如下图,我们可以通过PGPlugintest官方提供的函数中的参数

IWebview pWebview

通过pWebview.getActivity()获取当前activity然后更新UI线程,在这里面可以做自己想要的事情,比如想要把自己集成的功能加上去

四、以上就是整个过程,一个是更好的启动app,一个是把自己想要集成的功能集成上去,这两块就补全了。那么一个体验比较好的用户app就完成了,完结撒花。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐