




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 在HybridApp开发中,很多业务我们是没有办法通过HTML5+js实现的,比如调用第三方的包含Activity的jar包,一些必须使用原生代码才能实现的功能,比如复杂的UI的效果,调用通讯相关的协议栈,第三方支付sdk等。这种情况我们需要通过写cordova插件的方式,包装Android原生代码为插件,供上层JavaScript调用。本文讲解一个调用Activity并返回Activity结果的cordova插件例子,帮助大家掌握cordova plugin的开发 。 Cordova插件是通过cordova plugin add (插件包名需要在cor
2、dova plugins官方注册,或插件代码存放的Git地址)添加,通过cordova plugin rm 插件包名删除。一个插件主要文件包括插件配置文件plugin.xml,插件描述文件package.json,平台相关的资源和源码,可以包括图片,xml,Java源码,jar包,so静态库等。下面是我做的android图案锁屏cordova插件的目录结构。插件目录结构 可以看到这个插件支持iOS和android平台,包含源码和图片资源,还是挺复杂的。
3、;我们今天介绍的不会这么麻烦了,只是简单的调用Activity,先看config.xml配置文件config.xml代码html view plain copy 1. <?xml version="1.0" encoding="UTF-8"?> 2. 3. <plugin xmlns="/cordova/ns/plugins/1.0" 4.
4、60; id="com.qianmi.cordova.demoapp" 5. version="0.0.3"> 6. <name>DemoPlugin</name> 7. <description>Qianmi <span style="font-f
5、amily: Arial, Helvetica, sans-serif;">DemoPlugin </span><span style="font-family: Arial, Helvetica, sans-serif;"> Plugin</description></span> 8. <license>Apache 2.0<
6、;/license> 9. <keywords>Qianmi,<span style="font-family: Arial, Helvetica, sans-serif;">DemoPlugin</span><span style="font-family: Arial, Helvetica, sans-serif;"></keywords>
7、;</span> 10. 11. <js-module src="www/demo.js" name="demo"> 12. <clobbers target="cordova.plugins.demo" /> <!-js中调用的名字啊 -> &
8、#160;13. </js-module> 14. 15. 16. <!- android -> 17. <platform name="android"> 18. 19.
9、; <config-file target="res/xml/config.xml" parent="/*"> 20. <feature name="DemoApp"> 21. &
10、#160; <param name="android-package" value="com.qianmi.cordova.demoapp<span style="font-family: Arial, Helvetica, sans-serif;">" /></span> 22.
11、;23. </feature> 24. </config-file> 25. 26. <source-file src=
12、"src/android/DemoApp.java" target-dir="src/com/qianmi/cordova/demoapp /></span> 27. 28. </platform> 29. 30. </plugin> 插件www/js的代码javascript view plain copy 1.
13、 var argscheck = require('cordova/argscheck'), 2. utils = require('cordova/utils'), 3. exec = require('cordova/exec'); 4. 5. 6. var
14、;DemoApp = function () 7. ; 8. 9. 10. /ExitApp 11. <pre name="code" class="javascript">DemoApp<span style="font-family: Arial, Helvetica, sans-serif;">
15、;.exit = function () </span> console.log('-exit'); exec(null, null, "DemoApp", "demoAction", null, null, null);module.exports = DemoApp;插件java代码 重点的插件java代码(只是示例啊,不完整的)给Activity传值,接受返回结果,回传给js都在这里了javascript vie
16、w plain copy 1. public class LockPattern extends CordovaPlugin 2. private static final String TAG = "LockPattern" 3. 4. private static
17、60;final String NICK_NAME = "nickName" 5. private static final String MODE = "mode" 6. 7. public static final int REQUEST_CODE_S
18、ET_LOCK_PATTERN = 10001; 8. public static final int REQUEST_CODE_VERIFY_LOCK_PATTERN = 10002; 9. 10. 11. private CallbackContext
19、60;mCallbackContext; 12. 13. 14. Override 15. public boolean execute(String action, JSONArray args, 16.
20、 CallbackContext callbackContext) throws JSONException 17. Log.i(TAG, action + " " + args); 18. mCallbac
21、kContext = callbackContext; 19. 20. Intent intent = new
22、;Intent().setClass( 21. cordova.getActivity(), 22.
23、; LockPatternActivity.class); 23.
24、0; intent.putExtra(MODE, LockPatternActivity.MODE_STEP_1); 24. intent.putExtra(NICK_NAME, nick
25、Name); 25. this.cordova.startActivityForResult(this, intent, 26.
26、0; REQUEST_CODE_SET_LOCK_PATTERN); 27. 28. 2
27、9. return false; 30. 31. 32. Override 33. public void onActivityResult(int requestCode, int resultCode,&
28、#160;Intent data) 34. Log.i(TAG, "-onActivityResult:" + requestCode + " " + resultCode); 35. 36.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 食品添加剂安全性评估与合理使用在调味品行业的应用报告
- 小学教育信息化建设反思试题及答案
- 教育园区建设对2025年社会稳定风险评估与风险监测报告
- 机械装备制造业智能化升级与产品质量提升研究报告
- 教师教育教学改进表现的试题及答案
- 小学教师反思与校本培训的重要性试题及答案
- 山东石油化工学院《工程管理类软件应用含技术》2023-2024学年第一学期期末试卷
- 工业互联网平台安全升级之道:2025年漏洞扫描技术前瞻报告
- 曲阜远东职业技术学院《食品分析含实验》2023-2024学年第二学期期末试卷
- 市政公用工程法律法规试题及答案
- 设备维护工程师简历
- 2023版押品考试题库必考点含答案
- 挖孔桩基施工方案(水磨钻)
- 变电检修技能考试计算
- 国际经济法学(湘潭大学)智慧树知到答案章节测试2023年
- 以案说德发言四篇
- 大气污染控制工程课后题答案解析
- 临床试验伦理委员会伦理审查不同意见沟通的标准操作规程
- 梅毒诊疗指南(2023年)
- 高中物理3-3热学练习题(含答案)
- DB32-T 3916-2020建筑地基基础检测规程-(高清现行)
评论
0/150
提交评论