androidnative插件扩展机制

androidnative插件扩展机制

ID:11235303

大小:157.49 KB

页数:10页

时间:2018-07-10

androidnative插件扩展机制_第1页
androidnative插件扩展机制_第2页
androidnative插件扩展机制_第3页
androidnative插件扩展机制_第4页
androidnative插件扩展机制_第5页
资源描述:

《androidnative插件扩展机制》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、Appcan2.0Native插件扩展机制功能描述:Native插件机制,是指针对native开发者封装将具有特定功能但是平台没有封装的接口,封装成js调用Native功能,然后通过js扩展接口调用,以达到功能扩展的目的。2.0的扩展机制与1.2扩展机制有所差别,增加了资源文件的添加,动态获取,Activity回调,自定义View到当前window,接口参数可任意定制等等。代码上,主要体现在EUExBase.java的变化,接口函数的参数个数由0个或者多个改为了1个数据类型为String数组的参数,即所有的

2、扩展对象中的接口必须有且仅有一个参数(String[]),可在示例代码中查看到。AndroidSDKAppcannative插件SDK,由一个基础工程构成,主要包括引擎jar包,接口类,android工程资源文件夹res,插件配置xml,widget文件夹等等。详细描述:1.引擎jar包AppCanEngine_xxx.jar位于工程目录的libs目录下,是利用appcan平台扩展nativeplugin的基础。2.接口类主要包括以下3个:EUExBase.java:封装了JS调用native以及nativ

3、e回调JS的桥接函数的父类,任何扩展的对象均需要继承此类;EUExUtil.java:提供动态获取本应用资源id等功能的工具类。注意:Appcan中的所有资源文件,包括字符串资源等,都必须使用此工具类当中的相关函数动态获取其资源ID,而不能直接使用R文件引用!具体如何使用可在示例代码中看到。EUExCallback.java:与plugin的callback相关的一些常量。3.资源文件夹(res文件夹)此文件夹中(包括子目录)已经定义或者命名的任何资源文件,不允许有任何重命名,删除等操作,这些资源文件属于A

4、ppCan平台所使用,一旦平台找不到相关资源文件,将报错退出。1.Error文件夹(assets目录下的error文件夹)error文件夹下存放网页访问错误时候显示的界面,必须拷贝到资源下,如果想定制自己的可以替换文件夹下资源但是不能修改文件名称,有可能导致文件找不到,加载方式同图片资源2.plugin.xmlplugin.xml文件位于res目录下的xml目录中,是配置自定义nativePlugin调用对象的xml文件,如果需要自定义对象和开发natvieplugin,必须在此文件中配置自定义js对象名和

5、java类的包名类名。3.widget文件夹(assets目录下的widget文件夹)widget文件夹为网页包,默认有config.xml文件,基本数据已经默认填写,开发者只需修改部分参数即可,切勿删除config.xml文件,widget文件也必须加载到工程中;配置工程1.打开eclipse,将appcanandroid工程导入。如图:等待eclipse自动编译完后,检查是否报错;如未报错,直接运行即可。其中:UexTestObject.java为自定义plugin的测试实例。API接口平台接入类平台的

6、自带的生命周期函数进行了封装;JS调用Nativeplugin基础类------EUExBase.javaEUExBase对象成员描述:mBrwView:由构造函数传入的继承了Webview并封装了appcan平台接口的EBrowserView的对象实例;mContext:AppCan平台的上下文,AppCan主Activity的实例。EUExBase对象成员函数描述:-publicvoidjsCallback(StringinCallbackName,intinOpCode,intinDataType,S

7、tringinData)自定义对象完成一系列操作后回调网页js时的函数,其中:inCallbackName:网页中js函数的名称即所属js对象名称的集合。如:uexDemo.cbFunc1,即为uexDemo对象的func1函数被调用后,java回调js时的callback函数。inOpCode:网页中随机分配的不重复int类型的数值,主要用于区分一个js接口函数多次操作java中不同的对象。由网页调用native接口时传入。inDataType:本次回调网页js时,传给js的数据的数据类型,可参考EUEx

8、Callback对象下的静态值:F_C_TEXT,F_C_JSON,F_C_INT,F_C_STATUS。inData:回调给页面js的值。-publicvoidjsCallback(StringinCallbackName,intinOpCode,intinDataType,intinData)同上。当返回的数据类型为F_C_INT等数值型时,需走这个callback。-publicvoiderrorCallb

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。