Apache Cordovaのプラグインを使うと、OSプラットフォームの判別やファイルの読み書きなどが可能になる。本稿ではその方法を解説する。
powered by Insider.NET
Visual Studio Tools for Apache Cordova(以降「VS Tools for Cordova」)を使うと、iOS/AndroidそしてWindows/Windows Phoneのクロスプラットフォーム開発ができる。使い慣れたVisual Studioで、iOSとAndroidのアプリも簡単に開発できるのである。
第1回では、VS Tools for Cordovaをインストールして、実際にごく簡単なアプリを作ってみた。
前回は、画像ファイルなどのリソースの使い方と、開発が楽になるJavaScriptライブラリについて説明した。そのとき「宿題」にしておいたファイルの扱いを、今回は解説しよう。それには「プラグイン」を使うので、まずはプラグインの導入から話を始めることになる。また、OSによって作り分けをしたいこともあるだろう。そこで、プラグインを使うなどしてOSを識別する方法も紹介する。
なお、本稿のサンプルコードは、「Windows Store app samples:Cordovaで始めるiOS/Androidアプリ開発(第3回)」からダウンロードできる。コードの作成には、無償のVisual Studio Community 2015 Update 2とVS Tools for Cordova Update 8.1を使っている。違う環境では細部が異なる可能性がある。
本連載では「VS Tools for Cordova」という略称にしたが、公式には「TACO」と略すようである。
ソリューションエクスプローラーでCordovaのプロジェクトを見てもらうと、そのルートフォルダには「taco.json」ファイルがある。公式サイトのURLは、https://taco.visualstudio.com/だ。公式ブログのURLも「vstacoblog」となっているし、その記事にもTACOが頻繁に登場する。
tacoとはメキシコ料理のタコスのことだが、英語発音をまねて「タコ(ターコゥ)」と発音すべきか、意味を取って「タコス」と発音すべきか、セミナーなどで話すときには悩むことになりそうだ。
Cordovaのプラグインは、ネイティブな機能に対するJavaScriptのAPIを提供するライブラリだ。プラグインを介してOSやデバイス独自の機能にアクセスできるようになるのである。
次のような種類のプラグインがある。
VS Tools for Cordovaでは、「コンフィギュレーションデザイナー」を使ってプラグインの管理ができる。
手始めにDeviceプラグインを導入してみよう。このプラグインは、デバイスの情報を取得するためのものだ。
まずCordovaのプロジェクトを用意する。本稿では、前回で作ったソースコードから始めよう。
プラグインを追加する手順は次の画像のようになる。ソリューションエクスプローラーでconfig.xmlファイルをダブルクリックすると、コンフィギュレーションデザイナー([Apache Cordova アプリ構成エディター]ともいう)が開く。左のタブで[プラグイン]を選び、上のタブで[コア]を選ぶと、標準のプラグイン一覧が表示される。一覧の中から[Device]を選び、右の[追加]ボタンをクリックすると、Deviceプラグインがダウンロードされてプロジェクトで使えるようになる。
では、導入したDeviceプラグインの動作を確認してみよう。コンフィギュレーションデザイナーでプラグインを導入したら、後はコードを書くだけだ。試しに、index.jsファイルのonDeviceReady関数に次のコードを追加してみよう。
function onDeviceReady() {
// Cordova の一時停止を処理し、イベントを再開します
document.addEventListener('pause', onPause.bind(this), false);
document.addEventListener('resume', onResume.bind(this), false);
// TODO: Cordova が読み込まれました。ここで、……省略……
// Deviceプラグインのテスト
alert(device.platform);
……省略……
これで実行してみると、アプリの起動時にプラットフォームの種類が表示される(次の画像)。なお、ここで使ったalertメソッドは、Windowsでは動作しない。
config.xmlファイルを直接編集しなければならないこともある。例えば、VS Tools for Cordova Update 8.1では、コンフィギュレーションデザイナーからMediaプラグインを導入するとバージョン2.2.0が入る。しかし、これはRippleエミュレータでは動作しない。バージョン2.3.0以降であれば、Rippleでも動作する。そこでバージョン2.3.0のMediaプラグインを導入したいのだが、それにはconfig.xmlファイルを直接編集する必要があるのだ。
config.xmlファイルを直接編集してプラグインを導入するには、コンフィギュレーションデザイナーで導入していない状態でなければならない。導入済みの場合は、先にコンフィギュレーションデザイナーでそのプラグインをアンインストールしておく必要がある。そうしたら、ソリューションエクスプローラーでconfig.xmlファイルを右クリックし、コンテキストメニューから[コードの表示]を選ぶ。するとXMLエディタが開くので、ファイル末尾の</widget>閉じタグの直前に次のコードのように記述する。
……省略……
<plugin name="cordova-plugin-device" version="1.1.1" />
<vs:plugin name="cordova-plugin-media" version="2.3.0" />
</widget>
上のようにしてconfig.xmlファイルにプラグインの記述を追加すると、次にビルドするときに自動的にそのプラグインが導入される。
Copyright© Digital Advantage Corp. All Rights Reserved.