Ionic 添加ngCordova插件

Ionic只是個前端框架,與bootstrap差不多,不過他是專門爲移動端設計的, 在效果上接近原生的app,如果你的應用只涉及到前端的東西,那麼你可能不會涉及到ngCordova插件,這是phoneGap的改名叫法。如果我們應用要用到一些底層的東西,如:拍照,文件,數據庫,狀態欄,設備等等這些原生的東西,那麼你就得要好好的學習下ngCordova提供的想着插件。

1、cordova介紹
    Cordova提供了一組設備相關的API,通過這組API,移動應用能夠以JavaScript訪問原生的設備功能,如攝像頭、麥克風等。
    Cordova支持如下7種移動操作系統:iOS, Android,ubuntu phone os, Blackberry, Windows Phone, Palm WebOS, Bada 和 Symbian。
    Cordova是貢獻給Apache後的開源項目,是從phonegap中抽出的核心代碼,目前(PhoneGap和Apache Cordova之間的)唯一區別是下載的包的名字,這會持續一段時間。
2、ng-cordova介紹
    ngCordova是在Cordova Api基礎上封裝的一系列開源的AngularJs服務和擴展,讓開發者可以方便的在HybridApp開發中調用設備能力,即可以在AngularJs代碼中訪問設備能力Api。

在這裏給出ngCordova的官網安裝地址,接下來會用中文簡介下步驟,方便天朝不想看英文的同仁,地址:http://ngcordova.com/docs/install/。 
在官網上提供了兩種方法安裝:

  1. 使用bower來安裝,前提是你得安裝了bower,而且相關權限要配置好了,然後一條命令解決,命令如下:bower install ngCordova,安裝bower在此不再說明,自行查百度。
  2. 直接下載源文件,然後拷貝到相關目錄下,簡單直接,本人就喜歡這樣的,下載地址官網也給出,在此再列出:下載,他是開源的,源文件放在github上,github就不要再說了吧,搞程序的都知道,地址:https://github.com/driftyco/ng-cordova

如果你是下載源文件的方法,記得把文件目錄中的dist目錄拷貝到你的應用目錄中,比如: 
這是下載後的目錄

直接拷貝dist目錄到你的應用www/lib/ngCordova/dist下,目錄隨便了,在引入的時候路徑對就行了。 
拷貝完成後,就要在index.html文件中的cordova.js文件前引入,如:

<!-- cordova script (this will be a 404 during development) -->
    <script type="text/javascript" src="lib/ngCordova/dist/ng-cordova.js"></script>
    <script src="cordova.js"></script>
  • 1
  • 2
  • 3

然後注入到你的angular模塊中,本人的在app.js中,如:

var app = angular.module('starter', ['ionic','ngCordova']);
  • 1

到了這步,設置已經完成了,接下來是使用他,官網建議在使用是判斷設備是否就緒,如:

document.addEventListener("deviceready", function () {
  $cordovaPlugin.someFunction().then(success, error);
}, false);

// OR with IONIC

$ionicPlatform.ready(function() {
  $cordovaPlugin.someFunction().then(success, error);
});
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

我們一般使用是在controller中,在使用之前記得要添加相關的插件到我們工程中才能使用,比如本人的應用,在初始化時ionic已經添加了一定的插件,你可以查看你的plugin目錄查看相關插件。 

最後是怎麼使用他,本人列出我自己使用的一個小demo,使用插件$cordovaDevice,獲取平臺信息,如:

module.controller('HomeCtrl', function($scope, $cordovaDevice) {
    $scope.isIOS = function(){
        //Returns String — eg: "iOS", "Android", "WinCE"
        var platform = $cordovaDevice.getPlatform();
        platform = platform.toLowerCase();
        if(platform == "iOS"){
            return true;
        }
        return false;
    }
})
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

瞭解更多想着插件的使用方法,請訪問官網,官網插件地址http://ngcordova.com/docs/plugins/

原網址:

http://blog.csdn.net/shenshucong520/article/details/48317065

https://www.cnblogs.com/Jeely/p/6685914.html


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章