APICloud模块开发之旅

首先说个大家感兴趣的,开发APICloud模块是可以赚钱的,可以把开发好的模块提交到APICloud模块Store上售卖,本人在就在Store上提交了一个视频处理模块videoKit,虽然赚的不多,但是改善伙食是够了。

APICloud模块开发之旅_第1张图片
APICloud

用过APICloud的人都知道,这是一个移动端集成开发平台,使用此工具可以开发基于H5的跨平台的APP,一套代码,两个终端(Android和IOS),上传代码,云端打包,此乃移动APP开发之利器。APICloud模块则是对这个平台的一个补充,当平台提供的接口和库无法满足开发者的业务需求的时候,就需要模块来帮忙,模块是由原生代码开发,本文主要讲解Android端完整流程。

开发环境:Windows XP/Win7/8/Mac OS;

Eclipse3.7及以上(官网下载Eclipse for Android Developers);

ADT21及以上;

Android SDK 21(5.0)及以上;

JDK6或者7。尽量不要使用JDK8,可能存在各种潜在问题;

在APICloud官网上下载它的模块工程ModulesDevProject_1.1.29.zip,以我的模块为例,项目结构如下

APICloud模块开发之旅_第2张图片
模块项目结构

如图你可以使用com.apicloud.module*的规范来定义你的的包名,与JS对象映射的类需要继承UZModule,这样才能将接口暴露给JS对象,需要暴露的接口方法在Java代码中定义的方式如下,必须是以jsmethod_开头的。

APICloud模块开发之旅_第3张图片
暴露的方法名

其中path和quality是js进行模块调用时作为参数传递过来的,对应的js调用如下所示

APICloud模块开发之旅_第4张图片
JS调用

JS的回调方法中的两个参数ret和err,它们的值也是在Java方法中输出的,分别对应成功和失败,Java代码如下

APICloud模块开发之旅_第5张图片
Sucess
APICloud模块开发之旅_第6张图片
Fail

还有一种情况,如果执行的逻辑是有进度信息的,也可以实时反馈给JS,具体的Java代码如下

APICloud模块开发之旅_第7张图片
Progress

代码功能实现后接下来就开始打包,APICloud模块打包是有规定的,首先先按照如下方式建立文件夹和一个模块描述文件

APICloud模块开发之旅_第8张图片
包目录结构

其中module.json,source和target,以及res_的命名是固定的,res_后可以跟你的模块名称。module.json中是对你的模块名和主类的描述

module.json

res_*文件中放的是模块项目中的资源文件包括AndroidManifest.xml(这个文件是可选的,如果有用到可以打进来,没用到可以不用打),这个文件夹中的目录结构和项目中的结构一样,直接拷贝就行了。

APICloud模块开发之旅_第9张图片
res_*目录

source目录中是用到的第三方JAR包和源码导出的JAR,target目录中是用到的so文件,如果支持多个CPU平台,可以不必建立armeabi目录,必须要建其他平台的目录

APICloud模块开发之旅_第10张图片
target目录

这些都准备好后放到一个文件夹中,然后将文件夹整体打成zip包,这样就可以按照官网的模块上传说明上传到APICloud模块Store上卖了,如果觉得没意思,也可以提交成免费模块供社区开发者使用。以上便是Android端的模块开发流程,有问题的可以在下边留言。

你可能感兴趣的:(APICloud模块开发之旅)