CN104572112A - 一种基于Android系统的程序间函数动态复用系统及方法 - Google Patents
一种基于Android系统的程序间函数动态复用系统及方法 Download PDFInfo
- Publication number
- CN104572112A CN104572112A CN201510028597.5A CN201510028597A CN104572112A CN 104572112 A CN104572112 A CN 104572112A CN 201510028597 A CN201510028597 A CN 201510028597A CN 104572112 A CN104572112 A CN 104572112A
- Authority
- CN
- China
- Prior art keywords
- function
- program
- service
- index
- power
- 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系统的程序间函数动态复用系统及方法。包括服务接口库模块,用于提供注册或调用各功能函数的接口;服务函数池模块,存放着准备用于调用的各种功能函数。在程序A中使用服务接口库,把自身将提供给其他程序调用的功能函数注册到后台服务程序中,存放到准备用于调用的各种功能函数的服务函数池中,并设定功能函数的索引;在所述其他程序中使用服务接口库,通过所述功能函数的索引调用的后台服务程序服务函数池中的函数,并取得执行结果。使Android系统上不同的程序中可相互使用对方提供的功能部件,软件的可重用性大大的得到了增强。
Description
技术领域
本发明涉及一种基于Android系统的程序间函数动态复用系统及方法。
背景技术
Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑。截止2013年的第四季度,Android平台手机的全球市场份额已经达到78.1%。
目前,Android系统上各种软件呈爆发式增长,软件与软件之间的重复功能亦越来越多,软件的可重用性是降低成本和进度,并且提高产品质量的关键因素。
发明内容
本发明要解决的技术问题是提供一种使Android系统上不同的程序中可相互使用对方提供的功能部件,软件的可重用性将大大的得到增强的程序间函数动态复用系统及方法。
本发明采用的技术方案如下:一种基于Android系统的程序间函数动态复用系统,其特征在于,包括
服务接口库模块,用于提供注册或调用各功能函数的接口;
服务函数池模块,存放着准备用于调用的各种功能函数。
作为优选,所述服务接口模块还用于提供注销各功能函数的接口。
一种基于Android系统的程序间函数动态复用方法,具体方法为,在程序A中使用服务接口库,把自身将提供给其他程序调用的功能函数注册到后台服务程序中,存放到准备用于调用的各种功能函数的服务函数池中,并设定功能函数的索引;在所述其他程序中使用服务接口库,通过所述功能函数的索引调用的后台服务程序服务函数池中的函数,并取得执行结果。
作为优选,所述方法还包括,所述程序A通过服务接口库注销其功能函数。
作为优选,所述功能函数的索引为功能函数的字符串索引。
后台服务程序与服务接口库之间通过Android平台的驱动“/dev/binder”进行通信。
后台服务程序是Android系统上的一个服务程序,随系统开机自动运行,它维护着一个“服务函数池”。
服务接口库包含服务接口JNI库和服务接口C库,JAVA程序使用服务接口JNI库,C/C++程序使用服务接口C库。服务接口库提供“注册”、“调用”、“注销”等接口。“注册”接口被调用时,如果是JAVA程序调用则记录传递进来的函数字符串索引及函数“包名/类名/函数名”字符串,如是被C/C++程序调用则记录传递进来的函数字符串索引及函数地址。同时,“注册”接口将函数字符串索引通过驱动“/dev/binder”保存到后台服务程序的“服务函数池”中。当“调用”接口被调用时,“调用”接口将函数字符串索引及参数通过驱动“/dev/binder”传递到后台服务程序,后台服务程序在“服务函数池”中找到该索引时,后台服务程序通过驱动“/dev/binder”将函数字符串索引及参数传递给函数创建者所在程序的服务接口库并执行函数字符串索引对应的函数,同时将执行结果返回。当“注销”接口被调用时,“注销”接口将函数字符串索引通过驱动“/dev/binder”传递到后台服务程序,后台服务程序将该函数字符串索引从“服务函数池”中删除。
与现有技术相比,本发明的有益效果是:使Android系统上不同的程序中可相互使用对方提供的功能部件,软件的可重用性大大的得到了增强。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本说明书(包括任何附加权利要求和摘要)中公开的任一特征,除非特别叙述,均可被其他等效或者具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
基于Android系统的程序间函数动态复用系统及方法,系统包括服务接口库模块,用于提供注册或调用各功能函数的接口;服务函数池模块,存放着准备用于调用的各种功能函数。
在Android系统上安装后台服务程序,重启Android系统;在程序A中使用服务接口库,把自身将提供给其他程序调用的功能函数注册到后台服务程序中,存放到准备用于调用的各种功能函数的服务函数池中,并设定功能函数的索引;在所述其他程序中使用服务接口库,通过所述功能函数的索引调用的后台服务程序服务函数池中的函数,并取得执行结果。
使Android系统上不同的程序中可相互使用对方提供的功能部件,软件的可重用性大大的得到了增强。
所述服务接口模块还用于提供注销各功能函数的接口;所述程序A通过服务接口库注销其功能函数。
在本具体实施例中,所述功能函数的索引为功能函数的字符串索引,该索引由注册者自行定义一个字符串,但需保证全局唯一性。
各程序(JAVA程序、C/C++程序)将自身的功能函数通过服务接口库注册到该“服务函数池”后,需调用“服务函数池”中功能函数的程序(JAVA程序、C/C++程序),可通过服务接口库使用功能函数的索引在“服务函数池”找到对应功能函数,并执行该功能函数。
各程序(JAVA程序、C/C++程序)将自身的功能函数通过服务接口库注册到后台服务程序的“服务函数池”后,可通过服务接口库注销该功能函数,当功能函数从“服务函数池”中被注销后,程序(JAVA程序、C/C++程序)通过服务接口库使用功能函数的索引不能继续在“服务函数池”找到对应功能函数,因此不能再执行该功能函数。
“服务函数池”中函数被注销后,可再次被注册进来,进而可再次被各程序(JAVA程序、C/C++程序)调用。
本发明的突出优点是:
支持Android系统上所有的JAVA程序和C/C++程序;
实现Android系统上JAVA程序与JAVA程序之间的函数互调;
实现Android系统上C/C++程序与C/C++程序之间的函数互调;
实现Android系统上JAVA程序与C/C++程序之间的函数互调;
使用灵活,各程序可动态决定什么时机将自身功能函数提供给其它程序调用;
适用性强,目前支持所有的Android系统。
Claims (5)
1.一种基于Android系统的程序间函数动态复用系统,其特征在于,包括
服务接口库模块,用于提供注册或调用各功能函数的接口;
服务函数池模块,存放着准备用于调用的各种功能函数。
2.根据权利要求1所述的程序间函数动态复用系统,其特征在于,所述服务接口模块还用于提供注销各功能函数的接口。
3.一种基于Android系统的程序间函数动态复用方法,具体方法为,在程序A中使用服务接口库,把自身将提供给其他程序调用的功能函数注册到后台服务程序中,存放到准备用于调用的各种功能函数的服务函数池中,并设定功能函数的索引;在所述其他程序中使用服务接口库,通过所述功能函数的索引调用的后台服务程序服务函数池中的函数,并取得执行结果。
4.根据权利要求3所述的程序间函数动态复用方法,所述方法还包括,所述程序A通过服务接口库注销其功能函数。
5.根据权利要求3或4所述的程序间函数动态复用方法,所述功能函数的索引为功能函数的字符串索引。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510028597.5A CN104572112A (zh) | 2015-01-21 | 2015-01-21 | 一种基于Android系统的程序间函数动态复用系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510028597.5A CN104572112A (zh) | 2015-01-21 | 2015-01-21 | 一种基于Android系统的程序间函数动态复用系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104572112A true CN104572112A (zh) | 2015-04-29 |
Family
ID=53088278
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510028597.5A Pending CN104572112A (zh) | 2015-01-21 | 2015-01-21 | 一种基于Android系统的程序间函数动态复用系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104572112A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106201582A (zh) * | 2016-06-28 | 2016-12-07 | 安徽科成信息科技有限公司 | 一种数据后台更新系统 |
CN106201581A (zh) * | 2016-08-08 | 2016-12-07 | 安徽科成信息科技有限公司 | 一种教学软件的后台更新系统 |
CN106656940A (zh) * | 2015-11-04 | 2017-05-10 | 阿里巴巴集团控股有限公司 | 用于处理服务访问请求的方法与设备 |
CN107977199A (zh) * | 2016-10-19 | 2018-05-01 | 中国石油化工股份有限公司 | 一种在Java程序中调用C++功能模块的方法 |
CN108920212A (zh) * | 2018-06-29 | 2018-11-30 | 郑州云海信息技术有限公司 | 一种基于linux内核的产品启动方法、系统及相关组件 |
CN117375803A (zh) * | 2023-12-05 | 2024-01-09 | 飞腾信息技术有限公司 | 密钥派生接口注册方法、调用方法、相关设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1276046A2 (en) * | 2001-07-11 | 2003-01-15 | Sun Microsystems, Inc. | Processing resource for use in a distributed processing framework system and methods for implementing the same |
CN101620536A (zh) * | 2009-08-17 | 2010-01-06 | 用友软件股份有限公司 | 一种调用功能函数的方法和装置 |
CN102331931A (zh) * | 2011-07-25 | 2012-01-25 | 深圳市万兴软件有限公司 | 动态库管理方法和装置 |
CN103019819A (zh) * | 2012-12-05 | 2013-04-03 | 上海创图网络科技发展有限公司 | 一种基于插件机制的动态库统一调度方法 |
-
2015
- 2015-01-21 CN CN201510028597.5A patent/CN104572112A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1276046A2 (en) * | 2001-07-11 | 2003-01-15 | Sun Microsystems, Inc. | Processing resource for use in a distributed processing framework system and methods for implementing the same |
CN101620536A (zh) * | 2009-08-17 | 2010-01-06 | 用友软件股份有限公司 | 一种调用功能函数的方法和装置 |
CN102331931A (zh) * | 2011-07-25 | 2012-01-25 | 深圳市万兴软件有限公司 | 动态库管理方法和装置 |
CN103019819A (zh) * | 2012-12-05 | 2013-04-03 | 上海创图网络科技发展有限公司 | 一种基于插件机制的动态库统一调度方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106656940A (zh) * | 2015-11-04 | 2017-05-10 | 阿里巴巴集团控股有限公司 | 用于处理服务访问请求的方法与设备 |
CN106201582A (zh) * | 2016-06-28 | 2016-12-07 | 安徽科成信息科技有限公司 | 一种数据后台更新系统 |
CN106201581A (zh) * | 2016-08-08 | 2016-12-07 | 安徽科成信息科技有限公司 | 一种教学软件的后台更新系统 |
CN107977199A (zh) * | 2016-10-19 | 2018-05-01 | 中国石油化工股份有限公司 | 一种在Java程序中调用C++功能模块的方法 |
CN108920212A (zh) * | 2018-06-29 | 2018-11-30 | 郑州云海信息技术有限公司 | 一种基于linux内核的产品启动方法、系统及相关组件 |
CN108920212B (zh) * | 2018-06-29 | 2022-03-08 | 郑州云海信息技术有限公司 | 一种基于linux内核的产品启动方法、系统及相关组件 |
CN117375803A (zh) * | 2023-12-05 | 2024-01-09 | 飞腾信息技术有限公司 | 密钥派生接口注册方法、调用方法、相关设备及存储介质 |
CN117375803B (zh) * | 2023-12-05 | 2024-02-06 | 飞腾信息技术有限公司 | 密钥派生接口注册方法、调用方法、相关设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104572112A (zh) | 一种基于Android系统的程序间函数动态复用系统及方法 | |
CN113613238B (zh) | 一种sim模块的管理方法及电子设备 | |
CN102970362B (zh) | 一种云端数据共享的方法及装置 | |
EP4277237A3 (en) | Method, apparatus, and system for supporting multiple imsis | |
MY172949A (en) | Apparatus and method for portable terminal having dual subscriber identity module card | |
CN102799484B (zh) | 移动终端运行多操作系统的方法及装置 | |
MX2016005558A (es) | Viajes compartidos en grupos de alquiler conjunto. | |
SE0950078L (sv) | Förfarande för att avaktivera och möjligen återaktivera SIM-kort | |
TW200420147A (en) | Fast roaming system | |
WO2016173337A1 (zh) | 一种网络接入方法及移动通信终端 | |
WO2011048546A3 (en) | Single to multi-user synchronous application conversion | |
PL410392A1 (pl) | Sposób i system do współdzielenia pliku | |
GB2513690A (en) | Starting a process | |
MX2010007394A (es) | Aislamiento de contenido a traves de procesamientos en una aplicacion. | |
EA201791386A1 (ru) | Услуга передачи речевых и текстовых данных для мобильных абонентов | |
RU2012112375A (ru) | Способ, устройство и система обновления информации о местоположении ip-адреса | |
MX338332B (es) | Metodo de establecimiento de modo de trabajo coexistente, equipo de usuario, estacion base y sistema. | |
CN105847524A (zh) | 一种基于双系统的通信方法及终端 | |
US20190124192A1 (en) | Call Processing Method and Mobile Terminal | |
MY176731A (en) | Method of and system for providing a multi-imsi solution in an operating mobile network | |
CN104394305A (zh) | 一种在安卓系统中支持外部移动摄像头和移动设备上内置摄像头的兼容方法 | |
WO2018040650A1 (zh) | 一种语音业务注册方法及装置、移动终端 | |
PH12020550974A1 (en) | Data processing method, terminal device, and data processing system | |
US20140156514A1 (en) | Mobile Payment Method, Device and System for Server and Client | |
CN201937695U (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: 20150429 |
|
RJ01 | Rejection of invention patent application after publication |