ngCordova外掛(0)-ngCordova外掛的使用詳解_序
當我們在開發基於Cordova+AngularJS的這種HybridAPP時,當我們遇到了前端框架不能解決的一些問題時,比如呼叫相機,相簿,瀏覽器等這些操作時,使用外掛就是我們的解決方法。
ngCordova是Cordova和AngularJS的結合,將Cordova外掛封裝成了一個個AngularJS式的服務。
無論使用的是OnsenUI還是Ionic框架開發專案,只要是基於Cordova+AngularJS的,都可以使用ngCordova外掛
下面我介紹一下使用ngCordova外掛需要主要的事項
1.安裝:
1-1:獲取原始檔:用'bower'命令來安裝ngCordova或下載Zip壓縮包
$ bower install ngCordova
1-2:將ng-cordova.js或ng-cordova.min.js包含到工程的index.html中,需要注意的是,引入的位置一定要在cordova.js之前,在angular.js之後,因為三者的依賴關係是cordova.js依賴ng-cordova.js依賴angular.js,雖然引入了cordova.js,但是事實上並沒有這個檔案,但是這行程式碼卻必須引入。
示例:<script src="lib/ngCordova/dist/ng-cordova.js"></script> <script src="cordova.js"></script>
2.將ngCordova作為Angular依賴注入angular模組中:
angular.module('myApp', ['ngCordova'])
3.用Cordova命令列將外掛加入到專案中:
示例:cordova plugin add https://github.com/EddyVerbruggen/cordova-plugin-actionsheet.git
cordova plugin add為cordova加入外掛的命令,後面的網址是外掛的地址,每種外掛的地址可以檢視官網每個外掛的文件
Cordova常見問題:(很重要)
Cordova外掛並不總是能夠正確安裝,未知外掛問題或其他問題通常都是很難去除錯和理解的,以下幾點是提供大家解決外掛不可用問題的提示。
1.一定要在手機上測試或除錯
Cordova外掛通常都不會在瀏覽器上工作,因為每個外掛都進入到一個特定的API(相機,話筒等)。同時有些外掛也是不支援模擬器的(所以經常懶得打包,用Phonegap去測試的各位要注意了!),所以測試外掛時,打包好安裝包,放在手機上去測試是很必要的
2.將外掛包在"diviceready"事件中,
在使用外掛之前,你要確定你的手機是否有相關的裝置(相機,陀螺儀,溫度感應這些硬體裝置),如果外掛可用,使用叫做"diviceready"的原生cordova事件,使用如下:
示例:document.addEventListener("deviceready", function () { $cordovaPlugin.someFunction().then(success, error); }, false);
3.確保你在使用最新版本的Cordova命令列
$npm install -g cordova
4.重新整理ios.json/android.json檔案(在/plugin資料夾內)
$ cordova platform rm [ios/android] $ cordova platform add [ios/android]
5.更新工程到最新版本Cordova
以下命令將cordova.js和依賴Cordova的其他檔案更新到最新版本
$ cordova platform update [ios/android]
以上就是安裝,除錯ngCordova外掛的步驟
下面列舉ngCordova中都有哪些外掛,供大家參考
1.ActionSheet(動作列表)這個有些框架封裝了不需使用(如ionic)但有些框架也沒有這個元件(如OnsenUI)
連結:http://ngcordova.com/docs/plugins/actionSheet/
2.AdMob(廣告外掛)從JavaScript中將廣告加入到APP中
連結:http://ngcordova.com/docs/plugins/adMob/
3.APP是否安裝(AppAvailability)檢查手機中是否安裝了某個App
連結:http://ngcordova.com/docs/plugins/appAvailability/
4.AppRate(App評分外掛)讓使用者可以選擇是"現在"/"以後"/還是"從不"去對你的APP進行打分到應用商店
連結:http://ngcordova.com/docs/plugins/appRate/
5.AppVersion(獲取App版本的外掛)
連結:http://ngcordova.com/docs/plugins/appVersion/
6.Badge(修改App圖示上的訊息提示數量外掛)包括IOS/Android/WindowPhone
連結:http://ngcordova.com/docs/plugins/badge/
7.Background Geoloc(後臺定位外掛)
連結:http://ngcordova.com/docs/plugins/backgroundGeolocation/
8.Battery Status(電量檢測)
連結:http://ngcordova.com/docs/plugins/batteryStatus/
9.Barcode Scanner(條形碼/二維碼掃描外掛)開啟相機並自動掃描條形碼/二維碼(華勤專案中使用過)
連結:http://ngcordova.com/docs/plugins/barcodeScanner/
10.Calendar(日曆外掛)日曆外掛允許在手機預設日曆App上操作時間
連結:http://ngcordova.com/docs/plugins/calendar/
11.Camera(相機外掛)開啟手機相機來拍照或錄影的外掛(多個專案使用過)
連結:http://ngcordova.com/docs/plugins/camera/
12.Capture(捕獲外掛)呼叫手機硬體來錄音頻,視訊,或照片的外掛
連結:http://ngcordova.com/docs/plugins/capture/
13.Clipboard(剪貼簿外掛)
連結:http://ngcordova.com/docs/plugins/clipboard/
14.Contacts(聯絡人外掛)可以建立,移除,查詢手機上聯絡人的外掛
連結:http://ngcordova.com/docs/plugins/contacts/
15.DatePicker(日期選擇器外掛)用來選擇日期的外掛
連結:http://ngcordova.com/docs/plugins/datePicker/
16.Device(裝置資訊捕獲外掛)抓取裝置相關資訊,例如系統平臺,裝置型號
連結:http://ngcordova.com/docs/plugins/device/
17.DeviceMotion(裝置加速器外掛)通過手機的加速器,檢測手機根據當前方位做出的運動改變
連結:http://ngcordova.com/docs/plugins/deviceMotion/
18.DeviceOrientation(手機方位外掛)通過手機的羅盤,檢測到手機指向的方向,從0度到359.9度
連結:http://ngcordova.com/docs/plugins/deviceOrientation/
19.Dialogs(對話方塊外掛)出發提示框或發出嘀嘀嘀的聲音
連結:http://ngcordova.com/docs/plugins/dialogs/
20.EmailComposer(Email外掛)通過標準介面可以編輯或傳送Email郵件的外掛
連結:http://ngcordova.com/docs/plugins/emailComposer/
21.Facebook(Facebook連線外掛)獲取進入FacebookAPP的許可權,外掛需要預安裝
連結:http://ngcordova.com/docs/plugins/facebook/
22.File(進入手機儲存中檔案/資料夾的外掛)
連結:http://ngcordova.com/docs/plugins/file/
23.FileTransfer(檔案傳輸外掛)用來上傳和下載檔案的外掛
連結:http://ngcordova.com/docs/plugins/fileTransfer/
24.FileOpener(檔案啟動器)用手機系統以檔案預設使用的APP開啟一個檔案
連結:http://ngcordova.com/docs/plugins/fileOpener2/
25.Flashlight(手電筒外掛)開啟手機相機的閃光燈作為手電筒的外掛
連結:http://ngcordova.com/docs/plugins/flashlight/
26.Geolocation(獲取當前使用者的位置或持續的位置變化的外掛)
連結:http://ngcordova.com/docs/plugins/geolocation/
27.Globalization(獲取使用者當前場所或時區的外掛)
連結:http://ngcordova.com/docs/plugins/globalization/
28.GoogleAnalytics(連線谷歌Universal Analytics SDK 3.0(谷歌的一套分析工具)的外掛)
連結:http://ngcordova.com/docs/plugins/googleAnalytics/
29.HealthKit(可以進入IOS手機中的HealthKit的外掛)僅限IOS系統
連結:http://ngcordova.com/docs/plugins/healthkit/
30.iBeacon(通過藍芽以及唯一的標示碼來檢測相匹配的app或手機系統,標識碼可以用來顯示手機的具體位置或執行基於位置的操作)
連結:http://ngcordova.com/docs/plugins/beacon/
31.ImagePicker(圖片選擇器外掛)
連結:http://ngcordova.com/docs/plugins/imagePicker/
32.InAppBrowser(在APP中介面開啟網頁的外掛)
連結:http://ngcordova.com/docs/plugins/inAppBrowser/
33.Instagram(開啟InstagramAPP中圖片的外掛)
連結:http://ngcordova.com/docs/plugins/instagram/
34.Keyboard(用Cordova進入IOS系統鍵盤的外掛)僅限IOS系統
連結:http://ngcordova.com/docs/plugins/keyboard/
35.Keychain(用Cordova進去IOS手機Keychain的外掛(Keychain是IOS用來儲存密碼證書一類的東西))僅限IOS系統
連結:http://ngcordova.com/docs/plugins/keychain/
36.Launch Navigator(進入手機導航工具的外掛)從起始地到終點
連結:http://ngcordova.com/docs/plugins/launchNavigator/
37.LocalNotification(本地提示外掛)當某個程式沒有執行卻又收到的通知時,這個外掛就起作用了
連結:http://ngcordova.com/docs/plugins/localNotification/
38.Meida(在手機上記錄和回播音訊檔案的外掛)
連結:http://ngcordova.com/docs/plugins/media/
39.NativeAudio(Cordova3.5以上針對HTML5遊戲和音訊APP類的處理外掛)
連結:http://ngcordova.com/docs/plugins/nativeAudio/
40.Network(檢測手機網路連線狀況的外掛,wifi/手機網路)
連結:http://ngcordova.com/docs/plugins/network/
41. OAuth(當APP和多個平臺做關聯時,用來管理瀏覽器流程的外掛)
連結:http://ngcordova.com/docs/plugins/oauth/
42.Pin Dialog(數字密碼對話方塊外掛)
連結:http://ngcordova.com/docs/plugins/pinDialog/
43.Preference(獲得手機APP偏好設定的外掛)
連結:http://ngcordova.com/docs/plugins/preferences/
44.Printer(連結印表機的外掛)
連結:http://ngcordova.com/docs/plugins/printer/
45.ProgressIndicator(多種供使用者選擇進度條來下載或載入時使用的外掛)
連結:http://ngcordova.com/docs/plugins/progressIndicator/
46.Push Notifications(允許你的程式接收推送訊息的外掛)
連結:http://ngcordova.com/docs/plugins/pushNotifications/
47.SMS(呼叫IOS或Android預設傳送簡訊APP的外掛)
連結:http://ngcordova.com/docs/plugins/sms/
48.Social Sharing(呼叫Facebook,Twitter等社交APP分享的外掛)
連結:http://ngcordova.com/docs/plugins/socialSharing/
49.SpinnerDialog(帶有下拉框的對話方塊的外掛)
連結:http://ngcordova.com/docs/plugins/spinnerDialog/
50.SplashScreen(顯示或隱藏SplashScreen的外掛)
連結:http://ngcordova.com/docs/plugins/splashscreen/
51.SQLite(用Cordova本地呼叫SQLite的外掛)
連結:http://ngcordova.com/docs/plugins/sqlite/
52.StatusBar(設定狀態列顏色和樣式的外掛)
連結:http://ngcordova.com/docs/plugins/statusbar/
53.Toast(在手機上顯示本地提示框的外掛)
連結:http://ngcordova.com/docs/plugins/toast/
54.TouchID(允許在APP中使用IOS系統TouchID的外掛)僅限IOS系統
連結:http://ngcordova.com/docs/plugins/touchID/
55.Vibration(讓手機震動的外掛)
連結:http://ngcordova.com/docs/plugins/vibration/
56.ZIP(解壓zip格式的壓縮包)
連結:http://ngcordova.com/docs/plugins/zip/