我们产品有android的client java jar包, 用户可以调用此 client code来和我们的server通信. 同时用PhoneGap包装了一下我们的java code, 提供js的接口.
简化我们项目包含的代码, 与pg相关的部分如下:
1. 一个phonegap plugin:
public class MyPhG extends CordovaPlugin { @Overrided public boolean execute(String action, JSONArray args, final
CallbackContext callbackContext) throws JSONException {
try { // 根据action调用我们的 接口方法 callbackContext.success(result + ""); return true; } catch (Exception e{ callbackContext.error(e.toString()); } } @Override public void onDestroy(){ /* 释放资源 */ } @Override public void initialize(CordovaInterface cordova, webView) { /* 初始化 */ } }
2. 一个PhoneGap的示例程序:
打包上述plugin code, 和我们的client java 包, cordova.jar一起放到{AND_PROJECT}/libs.
修改{AND_PROJECT}/res/xml/config.xml, 加入:
<feature name="MyPhG"> <param name="android-package" value="com.brayden.MyPhG" /> </feature>
修改{AND_PROJECT}/asserts/www/index.html
<script type="text/javascript" charset="utf-8" src="cordova.js" /> <script type="text/javascript"> cordova.exec(s_onSuccessFin,s_onFailureFin,"MyPhG","funtion1",args); </script>
cordova.js放入{AND_PROJECT}/asserts/www/index.html