phonegap の plugin
以下に纏めがある模様。Android は以下なのかどうなのか。
なんとなく adobe が出してるドキュメントとか確認して成程ね、というレベルになってるとは思うのですが、やはり i/f なナニなあたりが微妙なのかどうか。
ちょっと github 方面に置いてある諸々を確認させて頂きつつ、自作で、とか流用で、とかなソレの作法を確認しといた方が良さげ。
朝練確認してみた
結構カオスなカンジ。上記リポジトリからとりあえず使ってる例を見つけたので VideoPlayer というヤツを確認してみます。とりあえず www/video.js の定義が以下な模様。
cordova.define("cordova/plugin/videoplayer", function(require, exports, module) { var exec = require("cordova/exec"); var VideoPlayer = function () {}; /** * Starts the video player intent * * @param url The url to play */ VideoPlayer.prototype.play = function(url) { exec(null, null, "VideoPlayer", "playVideo", [url]); }; var videoPlayer = new VideoPlayer(); module.exports = videoPlayer; }); if (!window.plugins) { window.plugins = {}; } if (!window.plugins.videoPlayer) { window.plugins.videoPlayer = cordova.require("cordova/plugin/videoplayer"); }
これ、ぱっと見良く分かんなかったのですが、実際の使いかたとしては
<script type="text/javascript" src="js/video.js"></script>
みたいな形で取り込んでおいて以下なカンジで呼び出している模様。
window.plugins.videoPlayer.play(url+filename)
で、確かに videoPlayer なオブジェクトを作って云々してますね。videoPlayer.play の定義もしてるのが分かりますし、その中で cordova.exec を呼び出しています。
Java ネイティブ側は引用略しますが、なんとなく書き方というか繋り具合はイメージできたのかどうなのか。他の実装も確認してみます。何かあればメモを追記の方向にて。
Activity クラスのオブジェクトの参照
以下な方法で取得できる模様。成程。
Activity activity = (Activity)this.cordova;
上記、execute メソドの中のソレなのですが Plugin クラスを継承したオブジェクトの this は cordova という属性で Activity クラスの参照が取得できるのか。