1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > cordova调用java_Cordova入门系列(三)Cordova插件调用

cordova调用java_Cordova入门系列(三)Cordova插件调用

时间:2019-09-25 19:25:47

相关推荐

cordova调用java_Cordova入门系列(三)Cordova插件调用

版权声明:本文为博主原创文章,转载请注明出处

上一章我们介绍了cordova android项目是如何运行的,这一章我们介绍cordova的核心内容,插件的调用。演示一个例子,通过cordova插件,去调用摄像头。

一、插件的安装以及基本信息:

我们先在项目中安装调用摄像头的插件cordova-plugin-camera,cd到hello下,执行:

cordova plugin add cordova-plugin-camera

然后它会为我们的hello/plugins文件夹下添加cordova-plugin-camera插件(这个是整个这个插件模块,可用于安卓和ios。卸载插件用cordova plugin removecordova-plugin-camera);

同时也会在我们的platforms/android/platform_www/plugins下面添加对应的安卓的插件cordova-plugin-camera(这个是根据对应的平台生成的对应的插件内容,只可用于本安卓平台);

也会在我们的资源文件夹assets/www/plugins下添加cordova-plugin-camera插件(这个资源文件夹下的所有的文件,才是真正的app运行的时候调用的,加载的文件);

还会为我们的src下添加org.apache.cordova.camera包以及对应的java文件。

为什么要在项目中加这么多,这只是cordova的机制,我们不作重点研究。这三个目录是有不同的作用的,但我们只重点关注assets/www目录下。

除了上面这些,加完这个插件也会改变一些其他文件的内容,首先看res/xml/config.xml,最后多了一项配置信息:

feature · name:"js中间件通过它调用java方法"。

(中间件就是我们的插件对应的一些js文件。我们写的js程序通过这些插件(中间件)去调用Jjava原生内容)

param · name:"android-package" value:原生插件类的包类路径。

打开assets/www下cordova_plugins.js,发现其中也增加了很多内容:

cordova.define('cordova/plugin_list', function(require, exports, module) {

module.exports = [

{

"id": "cordova-plugin-camera.Camera",

"file": "plugins/cordova-plugin-camera/www/CameraConstants.js",

"pluginId": "cordova-plugin-camera",

"clobbers": [

"Camera"

]

},

{

"id": "cordova-plugin-camera.CameraPopoverOptions",

"file": "plugins/cordova-plugin-camera/www/CameraPopoverOptions.js",

"pluginId": "cordova-plugin-camera",

"clobbers": [

"CameraPopoverOptions"

]

},

{

"id": "cordova-plugin-camera.camera",

"file": "plugins/cordova-plugin-camera/www/Camera.js",

"pluginId": "cordova-plugin-camera",

"clobbers": [

"navigator.camera"

]

},

{

"id": "cordova-plugin-camera.CameraPopoverHandle",

"file": "plugins/cordova-plugin-camera/www/CameraPopoverHandle.js",

"pluginId": "cordova-plugin-camera",

"clobbers": [

"CameraPopoverHandle"

]

}

];

module.exports.metadata =

// TOP OF METADATA

{

"cordova-plugin-whitelist": "1.3.0",

"cordova-plugin-compat": "1.0.0",

"cordova-plugin-camera": "2.3.0"

};

// BOTTOM OF METADATA

});

id:插件中某个模块或具体功能的id

file:这个id对应的js文件(实现这个模块或功能的文件)

pluginId:插件的ID,通过这个ID可以进行插件的安装和卸载

clobbers:H5或js通过它去调用js中间件(插件)中定义的方法

二、在代码中如何调用摄像头插件

上面我们说的都是在执行了cordova plugin add cordova-plugin-camera,安装好插件之后所产生的内容以及插件的一些基本信息,配置信息。接下来我们说一下如何简单使用这个插件。

首先我们修改index.html(指的assets/www下的)

Hello World

拍照

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。