Cordova插件开发
来源:互联网 发布:interbase数据库说明书 编辑:程序博客网 时间:2024/05/17 22:22
今天主要了解了这么几个点,一个是有关MQTT的,当然,现在还是不知道那个mosquitto那边是怎样把数据返回的,只是了解了一下安卓这边的代码是什么意思,然后发现,如果想在cordova里面调用mqtt的类和方法的话,应该有两个方法,一是重写扩展WebView,二是插件开发呗,我怕改写WebView里面的方法,会对cordova有影响,也正好想学习一下cordova的插件开发,然后就一直在看教程,实验插件的用法,发现调试太恶心了,不过后来还是发现了一些提高调试速度的方法,那就是插件先不统一写在plugin里面,直接在包里面写,然后在config.xml里面用feature注册,然后,直接在www里用js调用,就可以了,编辑器此处本人使用的为eclipse安装有andorid和web开发环境,这样把项目导入进来之后,既可以改android部分的代码还可以改前端的代码,代码如下:
过程如下:
- 将工程导入到eclipse
- 有木有发现assets里的一个文件_where-is-www.txt,就是打开项止属性,改filter,删除之后,在assets里就有了www目录,网页代码就可以直接在这个里面进行修改了
- 配置assets目录下的cordova_plugins.js
- 然后在plugin下写javascript接口
- 在res/xml里配置config文件
- 在src里写java文件就可以了代码如下:
config.xml
<feature name="Push"> <param name="android-package" value="com.xyzh.plugin.Push" /></feature>
Push.java
public class Push extends CordovaPlugin{@Overridepublic boolean execute(String action, JSONArray args,CallbackContext callbackContext) throws JSONException {if(action.equals("push")) {callbackContext.success(args.getString(0) != "" ? args.getString(0) : "nothing to push");} else {callbackContext.error("call the non-method.");}return true;}}
Controller.js
angular.element(document).ready(function() { window.push = function(str, callback) { cordova.exec(callback, function(err) { callback(err); }, "Push", "push", [str]); }; window.push("Push-word", function(echoValue) { alert(echoValue); alert(echoValue == "echome"); });});
MQTT在cordova中直接调用service方法会报错,根据一步步追踪调试发现问题为:
Network on main thread 妹的,是老问题,主线程中调用了网络
0 0
- Cordova插件开发
- Cordova插件开发
- Cordova+ ios 插件开发
- Cordova插件开发
- 初识cordova插件开发
- cordova插件开发指南
- Cordova-Android 插件开发
- cordova插件开发
- cordova开发自定义插件
- cordova插件开发
- Cordova 开发自定义插件
- cordova开发自定义插件
- cordova开发自定义插件
- cordova开发自定义插件
- Cordova进阶:插件开发
- Cordova插件开发
- Cordova插件开发
- cordova插件开发详细
- FreeSWITCH爱好者的案头工具书-------《FreeSWITCH权威指南》书评
- java NIO socket 通信实例
- 【企业开源系列】全球著名互联网企业背后的开源力量
- eclipse 环境搭建记录(包括CDT,PDT)
- 数据结构与算法面试题80道
- Cordova插件开发
- 反射性能优化
- 聚合体Aggregate
- HDU--杭电--4502--吉哥系列故事——临时工计划--背包--01背包
- Android如何调用摄像头
- Boost.Python实现C++与Python互调用
- 数据结构的学习方法
- 【企业开源系列】Google背后的开源力量
- Netty In Action中文版 - 第三章:Netty核心概念