MENU

ionicでngCordovaを使う

ionicハイブリッドアプリ開発 ionic
ionicハイブリッドアプリ開発

ionicはブラウザでアプリを作る仕組みのため、ハードウェアやソフトウェアにアクセスするには一手間必要です。

ハードウェアとはたとえば、カメラであったり、スピーカーやバイブがあります。
ソフトウェアとはたとえば、SQLite(データベース)や通知バーなどですかね。

こういった機能にアクセスするために、ionicのために?用意されているのがngCordovaです。

ionicでアプリの開発をするには、結構お世話になること間違いなしです。
比較的カンタンな手順で準備ができる上、AngularJSの文法にあった記述ができるので、コードが統一されて見やすくなります。

ngCordovaのセットアップ

さて具体的なセットアップ方法です。

インストール

コマンドラインから行います。
macであれば「ターミナル」ですね。ターミナルから
bower install ngCordova
と入力するだけ

HTMLソースに記述

インストールしただけでは使えませんので、HTMLファイルに追記します

1
<span class="hljs-tag"><<span class="hljs-name">script</span> <span class="hljs-attr">src</span>=<span class="hljs-string">"lib/ngCordova/dist/ng-cordova.js"</span>></span><span class="hljs-tag"></<span class="hljs-name">script</span>></span>

cordova.jsより前に読み込んだほうがいいみたいです。とりあえず私はcordova.jsの直前に読み込みました。
こんな感じですね(一部抜粋)

1
2
3
4
5
<span class="hljs-comment"><!-- ionic/angularjs js --></span>
<span class="hljs-tag"><<span class="hljs-name">script</span> <span class="hljs-attr">src</span>=<span class="hljs-string">"lib/ionic/js/ionic.bundle.js"</span>></span><span class="hljs-tag"></<span class="hljs-name">script</span>></span>
<span class="hljs-tag"><<span class="hljs-name">script</span> <span class="hljs-attr">src</span>=<span class="hljs-string">"lib/ngCordova/dist/ng-cordova.js"</span>></span><span class="hljs-tag"></<span class="hljs-name">script</span>></span>
<span class="hljs-comment"><!-- cordova script (this will be a 404 during development) --></span>
<span class="hljs-tag"><<span class="hljs-name">script</span> <span class="hljs-attr">src</span>=<span class="hljs-string">"cordova.js"</span>></span><span class="hljs-tag"></<span class="hljs-name">script</span>></span>

JavaScriptソースに記述

JavaScriptに追記します

1
<span class="hljs-selector-tag">angular</span><span class="hljs-selector-class">.module</span>(<span class="hljs-string">'starter'</span>, [<span class="hljs-string">'ionic'</span>,<span class="hljs-string">'ngCordova'</span>])

ngCordovaプラグインの利用

ngCordovaには様々なプラグインが用意されています。
これらのほとんどは、ブラウザの枠を超え、ハードウェアやソフトウェアにアクセスする機能なので、
使い方にも少しお作法が有ります。

実際にバイブレーションを使ってみる

たくさんある中から今回はバイブレーションを使ってみます。これ以外でも、使い方はだいたい同じなので、1回覚えれば大丈夫です。
使用するバイブレーションプラグインのページはこちら

使い方が英語で書いてあります。バイブレーションは特に簡単です。

バイブレーションプラグインのインストール

コマンドラインから行います。まずはバイブレーションをインストールするプロジェクトへコマンドラインから移動します
cd /プロジェクトのルートフォルダ
ルートフォルダは、config.xmlファイルやwwwフォルダが置いてある場所です。

ルートフォルダへ移動したら、コマンドを入力します。
cordova plugin add org.apache.cordova.vibration

自動で登録しているプラットフォーム用のプラグインがインストールされます。

ソースの記述

JS

1
2
3
4
5
6
7
module.controller(<span class="hljs-string">'MyCtrl'</span>, <span class="hljs-function"><span class="hljs-keyword">function</span><span class="hljs-params">($scope, $cordovaVibration , $ionicPlatform)</span> </span>{
 $scope.runVibration = <span class="hljs-function"><span class="hljs-keyword">function</span><span class="hljs-params">()</span></span>{
  $ionicPlatform.ready(<span class="hljs-function"><span class="hljs-keyword">function</span><span class="hljs-params">()</span></span>{
    $cordovaVibration.vibrate(<span class="hljs-number">100</span>);
  })
 }
})

おまけ。HTML

1
<span class="hljs-tag"><<span class="hljs-name">button</span> <span class="hljs-attr">ng-click</span>=<span class="hljs-string">"runVibration()"</span>></span>振動<span class="hljs-tag"></<span class="hljs-name">button</span>></span>

基本的にブラウザを超えた処理なので、ngCordovaから入手するプラグインの全ては、デバイスの読み込みが完了した後で無いと機能しません。そのため、バイブレーションプラグインのページには記載されていませんが、$ionicPlatform.ready()の中に記述します。

以上、これらのことはngCordovaの公式サイトのインストールガイドにも書いてあります。

PAGE TOP