扩展插件开发实例_Android

1. 本实例Demo功能

1.1 简介

为了帮助开发者快速上手,在开发指南demo的基础中增加功能实例,让开发者更好的理解项目结构和开发流程,且开源出了部分工具类,供开发者使用,若在此工程中开发建议删除实例部分功能代码,或者直接在开发指南纯净版demo中开发。

1.2 开发环境

  • Android Stuido3.5或更高版本
  • window7/window10/mac

1.3 实例功能介绍

  • 获取app信息,如版本、包名、名称等
  • 电子签名功能,与安卓原生页面交互

1.4 下载SDK

点击下载完整示例代码

2. 模块开发示例

注:此实例是在纯净版demo基础上进行开发,以下着重描述不同点。

2.1 项目结构

编译完成后,项目工程结构如下:

这是图片

2.2 功能代码

1)获取app信息

当调用入口为"ckme"时,加载获取app信息代码,可直接在当前java文件中编辑,如下图:

这是图片

调用成功后,返回获取到的信息:

这是图片

不管成功还是失败,按照规范都应该调用callbackContext返回正确值或者错误提示,当返回数据类型为JSONObject类型时,前端在获取返回值时需要加上JSON.stringify(success)。

调用示例:

navigator.test.ckme( function (success) { alert(JSON.stringify(success)); }, function (error) { alert(JSON.stringify(error)); });

2)电子签名功能模块

和上述功能不同,他需要接收传入的值,在调用时传入参数示例如下:

var postion={'screenNum':'0','imgPath':'0'}; navigator.test.dialog( function(success){ alert(JSON.stringify(success)) },function(error){},postion);

这里使用了参数解析工具JsonUtil,可以参考,代码如下图:

这是图片

页面跳转配置:

1)上下文参数已定义,可直接使用activity,示例代码:

MainTwoActivity.start(activity,screenNum,imgPath);

2)原生页面配置

清单文件中写入位置如图:

这是图片

3)关于引入依赖

以本demo为例,使用了eventbus,在引入之前,先在buils.gradle中寻找是否有提供此依赖,如果有的话,直接使用,保存版本一致,不然会造成冲突,如图:

这是图片

另外,需要在plugin.json配置文件中添加此依赖,如图:

这是图片

[!WARNING]

  • 如果引入有其他module的话,建议代码拆分到modile_ext_plugin中,不然需要打包多个aar文件,可能造成资源丢失。

results matching ""

    No results matching ""