一种Fragment中控件识别方法及系统技术方案

技术编号:19424589 阅读:27 留言:0更新日期:2018-11-14 10:25
本发明专利技术实施例提供了一种Fragment中控件识别方法及系统,方法包括:基于Aspect声明构建的Fragment,对于每一个所述Fragment中使用的连接点所对应的目标方法,获取执行所述目标方法的控件以及获取所述目标方法所属的Fragment名称;将所述Fragment名称作为所述控件的标识信息植入所述控件中,以根据所述标识信息对所述控件进行识别。本发明专利技术实施例提供的一种Fragment中控件识别方法及系统,通过AOP编程思想,直接获取Fragment内的控件以及Fragment名称,将控件赋予对应Fragment的标识,从而根据标识实现Fragment中控件的识别,识别过程简洁高效且代码量小。

【技术实现步骤摘要】
一种Fragment中控件识别方法及系统
本专利技术实施例涉及计算机
,尤其涉及一种Fragment中控件识别方法及系统。
技术介绍
目前,在Android系统的软件开发过程中,用户界面的切换全部使用activity的切换,这就造成了整个应用使用起来速度较慢,而且很占内存,因为activity是重量级的组件,在应用程序内部使用很不方便。针对上述情形,Android3.0中引入Fragment的概念,Fragment可翻译为片段,Fragment是一个具有自己生命周期的控件,它有自己的处理输入事件的能力,有自己的生命周期,又必须依赖于Activity,能互相通信和托管。通过Fragment可以解决不同屏幕分辩率的动态和灵活UI设计,大屏幕如平板电脑、小屏幕如手机均可使用,平板电脑通过Fragment的设计使得其有更多的空间来放更多的UI组件,而多出来的空间存放UI使其会产生更多的交互。但是现有技术中,都只是利用Fragment进行页面与逻辑开发,而Fragment内部的控件由于依附在activity中,所以并没有很好的方法进行监听并识别,从而造成用户数据采集的困难。因此现在亟需一种Fragment控件识别方法来对Fragment内部的控件进行监听并识别。
技术实现思路
为了解决上述问题,本专利技术实施例提供一种克服上述问题或者至少部分地解决上述问题的Fragment中控件识别方法及系统。第一方面本专利技术实施例提供一种Fragment中控件识别方法,包括:基于Aspect声明构建的Fragment,对于每一个所述Fragment中使用的连接点所对应的目标方法,获取执行所述目标方法的控件以及获取所述目标方法所属的Fragment名称;将所述Fragment名称作为所述控件的标识信息植入所述控件中,以根据所述标识信息对所述控件进行识别。第二方面本专利技术实施例提供了一种Fragment中控件识别系统,所述系统包括:获取模块,用于基于Aspect声明实现的Fragment,对于每一个所述Fragment中使用的连接点所对应的目标方法,获取执行所述目标方法的控件以及获取所述目标方法所属的Fragment名称;识别模块,用于将所述Fragment名称作为所述控件的标识信息植入所述控件中,以根据所述标识信息对所述控件进行识别。第三方面本专利技术实施例提供了一种Fragment中控件识别设备,包括:处理器、存储器、通信接口和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行上述所述的一种Fragment中控件识别方法。第四方面本专利技术实施例提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述方法。本专利技术实施例提供的一种Fragment中控件识别方法及系统,通过AOP编程思想,直接获取Fragment内的控件以及Fragment名称,将控件赋予对应Fragment的标识,从而根据标识实现Fragment中控件的识别,识别过程简洁高效且代码量小。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例提供的一种Fragment中控件识别方法流程图;图2是本专利技术实施例提供的一种Fragment中控件识别系统结构示意图;图3是本专利技术实施例提供的一种Fragment中控件识别设备的结构框图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。现有技术中,在Android开发过程中,为了更加灵活和动态的UI设计,引入了Fragment的概念。Fragment用于表示Activity组件中的行为或用户界面部分,可以将多个Fragment组合在一个Activity组件中构建多窗格UI,也可以在多个Activity组件中重复使用某一个Fragment。但是现有技术都只是在利用Fragment来完成某些功能的开发,而Fragment内部的空间,由于依附在Activity组件中,所以未能得到很好的监听,从而在数据采集过程中造成一些不必要的困难。针对上述现有技术中存在的问题,图1是本专利技术实施例提供的一种Fragment中控件识别方法流程图,如图1所示,包括:S1、基于Aspect声明构建的Fragment,对于每一个所述Fragment中使用的连接点所对应的目标方法,获取执行所述目标方法的控件以及获取所述目标方法所属的Fragment名称;S2、将所述Fragment名称作为所述控件的标识信息植入所述控件中,以根据所述标识信息对所述控件进行识别。在步骤S1中,可以理解的是,本专利技术实施例所使用的Fragment是根据Aspect声明的方式实现的,而Aspect声明其实是基于AOP编程思想实现的。AOP为AspectOrientedProgramming的缩写,意思是面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。具体在本专利技术实施例中,通过Aspect声明所构建的Fragment使用更简单并且编辑成本更低。步骤S1中,所述连接点即JointPoint,是本专利技术实施例通过AOP的思想能够将Fragment生命周期内的方法定义的切入点,本专利技术实施例能够通过JointPoint插入到代理类中,通过操作代理类实现Fragment的功能。JointPoint对应的目标方法即为代理类切入的执行方法,进一步的,通过JointPoint能够获取执行目标方法控件的控件信息,可以理解的是,本专利技术实施例中所指的Fragment中控件一般为View控件,与此同时,本专利技术实施例还获取了执行目标方法的Fragment名称,如Fragment1、Fragment2、Fragment3等。步骤S2中,可以理解的是,每一个View控件都和一个Fragment名称一一对应,那么可以将Fragment名称作为View控件的标识信息植入到View控件中,从而可以通过标识信息识别View控件。需要说明的是,该标识信息可以作为该View组件在Fragment中的唯一标识,通过检测该标识信息就能实现对该View组件的监听与识别,从而为数据采集或者数据更改提供基础。本专利技术实施例提供的一种Fragment中控件识别方法,通过AOP编程思想,直接获取Fragment内的控件以及Fragment名称,将控件赋予对应Fragment的标识,从而根据标识实现Fragment中控件的识别,识别过程简洁高效且代码量小。在上述实本文档来自技高网...

【技术保护点】
1.一种Fragment中控件识别方法,其特征在于,包括:基于Aspect声明构建的Fragment,对于每一个所述Fragment中使用的连接点所对应的目标方法,获取执行所述目标方法的控件以及获取所述目标方法所属的Fragment名称;将所述Fragment名称作为所述控件的标识信息植入所述控件中,以根据所述标识信息对所述控件进行识别。

【技术特征摘要】
1.一种Fragment中控件识别方法,其特征在于,包括:基于Aspect声明构建的Fragment,对于每一个所述Fragment中使用的连接点所对应的目标方法,获取执行所述目标方法的控件以及获取所述目标方法所属的Fragment名称;将所述Fragment名称作为所述控件的标识信息植入所述控件中,以根据所述标识信息对所述控件进行识别。2.根据权利要求1所述的方法,其特征在于,所述Aspect声明构建的Fragment是基于Aspect声明的类文件实现的;相应的,所述Aspect声明的类文件用于以切面的形式由所述连接点切入到所述Fragment中目标方法执行之前。3.根据权利要求2所述的方法,其特征在于,所述Aspect声明的类文件还用于基于预设的切入方式,对所述Fragment中目标方法进行标记,以使所述Aspect声明的类文件按照所述切入方式由所述连接点切入到所述Fragment中目标方法执行之前。4.根据权利要求3所述的方法,其特征在于,所述获取所述目标方法所属的Fragment名称,包括:获取所述连接点在所述Fragment中的切入接口;将所述切入接口转换为目标格式,并通过所述目标格式获取所述对应的类文件名称;将所述类文件名称作为所述目标方法所属的Fragment名称。5.根据权利要求1所述的方法,其特征在于,所述获取执行所述目标方法的控件,包...

【专利技术属性】
技术研发人员:谷闹年
申请(专利权)人:武汉极意网络科技有限公司
类型:发明
国别省市:湖北,42

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

1