6. Cordova多平台运行
来源:互联网 发布:传智播客mysql百度云 编辑:程序博客网 时间:2024/05/19 15:25
前言
引入jQuery
下午折腾了半天,还以为Cordova的jQuery是通过插件的方式搞的,结果还重置了好几次,5点多突然发现,尼玛,完全可以下载到本地直接调的。
cordova build
会重置代码这也是个坑,根据官方文档,
cordova build
是构建工程的,cordova run
是运行工程的,而cordova run
可以直接合并前面两项的,但是有个问题,我在android中写好了代码,一旦通过命令行build或者run,尼玛,居然把老子的代码直接重置了???!!!研究再三,我发现了一个问题:我一直在android下写,而Cordova是全局运行的!
构建多平台插件
为何会重置
简单的说,就是我在AS中编写的是android项目,而运行命令是在root目录,但是root目录的www并没有被更新,所以新项目直接根据root目录的config.xml
进行更新,把root的www更新到platforms下的平台,于是我已经在AS上写好的代码就被置空了…
从上面的就能看出,多平台最终还是要在root中分配到各个平台运行的,那自己写的插件怎么搞呢?这里可看一下之前已经下载好的,然后根据他的模板自己改改。
结构介绍
文件 root 结构
这是一个file插件的结构,我们不写那么复杂的,官网上直说最重要的是plugin.xml,google出来的结果也都没有提到package.json,但是我这里提示需要一个有效的package.json,后来经过实践,是特么Cordova版本的问题,我用的7.0,但是官网并没有更新,所以没有参照,让一个朋友用5.4安装的是没问题的。
src目录
我也没打算支持那么多平台,就暂时先创建个android的
复制文件到对应的文件夹
- java源文件到android(OC文件到ios)
- js文件到www
- 修改js文件,只保留方法函数,不需要定义
- 创建配置文件
修改后的文件
//修改后的js文件var exec = require("cordova/exec");module.exports = { show: function(content){ exec( function(message){//成功回调function console.log(message); }, function(message){//失败回调function console.log(message); }, "MyToast",//feature name "show",//action [content]//要传递的参数,json格式 ); }, dialog: function(content){ exec( function(message){ console.log(message); }, function(message){ console.log(message); }, "MyToast", "dialog", [content] ); }}
编写plugin.xml文件
<?xml version="1.0" encoding="UTF-8"?><!-- this id is cordova_plugins.js's id --><plugin xmlns="http://apache.org/cordova/ns/plugins/1.0" id="cordova-plugin-dialog" version="0.0.1"> <name>ToastPlugin</name> <description>show toast and dialog</description> <!-- installed path : plugins/cordova-plugin-dialog/src --> <js-module name="ToastPlugin" src="www/ToastPlugin.js"> <!-- assets/cordova_plugins.js's clobbers --> <clobbers target="dialog"/> </js-module> <!-- add platform --> <platform name="android"> <config-file parent="/*" target="res/xml/config.xml"> <!-- the feature will be copied to the config.xml--> <feature name="MyToast"> <param name="android-package" value="com.jty.app.plugin.ToastPlugin"/> </feature> </config-file> <!-- src for the local file,target for the installed path --> <source-file src="src/android/ToastPlugin.java" target-dir="src/com/jty/app/plugin"/> </platform><!-- <platform name="ios"> this is ios platforms,if you need other platforms,refer to this format please! </platform> --></plugin>
应用插件
在此之前,最好别尝试clean,build,run之类的,随便一个就让代码全清空了!!!接下来就按照添加API插件一样添加到项目中即可
cordova plugins add <插件包路径>
再提醒一下,不要升级7.0
5.4版本
升级7.0后
好了,现在就可以正常使用了,修改好代码直接build也没问题了
项目地址
https://github.com/seeways/ToastPlugin
- 6. Cordova多平台运行
- cordova/phonegap 多平台开发
- cordova---cordova常见指令,创建工程,编译运行项目,添加删除平台、插件,模拟器
- cordova 跨平台初探
- cordova 安装、运行
- 跨平台框架Cordova概述
- cordova开发介绍(android平台)
- Cordova开发平台配置--Android
- Cordova跨平台开发入门
- cordova学习三 平台添加
- cordova开发介绍(android平台)
- cordova开发介绍(android平台)
- Cordova入门篇:(一) IDEA+Cordova运行第一个项目
- 基于cordova app应用中使用swiper(插件)操作DOM多平台表现不一致问题
- Android平台给cordova添加Admob广告
- Cordova/phoneGap的Android平台添加Admob
- Android平台下cordova的menubutton事件
- cordova跨平台项目创建的方法
- Gadeet serial v2.4 驱动
- 【Android学习】EditText、TextView左边/顶部图片
- linux上配置yum源指向本地iso文件
- Android--JSON解析技术
- Quorum
- 6. Cordova多平台运行
- sqoop 安装
- Spring Boot
- Java中的String 和char[] ,int和Integer
- “有权查看使用情况的应用”
- 这是我尝试发表的博文
- 如何消除margin-top对父元素的影响
- winows 快速打开软件
- 解决 Toast 的重复显示问题