Application对象迁移方法、存储介质、电子设备及系统技术方案

技术编号:18496737 阅读:32 留言:0更新日期:2018-07-21 20:00
本发明专利技术公开了一种Application对象迁移方法、存储介质、电子设备及系统,涉及应用开发领域,该方法包括在组件内部定义一用于存储Application对象的类,并在该类中定义init方法和实例对象;调用init方法,通过init方法将应用模块中的Application对象传递到组件内部定义的类中;当Application对象传递到组件内定义的类中后,将Application对象的实例赋值给实例对象;通过静态方法将实例对象进行返回操作,得到Application对象的实例。本发明专利技术保证组件能够获取Application对象的实例。

Application object migration method, storage medium, electronic device and system

The invention discloses a Application object migration method, storage medium, electronic device and system, which involves the application development field, which includes defining a class for storing Application objects within a component, defining a init method and an instance object in the class, calling the init method, and applying the init method to the application module. The Application object in the Application is passed to the class defined within the component; when the Application object is passed into the class defined in the component, the instance of the Application object is assigned to the instance object; the instance object is returned by the static method, and the instance of the Application object is obtained. The invention ensures that components can acquire instances of Application objects.

【技术实现步骤摘要】
Application对象迁移方法、存储介质、电子设备及系统
本专利技术涉及应用开发领域,具体涉及一种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(Applicationapplication)方法。后续的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对象的实例的获取。采用静态方法是为了方便被调用,因为静态方法的函数是存储在内存中的静态区域,对于静本文档来自技高网...

【技术保护点】
1.一种Application对象迁移方法,适用于Android平台应用的组件开发,其特征在于,包括:在组件内部定义一用于存储Application对象的类,并在该类中定义init方法和实例对象;调用init方法,通过init方法将应用模块中的Application对象传递到组件内部定义的类中;当Application对象传递到组件内定义的类中后,将Application对象的实例赋值给实例对象;通过静态方法将实例对象进行返回操作,得到Application对象的实例。

【技术特征摘要】
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对象的...

【专利技术属性】
技术研发人员:张磊陈少杰张文明
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1