§ Fox3.0 插件开发规范(Android)

§ 前言

开发规范无论怎么强调都不为过,所以我也在这里喋喋不休的重复插件开发的规范,一遍又一遍。

§ 插件的形式

插件最核心的思想是:隔离性和可插拔。在android开发中,module(aar)是比较符合插件的核心思想的。所有我们要求插件是通过module来实现。 moduel创建步骤:

步骤一: File->New->New Module

步骤二: 选择Android Library

module_create.png-103.2kB

##插件的内容## 插件是有代码和配置文件两部分组成,其中配置文件必须放在assets/metadata中

module_content_android.jpg-96kB

关于module的命名规范: 1.第三方的外设集成,我们的module的命名一般为device_xxx,例如 集成cfca的签名功能,我们就应该创建模块device_cfca。 2.pdf、图片浏览、im、崩溃日志记录等非设备访问的代码要独立建立插件,插件名规范如下core_ext_xxx, 如core_ext_pdf。 3.原则上尽量一个插件代表一个功能,这样有利于后面我们根据需求进行裁剪。 4.配置文件的命名为fox_extension_插件名.xml,注意不能存在两个同名的配置文件,另外fox_extension的前缀是固定的。

§ 插件类型

根据功能和范围插件主要分为APlugin/AProyx,Device和Native几类 IDevice:插件用于调用系统或第三方提供的外设模块,如相机、OCR、二代证等 INative:则用于集成除外设类之外的原生功能,如定位、网络等. APlugin/AProyx:则用于功能更为复杂的原生功能调用,该类型的插件能监听到APP的各个生命周期和webview的各个事件。尔APlugin和AProxy的差别是,AProxy通过方法放射的形式实现了action->method的映射,而APlugin只能通过实现execute方法来处理不同的action

我们在原生开发的过程中选择优先顺序是INative&IDevice > AProxy->APlugin,也是我们根据功能分类优先选择Native或Device,当两个不合适的情况下才选择AProxy&APlugin。下图是他们之间的关系

plugins.png-35.5kB

最后更新于: 7/5/2022, 5:29:52 PM