CN103995694A - 一种具备电信能力的移动客户端浏览器控件及其调用方法 - Google Patents
一种具备电信能力的移动客户端浏览器控件及其调用方法 Download PDFInfo
- Publication number
- CN103995694A CN103995694A CN201410123895.8A CN201410123895A CN103995694A CN 103995694 A CN103995694 A CN 103995694A CN 201410123895 A CN201410123895 A CN 201410123895A CN 103995694 A CN103995694 A CN 103995694A
- Authority
- CN
- China
- Prior art keywords
- interface
- call
- mobile client
- client browser
- browser control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明涉及一种具备电信能力的移动客户端浏览器控件及其调用方法,该控件包括第一封装文件和第二封装文件,第一封装文件针对android的Webview、WebviewClient、ChromeClient控件进行二次开发,使其具备电信的云存储、资费查询等能力,生成TelecomWebview、TelecomWebviewClient、TelecomChromeClient三个封装类;第二封装文件是对能力接口调用方法的封装,以提供给Web页面js代码调用。该控件及其调用方法降低了开发者的开发难度。
Description
技术领域
本发明涉及移动互联网通信技术领域,特别是基于对android客户端webview控件二次开发实现的一种具备电信能力的移动客户端浏览器控件及其调用方法。
背景技术
在现有技术中,采用native app开发方式,即在开发者客户端开发接口调用逻辑代码,通过java sdk提供的java.net.HttpURLConnection类调用网盘提供的相关API,使用网盘的数据存储能力;通过android sdk提供的Context.getContentResolver()方法操作本地联系人数据库,完成联系人的备份/恢复。以备份逻辑为例,备份功能需要在接口调用方面实现以下流程:1、调用网盘的登录接口https://Server:Port/tellin/login.do,获取登录令牌;2、调用android sdk提供的Context.getContentResolver().query()读取本地联系人数据库的数据,打包生成文件;3、调用https://ServerIP:Port/tellin/UploadTaskInfoDTO上传文件信息,获取网盘分配的该文件的上传资源ID;4、带入分配的上传资源ID调用资源上传接口最终完成文件上传。现有技术存在如下的缺点:1、该方案在使用电信接口和本地数据库调用等方面的交互步骤繁琐,开发人员的开发和调试接口成本高;2、接口调用方式和逻辑都开放给开发人员,容易由于开发人员疏忽或者经验不足等原因给接口造成安全或者负载方面的风险。
发明内容
本发明的目的在于提供一种具备电信能力的移动客户端浏览器控件及其调用方法,该控件及其调用方法降低了开发者的开发难度。
为实现上述目的,本发明采用的技术方案是:一种具备电信能力的移动客户端浏览器控件,包括:
第一封装文件telecomWeb.jar,所述第一封装文件telecomWeb.jar针对android原生的Webview、WebviewClient、ChromeClient三个控件进行二次开发,在继承其基本功能的基础上,使其具备电信的云存储、资费查询等能力,最终生成TelecomWebview、TelecomWebviewClient、TelecomChromeClient三个封装类,以提供给开发者使用;
第二封装文件telecomAbility.js,所述第二封装文件telecomAbility.js是对能力接口调用方法的封装,以提供给Web页面js代码调用。
进一步的,所述TelecomWebview封装类主要是对Webview做了扩展和封装,用于处理Web页面的加载解析、超时控制、其他组件初始化等事务。
进一步的,所述TelecomWebviewClient封装类用于处理各种通知、请求事件,还用于初始化和释放CallbackServer和PluginManager两个对象,所述CallbackServer对象用于Web页面交互,所述PluginManager对象用于实现客户端的操作请求逻辑。
进一步的,所述TelecomChromeClient封装类用于接收来自客户端的js调用请求,并调用PluginManager对象和CallbackServer对象进行业务逻辑处理,并返回Web页面结果。
本发明还提供了一种所述具备电信能力的移动客户端浏览器控件的调用方法,所述第一封装文件telecomWeb.jar的调用方法如下:
步骤1:客户端初始化TelecomWebView,加载Web页面;
步骤2:在实例化TelecomWebView时,初始化PluginManager,管理能力接口逻辑;
步骤3:在初始化TelecomWebViewClient时,在onPageStarted时启动CallbackServer,用于给客户端返回执行结果;
步骤4:在触发Web上的js接口调用脚本时,TelecomChromeClient的onJsPrompt方法截获Web端的JavaScript消息,并调用PluginManager的exce方法执行接口逻辑;
步骤5:接口逻辑执行成功后调用CallbackServer的sendJavaScript方法给Web端返回回调js代码;
所述第二封装文件telecomAbility.js的调用方法如下:对于简单的能力接口,即处理时间少于设定值的能力结构,采用同步处理方式,对于处理时间大于设定值的能力接口,采用异步处理方式。
本发明的有益效果是:
1、将繁琐的电信能力调用嵌入常用的android客户端浏览器控件中,使其具备电信能力,并统一和简化了调用方式,让软件开发者专注于业务逻辑的开发,而不用花费大量精力进行接口开发和联调,降低了开发者的开发难度和工作量。
2、电信能力接口调用逻辑基本对开发者透明,完全基于软件所运行的手机的基本信息(例如云存储能力中,通过sim卡的序列号进行身份认证),提高了电信能力接口的安全性。
附图说明
图1是本发明移动客户端浏览器控件的调用方法的实现流程图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步说明。
本发明具备电信能力的移动客户端浏览器控件,包括:
第一封装文件telecomWeb.jar,所述第一封装文件telecomWeb.jar主要是针对android原生的Webview、WebviewClient、ChromeClient三个控件进行二次开发,在继承其基本功能的基础上,使其具备电信的云存储、资费查询等能力,最终生成TelecomWebview、TelecomWebviewClient、TelecomChromeClient三个封装类,以提供给开发者使用;
第二封装文件telecomAbility.js,所述第二封装文件telecomAbility.js是对能力接口调用方法的封装,以提供给Web页面js代码调用。
所述TelecomWebview封装类主要是对Webview做了扩展和封装,用于处理Web页面的加载解析、超时控制、其他组件初始化等事务。
所述TelecomWebviewClient封装类用于处理各种通知、请求事件,还用于初始化和释放CallbackServer和PluginManager两个对象,所述CallbackServer对象用于Web页面交互,所述PluginManager对象用于实现客户端的操作请求逻辑。
所述TelecomChromeClient封装类用于接收来自客户端的js调用请求,并调用PluginManager对象和CallbackServer对象进行业务逻辑处理,并返回Web页面结果。
本发明还提供了上述具备电信能力的移动客户端浏览器控件的调用方法,本发明采用html+native的客户端开发方式,代替原先旧有的纯native的开发方式,用户只要使用传统的web开发模式实现业务逻辑,然后通过客户端的TelecomWebView加载页面。如图1所示,所述第一封装文件telecomWeb.jar的调用方法如下:
步骤1:客户端初始化TelecomWebView,加载Web页面;
步骤2:在实例化TelecomWebView时,初始化PluginManager,管理能力接口逻辑;
步骤3:在初始化TelecomWebViewClient时,在onPageStarted时启动CallbackServer,用于给客户端返回执行结果;
步骤4:在触发Web上的js接口调用脚本时,TelecomChromeClient的onJsPrompt方法截获Web端的JavaScript消息,并调用PluginManager的exce方法执行接口逻辑;
步骤5:接口逻辑执行成功后调用CallbackServer的sendJavaScript方法给Web端返回回调js代码;
根据使用情况不同,本方案提供两种能力接口调用方法:同步处理和异步处理。所述第二封装文件telecomAbility.js的调用方法如下:对于简单的能力接口,即处理时间少于设定值的能力结构,例如查询资费接口,接口处理时间较短,采用同步处理方式,对于如云存储这种处理时间大于设定值的能力接口,采用异步处理方式。
同步和异步处理方式的不同主要体现在:Web在调用js能力接口同步处理的时候,在prompt方法执行完后,直接获得执行结果;而在使用异步处理方式的时候,调用js接口时CallbackServer会保存返回执行的js代码在一个队列中,并暂时先返回一个空结果给页面,同时保持住socket连接,待接口执行完毕则从队列中取出执行代码,利用socket 作 response 返回给前端。
本发明实现的基本原理如下:
Android 的 webview 是基于 webkit 内核的,webview 中集成了js与java互调的接口函数,通过addJavascriptInterface方法,可以将Java的类注册进webkit,给网页上的js调用,而且还可以通过loadUrl方法给webkit传递一个uri,供浏览器解析,实现Java和js交互。
控件控制模块
其通过重写Android 的 webview实现了一个自定义的TelecomWebView控件,并通过与telecomAbility.js的配合,使外部Web App可以同时调用标准的Android API以及本控件所暴露出来的特有电信能力API;CallbackServer则服务于TelecomWebView,以实现在外部调用时同步或是异步调用的控制。
控件插件模块
插件模块则通过PluginManager接口实现了具体电信能力与调用方的解耦,其内部每个能力模块可以通过实现PluginManager的exec方法方式来实现各个能力;该模块并不直接暴露给最终的Web App使用,避免各个Web App和具体能力调用间的耦合,同时简化了具体电信能力的调用复杂程度。
以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。
Claims (5)
1.一种具备电信能力的移动客户端浏览器控件,其特征在于,包括:
第一封装文件telecomWeb.jar,所述第一封装文件telecomWeb.jar针对android原生的Webview、WebviewClient、ChromeClient三个控件进行二次开发,在继承其基本功能的基础上,使其具备电信的云存储、资费查询等能力,最终生成TelecomWebview、TelecomWebviewClient、TelecomChromeClient三个封装类,以提供给开发者使用;
第二封装文件telecomAbility.js,所述第二封装文件telecomAbility.js是对能力接口调用方法的封装,以提供给Web页面js代码调用。
2.根据权利要求1所述的一种具备电信能力的移动客户端浏览器控件,其特征在于,所述TelecomWebview封装类主要是对Webview做了扩展和封装,用于处理Web页面的加载解析、超时控制、其他组件初始化等事务。
3.根据权利要求1所述的一种具备电信能力的移动客户端浏览器控件,其特征在于,所述TelecomWebviewClient封装类用于处理各种通知、请求事件,还用于初始化和释放CallbackServer和PluginManager两个对象,所述CallbackServer对象用于Web页面交互,所述PluginManager对象用于实现客户端的操作请求逻辑。
4.根据权利要求1所述的一种具备电信能力的移动客户端浏览器控件,其特征在于,所述TelecomChromeClient封装类用于接收来自客户端的js调用请求,并调用PluginManager对象和CallbackServer对象进行业务逻辑处理,并返回Web页面结果。
5.一种如权利要求1所述具备电信能力的移动客户端浏览器控件的调用方法,其特征在于,所述第一封装文件telecomWeb.jar的调用方法如下:
步骤1:客户端初始化TelecomWebView,加载Web页面;
步骤2:在实例化TelecomWebView时,初始化PluginManager,管理能力接口逻辑;
步骤3:在初始化TelecomWebViewClient时,在onPageStarted时启动CallbackServer,用于给客户端返回执行结果;
步骤4:在触发Web上的js接口调用脚本时,TelecomChromeClient的onJsPrompt方法截获Web端的JavaScript消息,并调用PluginManager的exce方法执行接口逻辑;
步骤5:接口逻辑执行成功后调用CallbackServer的sendJavaScript方法给Web端返回回调js代码;
所述第二封装文件telecomAbility.js的调用方法如下:对于简单的能力接口,即处理时间少于设定值的能力结构,采用同步处理方式,对于处理时间大于设定值的能力接口,采用异步处理方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410123895.8A CN103995694A (zh) | 2014-03-31 | 2014-03-31 | 一种具备电信能力的移动客户端浏览器控件及其调用方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410123895.8A CN103995694A (zh) | 2014-03-31 | 2014-03-31 | 一种具备电信能力的移动客户端浏览器控件及其调用方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103995694A true CN103995694A (zh) | 2014-08-20 |
Family
ID=51309872
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410123895.8A Pending CN103995694A (zh) | 2014-03-31 | 2014-03-31 | 一种具备电信能力的移动客户端浏览器控件及其调用方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103995694A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461537A (zh) * | 2014-12-08 | 2015-03-25 | 浙江网新恩普软件有限公司 | 一种基于浏览器内核的多业务集成系统 |
CN105468369A (zh) * | 2015-11-19 | 2016-04-06 | 深圳联友科技有限公司 | 移动平台上JavaScript调用原生功能的方法以及系统 |
CN105739967A (zh) * | 2016-01-19 | 2016-07-06 | 四川长虹电器股份有限公司 | 移动应用中js异步调用native的方法 |
CN106357762A (zh) * | 2016-09-14 | 2017-01-25 | 百度在线网络技术(北京)有限公司 | 一种用户请求处理方法和装置 |
CN107203373A (zh) * | 2016-03-18 | 2017-09-26 | 阿里巴巴集团控股有限公司 | 界面控件的获取方法、测试方法及获取装置、测试装置 |
CN107277116A (zh) * | 2017-05-27 | 2017-10-20 | 北京思特奇信息技术股份有限公司 | 一种可配置的客户端引擎及利用其调用服务的方法 |
CN107547944A (zh) * | 2016-06-27 | 2018-01-05 | 中兴通讯股份有限公司 | 接口实现方法及装置、机顶盒 |
CN107729452A (zh) * | 2017-10-09 | 2018-02-23 | 武汉斗鱼网络科技有限公司 | 网页加载方法、装置、电子设备及计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2588164A1 (en) * | 2006-05-09 | 2007-11-09 | Westlake Software, Inc. | System and method for dynamic form management for mobile devices |
CN102799477A (zh) * | 2012-07-16 | 2012-11-28 | 中兴通讯股份有限公司 | 资源访问方法及装置 |
CN102955694A (zh) * | 2011-08-31 | 2013-03-06 | 中国电信股份有限公司 | 基于WebKit 浏览器的客户端实现方法以及客户端 |
-
2014
- 2014-03-31 CN CN201410123895.8A patent/CN103995694A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2588164A1 (en) * | 2006-05-09 | 2007-11-09 | Westlake Software, Inc. | System and method for dynamic form management for mobile devices |
CN102955694A (zh) * | 2011-08-31 | 2013-03-06 | 中国电信股份有限公司 | 基于WebKit 浏览器的客户端实现方法以及客户端 |
CN102799477A (zh) * | 2012-07-16 | 2012-11-28 | 中兴通讯股份有限公司 | 资源访问方法及装置 |
Non-Patent Citations (4)
Title |
---|
ANDYFOREVER: "《跨平台PhoneGap技术架构五:PhoneGap类间调用关系及Js和Java交互原理》", 《HTTP://WWW.CNBLOGS.COM/EVER4EVER/ARCHIVE/2012/07/16/2594163.HTML》 * |
APPCAN: "《Android---Native插件扩展机制v1.1》", 《百度文库》 * |
于彬: "《Android编程基础》", 30 September 2013 * |
文晖: "《基于JavaScript的异步响应技术在WEB应用程序中的实现》", 《兰州石化职业技术学院学报》 * |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461537B (zh) * | 2014-12-08 | 2017-11-28 | 浙江网新恩普软件有限公司 | 一种基于浏览器内核的多业务集成系统 |
CN104461537A (zh) * | 2014-12-08 | 2015-03-25 | 浙江网新恩普软件有限公司 | 一种基于浏览器内核的多业务集成系统 |
CN105468369B (zh) * | 2015-11-19 | 2019-03-26 | 深圳联友科技有限公司 | 移动平台上JavaScript调用原生功能的方法以及系统 |
CN105468369A (zh) * | 2015-11-19 | 2016-04-06 | 深圳联友科技有限公司 | 移动平台上JavaScript调用原生功能的方法以及系统 |
CN105739967A (zh) * | 2016-01-19 | 2016-07-06 | 四川长虹电器股份有限公司 | 移动应用中js异步调用native的方法 |
CN107203373A (zh) * | 2016-03-18 | 2017-09-26 | 阿里巴巴集团控股有限公司 | 界面控件的获取方法、测试方法及获取装置、测试装置 |
CN107203373B (zh) * | 2016-03-18 | 2020-10-20 | 阿里巴巴集团控股有限公司 | 界面控件的获取方法、测试方法及获取装置、测试装置 |
CN107547944A (zh) * | 2016-06-27 | 2018-01-05 | 中兴通讯股份有限公司 | 接口实现方法及装置、机顶盒 |
CN106357762A (zh) * | 2016-09-14 | 2017-01-25 | 百度在线网络技术(北京)有限公司 | 一种用户请求处理方法和装置 |
CN106357762B (zh) * | 2016-09-14 | 2019-12-24 | 百度在线网络技术(北京)有限公司 | 一种用户请求处理方法和装置 |
CN107277116A (zh) * | 2017-05-27 | 2017-10-20 | 北京思特奇信息技术股份有限公司 | 一种可配置的客户端引擎及利用其调用服务的方法 |
CN107277116B (zh) * | 2017-05-27 | 2020-04-03 | 北京思特奇信息技术股份有限公司 | 一种可配置的客户端引擎及利用其调用服务的方法 |
CN107729452A (zh) * | 2017-10-09 | 2018-02-23 | 武汉斗鱼网络科技有限公司 | 网页加载方法、装置、电子设备及计算机可读存储介质 |
CN107729452B (zh) * | 2017-10-09 | 2020-07-10 | 武汉斗鱼网络科技有限公司 | 网页加载方法、装置、电子设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103995694A (zh) | 一种具备电信能力的移动客户端浏览器控件及其调用方法 | |
JP6577672B2 (ja) | 支払い処理方法及び装置並びにインテリジェントデバイス | |
CN109002362B (zh) | 一种服务方法、装置、系统以及电子设备 | |
RU2595890C2 (ru) | Способ и устройство для исполнения команд действий пользователя | |
US11716264B2 (en) | In situ triggered function as a service within a service mesh | |
CN104488291B (zh) | 用于促进云服务的利用的方法和装置 | |
TWI767182B (zh) | 基於h5的接入組件及移動終端 | |
CN108170740A (zh) | 数据迁移方法、系统和计算机可读存储介质 | |
CN108881111B (zh) | 一种实现多租户系统的方法及装置 | |
CN109327490B (zh) | 一种部署云服务组件的方法和服务器 | |
US11005947B2 (en) | Network information processing | |
CN112181677B (zh) | 业务的处理方法和装置、存储介质、电子装置 | |
CN104821954A (zh) | 一种跨平台远程过程调用方法 | |
CN111858101B (zh) | 面向云架构系统的适配方法、装置、设备及存储介质 | |
CN109587272B (zh) | 一种微服务的优化方法、装置和电子设备 | |
CN111625738A (zh) | App目标页面的唤起方法、装置、设备和存储介质 | |
WO2020248383A1 (zh) | 基于跨平台的数据处理方法、装置及计算机设备 | |
CN203086514U (zh) | 移动开放交互系统 | |
CN103036917B (zh) | 客户端平台的实现方法及客户端平台 | |
CA2969141A1 (en) | Computer readable storage media for dynamic service deployment and methods and systems for utilizing same | |
CN113296987B (zh) | 调用模块的接口调用方法、装置、计算机设备及存储介质 | |
CN112214250A (zh) | 一种应用程序组件的加载方法和装置 | |
CN109343970B (zh) | 基于应用程序的操作方法、装置、电子设备及计算机介质 | |
CN112486672A (zh) | 一种服务内存缓存调用方法和装置 | |
CN112764746B (zh) | 数据处理方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140820 |
|
RJ01 | Rejection of invention patent application after publication |