CN108304233A - Application对象迁移方法、存储介质、电子设备及系统 - Google Patents
Application对象迁移方法、存储介质、电子设备及系统 Download PDFInfo
- Publication number
- CN108304233A CN108304233A CN201810024357.1A CN201810024357A CN108304233A CN 108304233 A CN108304233 A CN 108304233A CN 201810024357 A CN201810024357 A CN 201810024357A CN 108304233 A CN108304233 A CN 108304233A
- Authority
- CN
- China
- Prior art keywords
- application object
- application
- class
- component
- module
- 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.)
- Granted
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种Application对象迁移方法、存储介质、电子设备及系统,涉及应用开发领域,该方法包括在组件内部定义一用于存储Application对象的类,并在该类中定义init方法和实例对象;调用init方法,通过init方法将应用模块中的Application对象传递到组件内部定义的类中;当Application对象传递到组件内定义的类中后,将Application对象的实例赋值给实例对象;通过静态方法将实例对象进行返回操作,得到Application对象的实例。本发明保证组件能够获取Application对象的实例。
Description
技术领域
本发明涉及应用开发领域,具体涉及一种Application对象迁移方法、存储介质、电子设备及系统。
背景技术
在Android平台,应用的组件化开发过程中,各个组件经常需要使用到Application类,Application是一个系统类,用于标示应用程序系统级别相关内容。
在组件化之前,Application类存放于应用模块内部,且整个应用程序中有且仅有一个应用模块,因此应用的任何项目均可以快速的获取到Application对象的实例;但是在组件化之后,由于各个模块被拆分形成了独立的组件,且组件和应用模块之间相互隔离,因而导致组件无法获取到Application对象的实例,从而导致某些组件中的部分功能无法实现。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种名称,保证组件能够获取Application对象的实例。
为达到以上目的,本发明采取的技术方案是,包括:
在组件内部定义一用于存储Application对象的类,并在该类中定义init方法和实例对象;
调用init方法,通过init方法将应用模块中的Application对象传递到组件内部定义的类中;
当Application对象传递到组件内定义的类中后,将Application对象的实例赋值给实例对象;
通过静态方法将实例对象进行返回操作,得到Application对象的实例。
在上述技术方案的基础上,所述组件内部定义的用于存储Application对象的类为工具类。
在上述技术方案的基础上,应用模块的Application对象中的oncreate方法调用init方法,然后init方法将应用模块中的Application对象传递到组件内部定义的类中。
在上述技术方案的基础上,所述组件内部用于存储Application对象的类中定义的实例对象为全局属性。
在上述技术方案的基础上,在组件内部用于存储Application对象的类中定义静态方法,通过静态方法将实例对象进行返回操作,然后得到Application对象的实例,完成组件对于应用模块中Application对象的实例的获取。
本发明还提供一种存储介质,该存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述所述的方法。
本发明还提供一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述所述的方法。
本发明还提供一种Application对象迁移系统,包括:
定义模块,其用于在组件内部定义一用于存储Application对象的类,并在该类中定义init方法和实例对象;
转存模块,其用于调用init方法,通过init方法将应用模块中的Application对象传递到组件内部定义的类中;
获取模块,其用于当Application对象传递到组件内定义的类中后,将Application对象的实例赋值给实例对象,然后通过静态方法将实例对象进行返回操作,得到Application对象的实例。
在上述技术方案的基础上,所述组件内部定义的用于存储Application对象的类为工具类。
在上述技术方案的基础上,应用模块的Application对象中的oncreate方法调用init方法,然后init方法将应用模块中的Application对象传递到组件内部定义的类中。
与现有技术相比,本发明的优点在于:在组件内部定义用于存储Application对象的类,并在该类中定义init方法和实例对象,通过init方法将应用模块中的Application对象转存到组件中,且当Application对象传递到组件内定义的类中后,将Application对象的实例赋值给实例对象,然后通过静态方法将实例对象进行返回操作,得到Application对象的实例,方便组件对于应用模块中Application对象的获取,有效提升组件化中组件获取Application对象的效率。
附图说明
图1为本发明实施例中一种Application对象迁移方法的流程图;
图2为本发明实施例中一种电子设备的结构示意图。
具体实施方式
以下结合附图及实施例对本发明作进一步详细说明。
参见图1所示,本发明实施例提供一种Application对象迁移方法,适用于Android平台应用的组件开发,应用开发过程中包括一个应用模块和多个组件,Application对象位于应用模块内,应用开发过程中,应用模块是可以依赖组件的,但组件无法反向依赖应用模块,因此传统的方案中组件无法获取到应用模块中的Application对象的实例。本发明实施例的Application对象迁移方法包括:
S1:在组件内部定义一用于存储Application对象的类,并在该类中定义init方法(构造方法)和实例对象。即在每个组件内部均定义一个用于存储Application对象的类,组件内部定义的用于存储Application对象的类为工具类,本发明实施例中,将组件内部定义的类命名为ModelApplication,为了使ModelApplication具有Application对象的实例,因此需要在ModelApplication中设计定义一个init方法,init方法具体表示为init(Application application)方法。
后续的Application对象转存到ModelApplication中后,为保证Application对象不会被系统回收,因此为了维系Application对象,在组件内部定义的类中定义实例对象appl。
S2:调用init方法,通过init方法将应用模块中的Application对象传递到组件内部定义的类中。具体的为,应用模块的Application对象中的oncreate方法调用init方法,然后init方法将应用模块中的Application对象传递到组件内部定义的类中,至此便完成了应用模块中Application对象到组件的转存。oncreate方法是Application对象被创建时系统进行回调信息的。
由于应用模块是引用组件,组件没有引用应用模块,因此应用模块是可以访问到组件内部的代码的,但是组件内部的代码是无法访问应用模块内部的代码,而Application对象的实例是创建在应用模块内部,故需要使用Application对象中的oncreate方法init方法,实现将Application对象传递到ModelApplication中。
S3:当Application对象传递到组件内定义的类中后,将Application对象的实例赋值给实例对象,这样实例对象就指向Application对象的实例了。组件内部用于存储Application对象的类中定义的实例对象为全局属性。
S4:通过静态方法将实例对象进行返回操作,得到Application对象的实例。具体的,在组件内部用于存储Application对象的类中定义静态方法,通过静态方法将实例对象进行返回操作,然后得到Application对象的实例,完成组件对于应用模块中Application对象的实例的获取。采用静态方法是为了方便被调用,因为静态方法的函数是存储在内存中的静态区域,对于静态区域中的方法是不需要实例对象便能够直接对方法进行获取和调用的,由于不需要创建实例对象,故在调用静态方法的时候会变得非常容易,通过类名就可以直接进行调取。
本发明实施例的Application对象迁移方法,在组件内部定义用于存储Application对象的类,并在该类中定义init方法和实例对象,通过init方法将应用模块中的Application对象转存到组件中,且当Application对象传递到组件内定义的类中后,将Application对象的实例赋值给实例对象,然后通过静态方法将实例对象进行返回操作,得到Application对象的实例,方便组件对于应用模块中Application对象的获取,且整个过程快速,有效提升组件化中组件获取Application对象的效率。
另外,对应上述Application对象迁移方法,本发明还提供一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述各实施例所述的Application对象迁移方法的步骤。需要说明的是,所述存储介质包括U盘、移动硬盘、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随机存取存储器)、磁碟或者光盘等各种可以存储程序代码的介质。
参见图2所示,对应上述Application对象迁移方法,本发明还提供一种事电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,处理器执行计算机程序时实现上述各实施例的Application对象迁移方法。
本发明还提供一种基于上述Application对象迁移方法的Application对象迁移系统,包括定义模块、转存模块和获取模块。
定义模块用于在组件内部定义一用于存储Application对象的类,并在该类中定义init方法和实例对象;转存模块用于调用init方法,通过init方法将应用模块中的Application对象传递到组件内部定义的类中;获取模块用于当Application对象传递到组件内定义的类中后,将Application对象的实例赋值给实例对象,然后通过静态方法将实例对象进行返回操作,得到Application对象的实例。
组件内部定义的用于存储Application对象的类为工具类。应用模块的Application对象中的oncreate方法调用init方法,然后init方法将应用模块中的Application对象传递到组件内部定义的类中。
本发明实施例的Application对象迁移系统,在组件内部定义用于存储Application对象的类,并在该类中定义init方法和实例对象,通过init方法将应用模块中的Application对象转存到组件中,且当Application对象传递到组件内定义的类中后,将Application对象的实例赋值给实例对象,然后通过静态方法将实例对象进行返回操作,得到Application对象的实例,方便组件对于应用模块中Application对象的获取,且整个过程快速,有效提升组件化中组件获取Application对象的效率。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (10)
1.一种Application对象迁移方法,适用于Android平台应用的组件开发,其特征在于,包括:
在组件内部定义一用于存储Application对象的类,并在该类中定义init方法和实例对象;
调用init方法,通过init方法将应用模块中的Application对象传递到组件内部定义的类中;
当Application对象传递到组件内定义的类中后,将Application对象的实例赋值给实例对象;
通过静态方法将实例对象进行返回操作,得到Application对象的实例。
2.如权利要求1所述的一种Application对象迁移方法,其特征在于:所述组件内部定义的用于存储Application对象的类为工具类。
3.如权利要求1所述的一种Application对象迁移方法,其特征在于:
应用模块的Application对象中的oncreate方法调用init方法,然后init方法将应用模块中的Application对象传递到组件内部定义的类中。
4.如权利要求1所述的一种Application对象迁移方法,其特征在于:所述组件内部用于存储Application对象的类中定义的实例对象为全局属性。
5.如权利要求1所述的一种Application对象迁移方法,其特征在于:在组件内部用于存储Application对象的类中定义静态方法,通过静态方法将实例对象进行返回操作,然后得到Application对象的实例,完成组件对于应用模块中Application对象的实例的获取。
6.一种存储介质,该存储介质上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1至5任一项所述的方法。
7.一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,其特征在于:所述处理器执行所述计算机程序时实现权利要求1至5任一项所述的方法。
8.一种Application对象迁移系统,其特征在于,包括:
定义模块,其用于在组件内部定义一用于存储Application对象的类,并在该类中定义init方法和实例对象;
转存模块,其用于调用init方法,通过init方法将应用模块中的Application对象传递到组件内部定义的类中;
获取模块,其用于当Application对象传递到组件内定义的类中后,将Application对象的实例赋值给实例对象,然后通过静态方法将实例对象进行返回操作,得到Application对象的实例。
9.如权利要求8所述的一种Application对象迁移系统,其特征在于:所述组件内部定义的用于存储Application对象的类为工具类。
10.如权利要求8所述的一种Application对象迁移系统,其特征在于:应用模块的Application对象中的oncreate方法调用init方法,然后init方法将应用模块中的Application对象传递到组件内部定义的类中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810024357.1A CN108304233B (zh) | 2018-01-10 | 2018-01-10 | Application对象迁移方法、存储介质、电子设备及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810024357.1A CN108304233B (zh) | 2018-01-10 | 2018-01-10 | Application对象迁移方法、存储介质、电子设备及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108304233A true CN108304233A (zh) | 2018-07-20 |
CN108304233B CN108304233B (zh) | 2022-02-08 |
Family
ID=62868568
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810024357.1A Active CN108304233B (zh) | 2018-01-10 | 2018-01-10 | Application对象迁移方法、存储介质、电子设备及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108304233B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114333231A (zh) * | 2021-12-16 | 2022-04-12 | 广州小鹏汽车科技有限公司 | 紧急呼叫的管理方法、装置、车辆及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090210865A1 (en) * | 2008-02-18 | 2009-08-20 | International Business Machines Corporation | System and methods for replacing software application classes using transparent object adapters |
US20130246513A1 (en) * | 2011-09-09 | 2013-09-19 | AppToU Technologies Ltd. | Systems and Methods for Object-Based Interaction with Cloud-Based Applications |
US20150186195A1 (en) * | 2013-12-31 | 2015-07-02 | BD, lnc. | Method of analysis application object which computer-executable, server performing the same and storage media storing the same |
CN105045641A (zh) * | 2015-08-31 | 2015-11-11 | 北京金山安全软件有限公司 | 一种启动组件的界面的方法及装置 |
CN106203120A (zh) * | 2016-07-15 | 2016-12-07 | 北京邮电大学 | 一种针对Android加固应用的多点Hook逆向方法 |
CN106445595A (zh) * | 2016-09-23 | 2017-02-22 | 北京奇虎科技有限公司 | 插件的Application对象的构建方法及装置 |
CN106547598A (zh) * | 2016-11-22 | 2017-03-29 | 四川长虹电器股份有限公司 | 提升Android应用程序启动速度的方法 |
-
2018
- 2018-01-10 CN CN201810024357.1A patent/CN108304233B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090210865A1 (en) * | 2008-02-18 | 2009-08-20 | International Business Machines Corporation | System and methods for replacing software application classes using transparent object adapters |
US20130246513A1 (en) * | 2011-09-09 | 2013-09-19 | AppToU Technologies Ltd. | Systems and Methods for Object-Based Interaction with Cloud-Based Applications |
US20150186195A1 (en) * | 2013-12-31 | 2015-07-02 | BD, lnc. | Method of analysis application object which computer-executable, server performing the same and storage media storing the same |
CN105045641A (zh) * | 2015-08-31 | 2015-11-11 | 北京金山安全软件有限公司 | 一种启动组件的界面的方法及装置 |
CN106203120A (zh) * | 2016-07-15 | 2016-12-07 | 北京邮电大学 | 一种针对Android加固应用的多点Hook逆向方法 |
CN106445595A (zh) * | 2016-09-23 | 2017-02-22 | 北京奇虎科技有限公司 | 插件的Application对象的构建方法及装置 |
CN106547598A (zh) * | 2016-11-22 | 2017-03-29 | 四川长虹电器股份有限公司 | 提升Android应用程序启动速度的方法 |
Non-Patent Citations (4)
Title |
---|
一花亦城: "Android组件化初探三(Application共存问题)", 《HTTPS://WWW.JIANSHU.COM/P/7A4D41AC9E7A》 * |
宿元庆: "Android基于动态加载的软件保护研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
张华洋: "Android组件化项目详细实施方案", 《HTTPS://MP.WEIXIN.QQ.COM/S?__BIZ=MZI2OTQXMTM4OQ==&MID=2247484720&IDX=1&SN=6626E31308D58EC9F2CAA770006A3220&CHKSM=EAE1F062DD9679746008678118859A0C732DB80ED3413CB651F92753F63910D84EBCA8A4793F#RD》 * |
忆念成风: "Android 开发自定义Application", 《HTTPS://WWW.JIANSHU.COM/P/E28E50196800》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114333231A (zh) * | 2021-12-16 | 2022-04-12 | 广州小鹏汽车科技有限公司 | 紧急呼叫的管理方法、装置、车辆及存储介质 |
CN114333231B (zh) * | 2021-12-16 | 2023-06-30 | 广州小鹏汽车科技有限公司 | 紧急呼叫的管理方法、装置、车辆及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108304233B (zh) | 2022-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107301214A (zh) | 在hive中数据迁移方法、装置及终端设备 | |
CN106528071A (zh) | 目标代码的选取方法及装置 | |
CN113934684B (zh) | 一种数据格式自动转换方法、装置、电子设备及存储介质 | |
CN112181378B (zh) | 业务流程的实现方法及装置 | |
CN106933611A (zh) | 类加载方法及类加载器 | |
CN108304233A (zh) | Application对象迁移方法、存储介质、电子设备及系统 | |
CN114282071A (zh) | 基于图数据库的请求处理方法、装置、设备及存储介质 | |
CN106503970A (zh) | 流程实例的编辑方法及装置 | |
CN112860412A (zh) | 业务数据处理方法、装置、电子设备及存储介质 | |
CN109271180B (zh) | 一种数据处理方法及装置 | |
CN116523052B (zh) | 一种快速推理方法、装置及设备 | |
CN111026736B (zh) | 数据血缘管理方法及装置、数据血缘解析方法及装置 | |
CN116595588A (zh) | 铁路信号系统开发过程安全分析方法及装置 | |
CN101894024B (zh) | 一种基于模型库的模型元素一致性保障方法 | |
CN116560968A (zh) | 一种基于机器学习的仿真计算时间预测方法、系统及设备 | |
CN110018910B (zh) | 事件总线的注册模板实现方法、存储介质、设备及系统 | |
CN116561003A (zh) | 测试数据生成方法、装置、计算机设备和存储介质 | |
CN103593295B (zh) | 一种多分支软件缺陷跟踪方法及系统 | |
CN111984744B (zh) | 基于远程通信和人工智能的信息处理方法及云端服务平台 | |
CN114936198A (zh) | 一种数据迁移的方法及装置 | |
CN108519885B (zh) | 一种基于Flash的公共资源加载方法及装置 | |
CN110275710A (zh) | 一种Java本地接口一致性检查方法及系统、存储介质及终端 | |
CN111813843A (zh) | 一种数据处理方法、装置及平台 | |
CN111796806B (zh) | 生成对象的方法、装置、电子设备及可读存储介质 | |
CN103927345A (zh) | 一种jsp标签嵌套的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |