首先說(shuō)個(gè)大家感興趣的,開(kāi)發(fā)APICloud模塊是可以賺錢的告嘲,可以把開(kāi)發(fā)好的模塊提交到APICloud模塊Store上售賣河劝,本人在就在Store上提交了一個(gè)視頻處理模塊videoKit纸俭,雖然賺的不多反浓,但是改善伙食是夠了萌丈。
用過(guò)APICloud的人都知道,這是一個(gè)移動(dòng)端集成開(kāi)發(fā)平臺(tái)雷则,使用此工具可以開(kāi)發(fā)基于H5的跨平臺(tái)的APP辆雾,一套代碼,兩個(gè)終端(Android和IOS)月劈,上傳代碼度迂,云端打包,此乃移動(dòng)APP開(kāi)發(fā)之利器猜揪。APICloud模塊則是對(duì)這個(gè)平臺(tái)的一個(gè)補(bǔ)充惭墓,當(dāng)平臺(tái)提供的接口和庫(kù)無(wú)法滿足開(kāi)發(fā)者的業(yè)務(wù)需求的時(shí)候,就需要模塊來(lái)幫忙湿右,模塊是由原生代碼開(kāi)發(fā)诅妹,本文主要講解Android端完整流程。
開(kāi)發(fā)環(huán)境:Windows XP/Win7/8/Mac OS毅人;
Eclipse3.7及以上(官網(wǎng)下載Eclipse for Android Developers);
ADT21及以上尖殃;
Android SDK 21(5.0)及以上丈莺;
JDK6或者7。盡量不要使用JDK8送丰,可能存在各種潛在問(wèn)題缔俄;
在APICloud官網(wǎng)上下載它的模塊工程ModulesDevProject_1.1.29.zip,以我的模塊為例,項(xiàng)目結(jié)構(gòu)如下
如圖你可以使用com.apicloud.module*的規(guī)范來(lái)定義你的的包名俐载,與JS對(duì)象映射的類需要繼承UZModule蟹略,這樣才能將接口暴露給JS對(duì)象,需要暴露的接口方法在Java代碼中定義的方式如下遏佣,必須是以jsmethod_開(kāi)頭的挖炬。
其中path和quality是js進(jìn)行模塊調(diào)用時(shí)作為參數(shù)傳遞過(guò)來(lái)的,對(duì)應(yīng)的js調(diào)用如下所示
JS的回調(diào)方法中的兩個(gè)參數(shù)ret和err状婶,它們的值也是在Java方法中輸出的意敛,分別對(duì)應(yīng)成功和失敗,Java代碼如下
還有一種情況膛虫,如果執(zhí)行的邏輯是有進(jìn)度信息的草姻,也可以實(shí)時(shí)反饋給JS,具體的Java代碼如下
代碼功能實(shí)現(xiàn)后接下來(lái)就開(kāi)始打包稍刀,APICloud模塊打包是有規(guī)定的撩独,首先先按照如下方式建立文件夾和一個(gè)模塊描述文件
其中module.json,source和target账月,以及res_的命名是固定的跌榔,res_后可以跟你的模塊名稱。module.json中是對(duì)你的模塊名和主類的描述
res_*文件中放的是模塊項(xiàng)目中的資源文件包括AndroidManifest.xml(這個(gè)文件是可選的捶障,如果有用到可以打進(jìn)來(lái)僧须,沒(méi)用到可以不用打),這個(gè)文件夾中的目錄結(jié)構(gòu)和項(xiàng)目中的結(jié)構(gòu)一樣项炼,直接拷貝就行了担平。
source目錄中是用到的第三方JAR包和源碼導(dǎo)出的JAR,target目錄中是用到的so文件锭部,如果支持多個(gè)CPU平臺(tái)暂论,可以不必建立armeabi目錄,必須要建其他平臺(tái)的目錄
這些都準(zhǔn)備好后放到一個(gè)文件夾中拌禾,然后將文件夾整體打成zip包取胎,這樣就可以按照官網(wǎng)的模塊上傳說(shuō)明上傳到APICloud模塊Store上賣了,如果覺(jué)得沒(méi)意思湃窍,也可以提交成免費(fèi)模塊供社區(qū)開(kāi)發(fā)者使用闻蛀。以上便是Android端的模塊開(kāi)發(fā)流程,有問(wèn)題的可以在下邊留言您市。