基於PhoneGap2.9框架的android插件的實現



       PhoneGap平臺提供了插件功能,開發者可以將重量級的功能封裝在原生代碼開發的插件中,並將接口暴露給JavaScript,JavaScript調用插件功能即可完成與本地代碼的交互。開發一個簡單的android插件主要分以下幾步:

(1)編寫JAVA類,繼承CordovaPlugin類,如下:

import org.apache.cordova.api.CallbackContext;
import org.apache.cordova.api.CordovaPlugin;
import org.json.JSONArray;
import org.json.JSONException;

public class Login extends CordovaPlugin {

 public boolean execute(String action, JSONArray args,
   CallbackContext callbackContext) throws JSONException {
  if (action.equals("login")) {
   String message = args.getString(0);
   this.login(message, callbackContext);
   return true;
  }
  return false;
 }

 private void login(String message, CallbackContext callbackContext) {
  if (message != null && message.length() > 0) {
   callbackContext.success("loginSuccess");
  } else {
   callbackContext.error("Expected one non-empty string argument.");
  }
 }

}

(2)在config.xml 裏註冊插件,如下:

<feature name="Login">
    <param name="android-package" value="cn.com.vs.service.Login"/>
 </feature>

(3)js調用,如下:

<script type="text/javascript" charset="utf-8">
 function login(str, callback) {
  var exec = cordova.require('cordova/exec');
   exec(callback, function(err) {
         callback('Nothing to echo.');
     }, "Login", "login", [str]);
 };
 function success (result) {
    alert("SUCCESS: \r\n"+result );
  }
 login("para", success);
</script>

(4)打印出loginSuccess,即可成功!




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章