Phonegap插件开发攻略

2024-04-20 20:08
文章标签 开发 插件 攻略 phonegap

本文主要是介绍Phonegap插件开发攻略,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Phonegap的目的是实现跨移动平台的UI开发,是现在比较有潜力的方向。熟悉html开发且有兴趣往安卓方向发展的朋友可以多了解一下。
1. 动手前的准备工作
  • 配置开发环境
  • 阅读相关资料http://docs.phonegap.com/en/3.4.0/guide_hybrid_plugins_index.md.html#Plugin%20Development%20Guide
2. 开发步骤

phonegap插件由三部分组成源文件(src),js接口(www),以及描述文件(plugin.xml)。

2.1 关于源文件

源文件应该继承于CordovaPlugin,并重写一个excute方法。

2.2 关于描述文件

描述文件范例如下:

<-plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"xmlns:rim="http://www.blackberry.com/ns/widgets"xmlns:android="http://schemas.android.com/apk/res/android"id="notification"version="1.0.0"><-name>Custom<-/name><-description>Custom Plugin<-/description><-license>Apache 2.0<-/license><-keywords>cordova,Custom<-/keywords><-js-module src="www/test.js" name="send"><-clobbers target="tpx" /><-/js-module><-platform name="android"><-config-file target="res/xml/config.xml" parent="/*"><-feature name="Custom" ><-param name="android-package" value="com.btt.plugin.test.Custom"/><-/feature><-/config-file><-source-file src="src/android/Custom.java" target-dir="src/plugin" /><-/platform>
<-/plugin>

其中比较重要的参数有id,js-module等,具体说明如下:

  • name:没有特殊含义。

  • id:该插件的标识,com.btt.plugin.custom.该名字可以随意取,没关系。(可以通过phonegap local plugin list命令查看)

  • js-module:指明js接口。name表示的是action的名字。clobbers是真正使用时的调用者。

  • platform:平台相关信息。feature name表示的是service name。value属性值必须为源文件入口(包名.类名 full_name_including_namespace)。

  • source-file:源文件路径。target-dir:目标文件路径,可自定义。若有多个源文件,应该写多行。

插件add以后,可以查看res/xml/config.xml文件的变化

        <-feature name=""><-param name="android-package" value="" />
2.3 关于js接口

插件的执行可直接通过cordova.exec(function(winParam) {},function(error) {},"Custom","send",params);语句执行的。也可通过js接口来执行:

var exec = require('cordova/exec');  
exports = {send: function(callback) {var params = [];params.push("android toast");params.push("博思");//真正调用的是cordova.exec(...);exec(callback, function(error){alert(error.code + ' ' + error.message);}, "Custom", "send", params);}
}; 
2.4 相关指令
  • 查看已成功安装的插件列表: phonegap local plugin list

  • 添加本地插件: phonegap local plugin add path(e.g D:\phonegap\plugins\com.btt.plugin.test)

  • 移除本地插件: phonegap local plugin remove id

3 其它相关
3.1 关于插件的实例化

插件在被js调用的时候才创建实例,一种情况下例外:

<-feature name="Echo"><-param name="android-package" value="" /><-param name="onload" value="true" />
3.1 关于线程

插件的执行接口并不是运行在WebView主线程中,而是运行在WebCore线程中,当需要与UI进行交互,可以通过一下手段:

	            cordova.getActivity().runOnUiThread(new Runnable() {public void run() {...callbackContext.success(); // Thread-safe.}});
或cordova.getThreadPool().execute(new Runnable() {public void run() {...callbackContext.success(); // Thread-safe.}});

苹果拒绝使用PhoneGap开发的iPhone软件

http://www.iteye.com/news/7670-why-reject-the-use-of-apple-39-s-iphone-software-development-phonegap
http://article.yeeyan.org/view/pestwave/41795?from=rss_related

转载请标明出处:http://blog.csdn.net/tpxwantpxwan/article/details/38844375

这篇关于Phonegap插件开发攻略的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/921204

相关文章

基于Python开发电脑定时关机工具

《基于Python开发电脑定时关机工具》这篇文章主要为大家详细介绍了如何基于Python开发一个电脑定时关机工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 简介2. 运行效果3. 相关源码1. 简介这个程序就像一个“忠实的管家”,帮你按时关掉电脑,而且全程不需要你多做

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

基于Qt开发一个简单的OFD阅读器

《基于Qt开发一个简单的OFD阅读器》这篇文章主要为大家详细介绍了如何使用Qt框架开发一个功能强大且性能优异的OFD阅读器,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 目录摘要引言一、OFD文件格式解析二、文档结构解析三、页面渲染四、用户交互五、性能优化六、示例代码七、未来发展方向八、结论摘要

在 VSCode 中配置 C++ 开发环境的详细教程

《在VSCode中配置C++开发环境的详细教程》本文详细介绍了如何在VisualStudioCode(VSCode)中配置C++开发环境,包括安装必要的工具、配置编译器、设置调试环境等步骤,通... 目录如何在 VSCode 中配置 C++ 开发环境:详细教程1. 什么是 VSCode?2. 安装 VSCo

IDEA常用插件之代码扫描SonarLint详解

《IDEA常用插件之代码扫描SonarLint详解》SonarLint是一款用于代码扫描的插件,可以帮助查找隐藏的bug,下载并安装插件后,右键点击项目并选择“Analyze”、“Analyzewit... 目录SonajavascriptrLint 查找隐藏的bug下载安装插件扫描代码查看结果总结Sona

C#图表开发之Chart详解

《C#图表开发之Chart详解》C#中的Chart控件用于开发图表功能,具有Series和ChartArea两个重要属性,Series属性是SeriesCollection类型,包含多个Series对... 目录OverviChina编程ewSeries类总结OverviewC#中,开发图表功能的控件是Char

鸿蒙开发搭建flutter适配的开发环境

《鸿蒙开发搭建flutter适配的开发环境》文章详细介绍了在Windows系统上如何创建和运行鸿蒙Flutter项目,包括使用flutterdoctor检测环境、创建项目、编译HAP包以及在真机上运... 目录环境搭建创建运行项目打包项目总结环境搭建1.安装 DevEco Studio NEXT IDE

Python开发围棋游戏的实例代码(实现全部功能)

《Python开发围棋游戏的实例代码(实现全部功能)》围棋是一种古老而复杂的策略棋类游戏,起源于中国,已有超过2500年的历史,本文介绍了如何用Python开发一个简单的围棋游戏,实例代码涵盖了游戏的... 目录1. 围棋游戏概述1.1 游戏规则1.2 游戏设计思路2. 环境准备3. 创建棋盘3.1 棋盘类

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template