热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

cordovaandroid插件开发,cordova开发属于自己的插件android

还是需要开发出自己的插件的我的cordovaversionis4.0.01.需要新建一个文件夹为myplugin1.1在myplugin文件夹下新建plugin.xml文件w


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


我的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:


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


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


Git(1):版本库+工作区+暂存区


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


MySQL必知必会第十一章-


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




推荐阅读
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • Java太阳系小游戏分析和源码详解
    本文介绍了一个基于Java的太阳系小游戏的分析和源码详解。通过对面向对象的知识的学习和实践,作者实现了太阳系各行星绕太阳转的效果。文章详细介绍了游戏的设计思路和源码结构,包括工具类、常量、图片加载、面板等。通过这个小游戏的制作,读者可以巩固和应用所学的知识,如类的继承、方法的重载与重写、多态和封装等。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
author-avatar
俊谚怡雯綺修
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有