モケラ

Tech Sheets

mokelab

Cordova Android Pluginクラスを作る

最終更新日:2015-08-13

Plugin開発の準備でAndroid Studioでの開発準備ができたところで、早速Plugin用クラスを作成しましょう。

CordovaPluginを継承する

パッケージ名やクラス名は適当で、CordovaPluginを継承したクラスを作成します。

public class MyPlugin extends CordovaPlugin {
}

execute()を実装する

JavaScriptのcordova.exec()から呼ばれるexecute()を実装します。

@Override
public boolean execute(String action, CordovaArgs args, CallbackContext callbackContext) throws JSONException {
    if ("myFunc".equals(action)) {
        myFunc(args, callbackContext);
        return true;
    }
    return super.execute(action, args, callbackContext);
}

第1引数のactionは、cordova.exec()の第4引数で指定した文字列が渡されます。cordova.exec()の第5引数で指定した値は、第2引数のCordovaArgsとして渡されます。

execute()の結果として、trueを返すと正常処理、falseを返すとaction不明のエラーとして呼び出し元に伝えられます。

結果をJavaScript側に伝える

execute()の結果をJavaScriptに伝えるには、execute()の第3引数で渡されるCallbackContextのメソッドを呼びます。

private void myFunc(CordovaArgs args, CallbackContext callbackContext) {
    Log.v("Plugin", "myFunc is called!");
    callbackContext.success("OK");
}

一覧に戻る