为何使用 Cordova
Cordova 提供了与 APP 原平生台交互的功能,使基于网页的APP突破了不能使用设备平台完整功能的限制。android
如何寻找本身想要的插件
Cordova 社区
Cordova 社区提供上千个插件,支持各类设备平台的各种硬件特性。git
Github
做为最大的程序员同性交友网站,在这里也能够搜索到的不少插件。程序员
Ionic Native
Ionic 官方提供的插件地址,它与原生 Cordova 插件有所不一样,后面会讲到。github
选择时须要注意什么:apache
如何使用 Cordova 插件
因为 Cordova 插件没法使用 Angular 的依赖注入,因此只能经过访问全局变量和方法来调用,十分不方便代码管理。因此 Ionic 开发团队在 Cordova API 基础上封装了一系列开源 Cordova 插件,命名为 Ionic Native 的插件集。在咱们新建的 Ionic 项目中,打开 package.json 中就能够看到几个自带的 Ionic Native 插件。npm
接下来咱们就分别举例子讲解一下如何使用 Cordova 原生插件
和 Ionic Native
。json
这里举一个获取手机相册的例子,输入如下代码安装 imagepicker 插件数组
$ ionic cordova plugin add add cordova-plugin-telerik-imagepicker
以后在须要用到的页面,使用如下方法便可调用手机相册ionic
showAlbum() { this.platform.ready().then(() => { (<any>window).imagePicker.getPictures(photo => { console.log(photo[0]); }); });
简单分析一下代码:
1.首先咱们使用了 this.platform.ready 方法,这是由于咱们须要保证设备已经就绪,不然插件可能会调用失败。
2.从 (< any>window) 能够看出咱们必须使用全局变量来调用,选择图片后,会返回一个数组。
3.若是只选一张图片的话,直接取[0]便可。取出的数值就是手机的图片路径,能够直接设置 [src] 进行显示。网站
Ionic Native 与原生 Cordova 插件不一样,它的安装须要进行两步。以 ActionSheet 插件举例
$ ionic cordova plugin add cordova-plugin-actionsheet $ npm install --save @ionic-native/action-sheet
第一个步骤和以前安装插件彻底相同,第二步则是安装 Ionic 封装的代码。因此不须要的时候咱们也要输入两条指令才能完全删除。
$ ionic cordova plugin rm cordova-plugin-actionsheet $ npm uninstall --save @ionic-native/action-sheet
Ionic Native 的使用方法,官方文档写的已经很简单了,我简单举一个例子。
showActionSheet() { let buttonLabels = ['你好', '肯定']; const options: ActionSheetOptions = { title: '你好Ionic', buttonLabels: buttonLabels, addCancelButtonWithLabel: '取消', androidTheme: this.actionSheet.ANDROID_THEMES.THEME_HOLO_LIGHT, destructiveButtonLast: true }; this.actionSheet.show(options); }
寻找好用的插件十分有助于开发的工做,但并非全部插件均可以在全部平台使用,也不是全部方法均可以使用。在 Ionic Native 寻找插件时,首先要看支持的平台。
以后也不是全部方法均可以使用,可能做者也没在介绍的地方标出来。好比 Keyboard 这个插件,其中有一个方法 show()
,我在查看源码时发如今 iOS 中是不可用的。
因此在平常开发时,使用插件若是遇到问题了,不妨寻找 Android、iOS 开发协助查看源码,调查一下为何失败。