还是需要开发出自己的插件的...

我的cordova  version is 4.0.0

1.需要新建一个文件夹为 myplugin

1.1在myplugin文件夹下 新建 plugin.xml文件  www文件夹  src文件夹

1.2 在src文件夹下 新建 Android iOS 文件夹等

如图

254a8697abb77af59159df8708a96d53.png

2. 在Android文件夹下console.java 文件

package cn.debi.cordova;

import org.apache.cordova.CordovaWebView;

import org.apache.cordova.CallbackContext;

import org.apache.cordova.CordovaPlugin;

import org.apache.cordova.CordovaInterface;

import org.json.JSONArray;

import org.json.JSONException;

import org.json.JSONObject;

import android.util.Log;

public class Console extends CordovaPlugin {

public boolean execute(String action, JSONArray args, CallbackContext callbackContext)

throws JSONException {

String databack=args.getString();

final String ACTIVITY_TAG="MyAndroid"; if (action.equals("Consolelog")) {

Log.i(ACTIVITY_TAG,databack);

callbackContext.success(databack);

return true;

}

return false;

}

}

3.在www文件夹下新建 console.js文件

var exec = require('cordova/exec');

exports.setConsole = function(messege,success, error) {

exec(success, error, "Console", "Consolelog", [messege]); //console 为java的类名,consolelog 为action 的字符串

};

4. 在plugin.xml

xmlns="http://apache.org/cordova/ns/plugins/1.0"

xmlns:android="http://schemas.android.com/apk/res/android">

Console

Description

其中

 中的id 可以随便写 ,它是插件的标识符  ;version 可以随便写

description:描述信息 随便写了

js-module:对应我们的 javascript 文件,src 属性指向 www/console.js   name 在我们调用js的时候用到 (如:

var extraInfo = cordova.require('cn.debi.cordova.Console');

),我们也可以用  里面的target 的字符串则是 module.exports 导出来的函数赋值 该字符串;这样就简单了许多 如

cordova.plugins.Console.setConsole()

platform:支持的平台,这里仅仅用到了 android

中的cn.debi.cordova 是console.java 的package 包名(也是路径)

Console是类名;

target-dir 是copy到你的project的路径

6. 使用插件的方法 即调用插件

var extraInfo = cordova.require('cn.debi.cordova.Console'); //require 的字符串为 plugin.xml文件中的ID + js-module 里面的name

extraInfo.setConsole('cole.log',function(message) {

alert(message);

}, function(message) {

alert(message);

});

// 第二种方法

//cordova.plugins.Console.setConsole('cole.log',function(message) { //注意到这里的cordova.plugins.Console 就是plugin.xml文件中的js-module 的 里面的target 的字符串

// alert(message);

// }, function(message) {

// alert(message);

// });

这里的cordova.require('cn.debi.cordova.Console')里面的 cn.debi.cordova 就是plugin.xml 中的id ;Console 则是js-module 里面的name

即调用console.js 导出里面的方法

~  而 extraInfo.setConsole()就是调用导出的方法

7. 忘了要添加插件  了  O(∩_∩)O~~

cordova plugin add myplugin #目录名称,也可以是 git 的地址

cordova plugin add /your/plugin/address/myplugin

Cordova开发App入门之创建android项目

Apache Cordova是一个开源的移动开发框架.允许使用标准的web技术-HTML5,CSS3和JavaScript做跨平台开发. 应用在每个平台的具体执行被封装了起来,并依靠符合标准的API绑 ...

cordova开发插件,并在android studio中开发、调试

之前用过cordova Lib包装H5页面,自己写插件,但做法是野路子,不符合cordova插件的开发思路,这次项目又需要包装H5页面,同时需要自定义插件.所以又折腾了一次cordova自定义插件. ...

Cordova webapp实战开发:(4)Android环境搭建

在中我们说了一下后续大致包括的内容,今天我们继续.上周我在掌中广材集成了友盟的社交分享,今天想集成iOS应该很顺利的,但 ...

Cordova开发总结(插件篇)

最近刚刚做完一个用Cordova开发了一款电子商务的应用.在选用Cordova前,我有考察过,国内的Appcan, Apicloud等等的解决方案.其实Appcan,ApiCloud的混合方案挺完整的 ...

[Android教程] Cordova开发App入门(一)创建android项目

前言 Apache Cordova是一个开源的移动开发框架.允许使用标准的web技术-HTML5,CSS3和JavaScript做跨平台开发. 应用在每个平台的具体执行被封装了起来,并依靠符合标准的A ...

cordova开发自己定义插件

以下是自己定义cordova插件的基本入门.做插件的小白可以參考一下哈,兴许会更新插件的进阶博客,希望大家可以共同学习共同进步 1.环境搭建 cordova插件开发前须要安装一些软件和配置环境 1.1 ...

Cordova - 使用Cordova开发iOS应用实战3(添加Cordova控制台插件)

Cordova - 使用Cordova开发iOS应用实战3(添加Cordova控制台插件) 前文介绍了通过 Safari 的 Web检查器,可以看到控制台输出的信息.但有时这样调试代码不太方便,如果在 ...

使用 Android Studio 开发 widget 安卓桌面插件

•What AppWidget 即桌面小部件,也叫桌面控件,就是能直接显示在Android系统桌面上的小程序: 这么说可能有点抽象,看图: 像这种,桌面上的天气.时钟.搜索框等等,都属于 APP Wi ...

搭建 AngularJS+Ionic+Cordova 开发环境并运行一个demo

目前的手机APP有三类:原生APP,WebAPP,HybridApp:HybridApp结合了前两类APP各自的优点,越来越流行. Cordova就是一个中间件,让我们把WebAPP打包成Hybrid ...

随机推荐

CSS盒子模型的一些理解

盒子模型相当于把现实中的盒子形象化. 盒子模型的大小="内容(content)+内填充(padding)+边框(border)+外边距(margin)" 盒子模型方向为:top, ...

基于DIV+ul+li实现的表格(多示例)

一个无序列表biaoge,前四个列表项我们赋予了类biaotou.因为这四个项是表格头部,应该与表格数据有所区别.所以单独赋予了类,可以方便控制.下面我们开始CSS代码的编写:由 www.169it. ...

IOS UI 笔记整理回顾

注意手势会冒泡上抛,一个view没有实现的手势,如果父类view有实现,父视图就处理,如果不想让父视图处理,就把本视图添加到底层window上 setMasksToBounds:YES imageVi ...

iOS MBProgressHUD 之带底板的加载提示

文章来自:http://blog.csdn.net/ryantang03/article/details/7877120 MBProgressHUD是一个开源项目,实现了很多种样式的提示框,使用上简单 ...

[读书笔记]python3.5实现socket通讯(TCP)

TCP连接: tcp是面向连接的一个协议,意味着,客户端和服务器开发发送数据之前,需要先握手创建一个TCP连接.TCP连接的一端与客户端套接字相互联系,另一端与服务器套接字相联系.当创建该TCP连接的 ...

webpack中实现按需加载

webpack中的require.ensure()可以实现按需加载资源包括js,css等,它会给里面require的文件单独打包,不和主文件打包在一起,webpack会自动配置名字,如0.js,1.j ...

FusionWidgets DrawingPad图

1.数据源 DrawingPad.xml: <?xml version="1.0" encoding="UTF-8"?>

ABP项目依赖图,根据自已生在的Demo项目分析而得

根据自已生在的Demo项目分析而得 在线学习代码库:https://github.com/AtwindYu/ABPStudy

Git&lpar;1&rpar;:版本库&plus;工作区&plus;暂存区

参考博客:https://blog.csdn.net/qq_27825451/article/details/69396866

MySQL必知必会第十一章-

使用数据处理函数 大多数SQL支持以下类型的函数: 1> 文本函数:用于处理文本串(删除或填充值,转换值为大写或小写) 2> 数值函数:用于在数值数据上进行算术操作(返回绝对值,进行代数运 ...

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐