上文开发的插件没有调用原生界面,本文介绍开发带有activity的插件 本文很多操作与上文重复,重复部分会省略 首先打开plug1,先开发插件的原生代码 在以下命名空间创建一个activity 名称为Act1Activity 添加成功后,修改此文件 内容如下: package com.cesc.ewater.cordovaPlugin; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; impor…
cordova应用如果需要调用原生安卓接口,方法是使用cordova插件,cordova官方提供了主流原生功能的插件,但如果还不能满足需求,也可以自己开发cordova插件 以下介绍开发一个最简单的插件,功能是调用原生的toast弹出信息 首先先用as创建新工程,用于编写插件的代码 PS:开发cordova插件其中一个坑是没有一个好的编写代码环境,甚至插件的所有类文件都要手动添加到配置文件,这点后面会有体验 项目名叫plug1,包(package)名要倒着写 默认添加empry activity…
•What AppWidget 即桌面小部件,也叫桌面控件,就是能直接显示在Android系统桌面上的小程序: 这么说可能有点抽象,看图: 像这种,桌面上的天气.时钟.搜索框等等,都属于 APP Widget: 一些用户使用比较频繁的程序,可以做成AppWidget,这样能方便地使用. AppWidget 是Android 系统应用开发层面的一部分,有着特殊用途,使用得当的化,的确会为app 增色不少: 它的工作原理是把一个进程的控件嵌入到另外一个进程的窗口里的一种方法. 长按桌面空白处,会出现…
如果还没有配置过cordova环境,首先要下载nodejs,(下载地址https://nodejs.org/)下载完毕安装. 控制台: 1.输入npm -v 确定是否装上了 2.输入sudo npm install -g cordova安装cordova 3.等待几分钟,输入cordova -v查看是否安装成功 4.输入sudo npm install -g ionic 安装ionic 到这里cordova环境已经配置完毕.接下来我们来创建一个工程 控制台输入 ionic start testD…
在前一篇文章中我介绍了如何通过 js 与原生代码进行交互(Cordova - 与iOS原生代码交互1(通过JS调用Swift方法)),当时是直接对Cordova生成的iOS工程项目进行编辑操作的(添加Swift类和相关配置等). 原来我也说过,使用 Cordova 进行跨平台应用开发时,不建议直接对生成的各个平台项目进行编辑(除非目前只要开发单一平台版本).比如:html页面应该是编辑Cordova工程根目录下的 www 文件夹内容,再一次编译发布成多个平台项目. 同样的,如果需要实现与系统原生…
最近准备尝试hybird开发原生应用,因为公司的项目本来就是原生开发的,所以准备选择cordova作为webview嵌入原生项目的开发方式.这里就以mac上整合ios项目为例. 1. 创建cordova项目: 1)安装cordova: sudo npm install -g cordova 2)创建cordova项目: cordova create hello com.example.hello HelloWorld 这里hello是目标目录名,HelloWorld是项目名称,com.examp…
前言 Cordova虽然定义了很多基础的插件,供H5端使用原生设备的功能. 但是,如果业务相关的功能,需要提供给H5端使用,那么,就需要我们自定义插件了. 这个"自定义"不是指由Android端任意定义,一般需要各端(H5.原生)讨论来决定,如:插件的名称.action等. 模拟需求 插件信息: 插件名称:MyPlugin 插件id: com.test.MyPlugin 插件版本:1.0.0 action: aaa 插件交互方式:当h5调用时,原生toast弹出h5传入的数据,并返回响…
在前面的文章中介绍的了如何使用Cordova进行跨平台应用的开发,使用Cordova的话基本上就不需要在写系统原生代码了,只要通过编写html页面和js方法即可. 但在有些特殊情况下,还是是需要html页面能和系统原生代码(ios native code)进行交互.下面介绍如何实现 JS 与 Swift 代码间的相互通信. 假设我们已经建立了一个名叫 HelloWorld 的Cordova工程项目(不太清楚如何使用Cordova的可以参考我前面写的几篇文章:使用Cordova开发iOS应用实战1…
cordova插件是其设计理念的精髓部分,创建并使用自定义插件也是一件比较容易的事.但在这个过程中也容易进入一些误区或者有一些错误的理解,下面从笔者实际开发中遇到的问题出发,对其中的一些注意点和重要概念进行适当的阐述. 相关修改的文件: 1. iOS原生开发的插件类:其中需要包括参数为(CDVInvokedUrlCommand *)command的接口(供web侧调用):还可以在其中实现一些生命周期方法,比如pluginInitialize(类公用的方法),但需要对其做相应的配置(在配置文件中,…
混合APP开发中,前端开发H5页面,不免会把兼容性拉进来,在做页面的兼容性同事,会与原生app产生一些数据交互: 混合APP开发,安卓的兼容性倒是好说,安卓使用是chrome浏览器核心,已经很好兼容H5页面,而且运行机制也是能够同步运行:但ios上就没那么容易了:. 在此我就不说兼容安卓的问题,只把ios问题说说: 问题1:H5调用ios接口,ios需要初始化,js代码在ISO上只运行一次 解决: 本人使用是angular框架搭建的H5页面 var ua = navigator.userAgen…