基於PhoneGap2.9架構的android外掛程式的實現

來源:互聯網
上載者:User



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 裡註冊外掛程式,如下:



(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,即可成功!





聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.