CN111309325B - 一种第三方库引用的方法、装置及移动终端 - Google Patents
一种第三方库引用的方法、装置及移动终端 Download PDFInfo
- Publication number
- CN111309325B CN111309325B CN202010074797.5A CN202010074797A CN111309325B CN 111309325 B CN111309325 B CN 111309325B CN 202010074797 A CN202010074797 A CN 202010074797A CN 111309325 B CN111309325 B CN 111309325B
- Authority
- CN
- China
- Prior art keywords
- pull
- refreshing
- view control
- party library
- loading
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开一种第三方库引用的方法、装置及移动终端,目的在于寻找更为有效的第三方库引用的实现方案,其方法包括:创建本地视图控件,并让本地视图控件继承第三方库中第三方视图控件;定义刷新布局适配器接口并创建方法,让本地视图控件实现刷新布局适配器接口;在Activity的布局文件中使用本地视图控件,以使Activity持有刷新布局适配器接口。本发明通过将创建本地视图控件继承第三方库并藉由实现的刷新布局适配器接口的方式,使得Activity中无感知的实现了第三方库的调换,在一定程度上避免了对所有相关布局和页面的修改,提升了开发效率。
Description
技术领域
本发明涉及移动通信领域,具体而言,本发明涉及一种第三方库引用的方法、装置及移动终端。
背景技术
现有的绝大部分应用程序在使用下拉刷新上拉加载库的时候,多数会在布局中直接引用第三方库。而在代码中直接持有第三方库的引用,则会在更换其它下拉刷新上拉加载库时,不得不进行所有相关布局和页面的修改,这样就降低了开发效率。
发明内容
为了寻找更为有效的第三方库引用的实现方案,本发明提供了一种第三方库引用的方法、装置及移动终端。
方案一:
提供一种第三方库引用的方法,所述第三方库引用的方法包括如下步骤:
创建本地视图控件,并让所述本地视图控件继承第三方库中用于实现了下拉刷新上拉加载的第三方视图控件;
定义刷新布局适配器接口并在所述刷新布局适配器接口中创建用于实现下拉刷新上拉加载视图控件的方法,让所述本地视图控件实现所述刷新布局适配器接口;
在Activity的布局文件中使用所述本地视图控件,以使Activity持有所述刷新布局适配器接口。
优选地,所述在Activity的布局文件中使用所述本地视图控件之后,包括如下步骤:
当第三方库被新的第三方库替换时,让本地视图控件转换继承新的第三方库中用于实现了下拉刷新上拉加载的新的第三方视图控件,并让转换继承后的本地视图控件实现所述刷新布局适配器接口。
优选地,所述用于实现下拉刷新上拉加载视图控件的方法包括如下的一种或者多种:
自动开始刷新;
设置下拉刷新监听;
设置加载更多的监听;
使页面转变到完成刷新样式;
使页面展示完成加载且没有更多数据的样式;
使页面展示完成加载样式;
标记没有更多数据;
设置允许加载更多;
设置允许自动触发加载更多操作;
设置允许触发下拉刷新;
设置是否可见。
优选地,所述在Activity的布局文件中使用所述本地视图控件之后,包括如下步骤:
基于监听的下拉刷新的回调,按照预设页码格式将首页的页码设置为起始页码;发送首页请求并接收与所述首页请求对应的首页请求数据;
清空列表控件中的原有数据并用所述首页请求数据重新添加,通知所述列表控件更新。
优选地,所述在Activity的布局文件中使用所述本地视图控件之后,包括如下步骤:
基于监听的上拉加载的回调,发送数据请求并接收与所述数据请求对应的响应数据;
解析所述响应数据,识别响应列表是否为空;
若否,则将所述响应数据追回到列表控件未尾,并通知列表控件更新。
优选地,所述在Activity的布局文件中使用所述本地视图控件之后,包括如下步骤:
根据当前页码信息识别用户指令信息。
优选地,所述根据当前页码信息识别用户指令信息包括如下步骤:
判断当前页码是否为起始页码;
若是,则用户指令信息为下拉刷新;
若否,则用户指令信息为上拉加载。
方案二:
提供一种第三方库引用的装置,所述第三方库引用的装置包括:
创建继承模块,用于创建本地视图控件,并让所述本地视图控件继承第三方库中用于实现了下拉刷新上拉加载的第三方视图控件;
适配实现模块,用于定义刷新布局适配器接口并在所述刷新布局适配器接口中创建用于实现下拉刷新上拉加载视图控件的方法,让所述本地视图控件实现所述刷新布局适配器接口;
使用模块,用于在Activity的布局文件中使用所述本地视图控件,以使Activity持有所述刷新布局适配器接口。
优选地,所述第三方库引用的装置包括:
替换转换模块,用于在Activity的布局文件中使用所述本地视图控件之后,当第三方库被新的第三方库替换时,让本地视图控件转换继承新的第三方库中用于实现了下拉刷新上拉加载的新的第三方视图控件,并让转换继承后的本地视图控件实现所述刷新布局适配器接口。
优选地,所述用于实现下拉刷新上拉加载视图控件的方法包括如下的一种或者多种:
自动开始刷新;
设置下拉刷新监听;
设置加载更多的监听;
使页面转变到完成刷新样式;
使页面展示完成加载且没有更多数据的样式;
使页面展示完成加载样式;
标记没有更多数据;
设置允许加载更多;
设置允许自动触发加载更多操作;
设置允许触发下拉刷新;
设置是否可见。
优选地,所述第三方库引用的装置包括:
下拉模块,用于在Activity的布局文件中使用所述本地视图控件之后,基于监听的下拉刷新的回调,按照预设页码格式将首页的页码设置为起始页码;发送首页请求并接收与所述首页请求对应的首页请求数据;
重添模块,用于清空列表控件中的原有数据并用所述首页请求数据重新添加,通知所述列表控件更新。
优选地,所述第三方库引用的装置包括:
上拉模块,用于在Activity的布局文件中使用所述本地视图控件之后,基于监听的上拉加载的回调,发送数据请求并接收与所述数据请求对应的响应数据;
解析识别模块,用于解析所述响应数据,识别响应列表是否为空;
追加模块,用于在响应列表不为空时,将所述响应数据追回到列表控件未尾,并通知列表控件更新。
优选地,所述第三方库引用的装置包括:
指令识别模块,用于在Activity的布局文件中使用所述本地视图控件之后,根据当前页码信息识别用户指令信息。
优选地,所述指令识别模块包括:
判断单元,用于判断当前页码是否为起始页码;
下拉指令单元,若当前页码为起始页码,则用户指令信息为下拉刷新;
上拉指令单元,若当前页码不为起始页码,则用户指令信息为上拉加载。
方案三:
提供一种移动终端,包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行如方案一中任意一项所述的第三方库引用的方法。
与现有技术相比,本发明一种第三方库引用的方法、装置及移动终端具有如下有益效果:
本发明一种第三方库引用的方法、装置及移动终端通过将创建本地视图控件继承第三方库并藉由实现的刷新布局适配器接口的方式,使得Activity中无感知的实现了第三方库的调换,在一定程度上避免了对所有相关布局和页面的修改,提升了开发效率。
本发明提出的上述方案,对现有***的改动很小,不会影响***的兼容性,而且实现简单、高效。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明实施例一种第三方库引用的方法的流程示意图;
图2为本发明的另一个实施例一种第三方库引用的装置的模块结构示意图;
图3为本发明的又一个实施例一种移动终端的模块结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
在本发明的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如202、204等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在一个实施例中,本发明提供一种第三方库引用的方法,其应用于设备与服务器交互以及设备显示领域,其中,设备优选为可联网的电子器件,譬如手机、电脑、平板电脑、智能手表、个人数字助理等。
请参阅图1,图1示出了本发明实施例一种第三方库引用的方法的流程示意图,如图1所示,本发明实施例一种第三方库引用的方法包括步骤S101-S105,具体如下:
步骤S101:创建本地视图控件,并让所述本地视图控件继承第三方库中用于实现了下拉刷新上拉加载的第三方视图控件。
安卓***给开发者提供了三种设计用户界面(User Interface,简称UI)的方式,包括布局文件控制UI、代码控制UI以及混合控制UI,其中,布局文件控制UI是使用可扩展标记语言(eXtensible Markup Language,简称XML)文件编写界面,添加布局类型及控件,将布局中使用到的资源添加到资源文件中,在安卓程序的活动(Activity,简称Activity)中,加载布局文件;代码控制UI是在Activity中编写操纵代码来实现对控件的操作,其为非可视化的设计,适用于界面较为简单的情况;混合控制UI是将布局文件控制UI合代码控制UI进行结合,也即在初始界面,无变化的界面元素,使用布局文件,经常变化的界面元素,使用代码控制,在Activity中编写操纵代码来实现对控件的操作。
为了便于理解本发明实施例一种第三方库引用的方法,本发明实施例在此以布局文件控制UI进行说明解释,应当理解的是,本发明实施例一种第三方库引用的方法还可以应用于混合控制UI中。
在安卓***中,控件继承自View,可完成特定的功能类,其中View是安卓中所有控件的基类。在本发明实施例中,本地视图控件是一个自定义的控件,View也是其基类。
示例地,假设AView代表具体实现下拉刷新上拉加载功能的View控件,Bview为本地视图控件,则让本地视图控件继承第三方库中用于实现了下拉刷新上拉加载的第三方视图控件也即让Bview继承Aview。需要解释的是,继承在安卓***中的关键字是extends,新类继承一般类的状态和行为,并根据需要增加它自己的新的状态和行为。由继承而得到的类称为子类,被继承的类称为父类。
步骤S103:定义刷新布局适配器接口并在所述刷新布局适配器接口中创建用于实现下拉刷新上拉加载视图控件的方法,让所述本地视图控件实现所述刷新布局适配器接口;其中,接口(Interface)的意义与图形用户界面(Graphical User Interface,简称GUI)的I所代表的接口并不相同,其是一种抽象类,是无法初始化的类。
在一些实施方式中,用于实现下拉刷新上拉加载视图控件的方法包括如下的一种或者多种:
自动开始刷新;
设置下拉刷新监听;
设置加载更多的监听;
使页面转变到完成刷新样式;
使页面展示完成加载且没有更多数据的样式;
使页面展示完成加载样式;
标记没有更多数据;
设置允许加载更多;
设置允许自动触发加载更多操作;
设置允许触发下拉刷新;
设置是否可见。
具体地,刷新布局适配器接口定义如下:
需要注意的是,该刷新布局适配器接口的实现则由本地视图控件实现,也即示例中的Bview是代表实现了刷新布局适配器接口的View控件。
步骤S105:在Activity的布局文件中使用所述本地视图控件,以使Activity持有所述刷新布局适配器接口。
具体地,在Activity的布局文件优选为activity_main_xml,这样在Activity中查找到这个BView控件后就可以转换成刷新布局适配器接口,然后持有这个接口,也即Activity中依赖的就不再是Aview控件而是BView控件,实现了解耦合的目的。
在一些实施方式中,为了解决第三方库替换的问题,本发明实施例一种第三方库引用的方法在Activity的布局文件中使用本地视图控件之后,包括如下步骤:
当第三方库被新的第三方库替换时,让本地视图控件转换继承新的第三方库中用于实现了下拉刷新上拉加载的新的第三方视图控件,并让转换继承后的本地视图控件实现所述刷新布局适配器接口。
在一些实施方式中,第三方库被新的第三方库替换可以为主动替换也可以为被动替换,本发明实施例对此不做限制。
示例地,假设CView代表新的第三方库中用于下拉刷新上拉加载库中实现了下拉刷新上拉加载功能的View控件,此时只需将Bview控件转换继承Cview控件并间接基于Cview控件重新实现刷新布局适配器接口即可实现调换,而这一切都是是布局文件中,使得Activity中无感知的实现了第三方库的调换,在一定程度上避免了对所有相关布局和页面的修改,提升了开发效率。
为了解决用户指令识别,本发明实施例一种第三方库引用的方法在Activity的布局文件中使用所述本地视图控件之后,还包括如下步骤:
根据当前页码信息识别用户指令信息。
具体地,根据当前页码信息识别用户指令信息包括如下步骤:
判断当前页码是否为起始页码;
若是,则用户指令信息为下拉刷新;
若否,则用户指令信息为上拉加载。
在一些实施方式中,当前页码可以通过预设的接口以及实现接口的类获取。示例地,假设当前页码为page,定义的预设的接口中的方法为getpage()。值得注意的是,在不同的编程语言中,预设的接口以及实现接口的类可以有所不同,本发明实施例对此不做限制。
为了解决第三方库下拉刷新的问题,本发明实施例一种第三方库引用的方法在Activity的布局文件中使用本地视图控件之后,包括如下步骤:
基于监听的下拉刷新的回调,按照预设页码格式将首页的页码设置为起始页码;发送首页请求并接收与首页请求对应的首页请求数据;
清空列表控件中的原有数据并用首页请求数据重新添加,通知列表控件更新。
在一些实施方式中,在基于监听的下拉刷新的回调之前,包括如下步骤:初始化本地视图控件和刷新布局适配器接口。
值得注意的是,当列表控件中的原有数据为空时,也需要清空以便于首页请求数据重新添加。
为了解决上拉加载的问题,本发明实施例一种第三方库引用的方法在Activity的布局文件中使用所述本地视图控件之后,包括如下步骤:
基于监听的上拉加载的回调,发送数据请求并接收与数据请求对应的响应数据;
解析响应数据,识别响应列表是否为空;
若否,则将响应数据追回到列表控件未尾,并通知列表控件更新。
为了解决同一个库不同的效果,本发明实施例一种第三方库引用的方法还可以定义刷新布局工厂接口,用于定义刷新布局适配器的初始化,及网络请求结束后刷新布局适配器的操作行为等。如果不同的业务场景中需要不同的下拉刷新上拉加载的实现样式,也即只需要提供不同的刷新布局工厂接口实现类即可。
值得注意的是,在一种实施本发明实施例一种第三方库引用的方法的过程中,定义了如下接口及实现接口的类。应当注意的是,以下实施方式并不是本发明实施例唯一的实现方式,本领域技术人员可以根据自己的语言或者编程习惯在不脱离本发明原理的前提下做出若干改进和润饰,而这些改进和润饰也应视为本发明的保护范围。
定义了一个通用的分页接口:用于处理分页请求相关的行为,如当前页面的获取,实现使用时可以根据具体的业务场景提供不同的分布接口实现类;
定义并实现了一个刷新构造类:用于固化分页接口实现类,及刷新布局适配器接口实现类的初始化顺序;
定义了一个列表控件适配器接口:统一抽象了ListView,RecyclerView等列表控件的适配器行为;
定义了一个下拉刷新监听适配器接口:用于监听下拉刷新的操作;
定义了一个加载更多监听适配器接口:用于监听上拉加载的操作;
定义了一个网络请求接口:用于发起具体的网络请求,常由Activity实现;
定义了一个网络响应接口:用于统一处理网络请求完成后的相关逻辑,如通知刷新布局更新,更新分页接口实现类的状态等;
定义了一个导演接口:用于完成刷新布局初始化,启动下拉刷新,接收网络请求成功的响应等;
定义并实现了一个导演接口实现类:提供了通用场景下的导演接口的实现。大部分场景下可以直接使用这个实现类即可,如果有其它特殊场景,也可以根据具体的业务场景提供其它的导演接口的实现类。
值得注意的是,在实际使用时Activity通常只需要调用跟导演接口即可,至于其具体应用过程可以参照本领域技术人员常规的方式进行,本发明实施例在此不再赘述。
在一些实施方式中,当网络请求完成后,通知刷新布局工厂接口中的刷新布局方法更新,更新通用的分页接口实现类相关的状态。
与现有技术相比,本发明实施例一种第三方库引用的方法具有如下有益效果:
本发明实施例一种第三方库引用的方法通过将创建本地视图控件继承第三方库并藉由实现的刷新布局适配器接口的方式,使得Activity中无感知的实现了第三方库的调换,在一定程度上避免了对所有相关布局和页面的修改,提升了开发效率。
请参阅图2,基于与本发明实施例一种第三方库引用的方法相同的发明构思,本发明另一实施例提供一种第三方库引用的装置,该第三方库引用的装置包括:
创建继承模块2002,用于创建本地视图控件,并让本地视图控件继承第三方库中用于实现了下拉刷新上拉加载的第三方视图控件;
适配实现模块2004,用于定义刷新布局适配器接口并在刷新布局适配器接口中创建用于实现下拉刷新上拉加载视图控件的方法,让本地视图控件实现刷新布局适配器接口;
使用模块2006,用于在Activity的布局文件中使用本地视图控件,以使Activity持有刷新布局适配器接口。
在一些实施方式中,第三方库引用的装置包括:
替换转换模块,用于在Activity的布局文件中使用本地视图控件之后,当第三方库被新的第三方库替换时,让本地视图控件转换继承新的第三方库中用于实现了下拉刷新上拉加载的新的第三方视图控件,并让转换继承后的本地视图控件实现所述刷新布局适配器接口。
优选地,用于实现下拉刷新上拉加载视图控件的方法包括如下的一种或者多种:
自动开始刷新;
设置下拉刷新监听;
设置加载更多的监听;
使页面转变到完成刷新样式;
使页面展示完成加载且没有更多数据的样式;
使页面展示完成加载样式;
标记没有更多数据;
设置允许加载更多;
设置允许自动触发加载更多操作;
设置允许触发下拉刷新;
设置是否可见。
在一些实施方式中,第三方库引用的装置包括:
下拉模块,用于在Activity的布局文件中使用本地视图控件之后,基于监听的下拉刷新的回调,按照预设页码格式将首页的页码设置为起始页码;发送首页请求并接收与首页请求对应的首页请求数据;
重添模块,用于清空列表控件中的原有数据并用首页请求数据重新添加,通知列表控件更新。
在一些实施方式中,第三方库引用的装置包括:
上拉模块,用于在Activity的布局文件中使用本地视图控件之后,基于监听的上拉加载的回调,发送数据请求并接收与数据请求对应的响应数据;
解析识别模块,用于解析响应数据,识别响应列表是否为空;
追加模块,用于在响应列表不为空时,将响应数据追回到列表控件未尾,并通知列表控件更新。
在一些实施方式中,第三方库引用的装置包括:
指令识别模块,用于在Activity的布局文件中使用本地视图控件之后,根据当前页码信息识别用户指令信息。
具体地,指令识别模块包括:
判断单元,用于判断当前页码是否为起始页码;
下拉指令单元,若当前页码为起始页码,则用户指令信息为下拉刷新;
上拉指令单元,若当前页码不为起始页码,则用户指令信息为上拉加载。
与现有技术相比,本发明另一实施例一种第三方库引用的装置具有如下有益效果:
本发明另一实施例一种第三方库引用的装置通过创建继承模块2002、适配实现模块2004以及使用模块2006的设置,使得Activity中无感知的实现了第三方库的调换,在一定程度上避免了对所有相关布局和页面的修改,提升了开发效率。
请参阅图3,基于与本发明实施例一种第三方库引用的方法相同的发明构思,本发明又一实施例提供一种移动终端。图3示出的是与本发明又一实施例提供的移动终端相关的手机的部分结构的框图。手机包括:射频(Radio Frequency,RF)电路1510、存储器1520、输入单元1530、显示单元1540、传感器1550、音频电路1560、无线保真(wireless fidelity,WiFi)模块1570、处理器1580、以及电源1590等部件。本领域技术人员可以理解,图3中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图3对手机的各个构成部件进行具体的介绍:
RF电路1510可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器1580处理;另外,将设计上行的数据发送给基站。通常,RF电路1510包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(LowNoiseAmplifier,LNA)、双工器等。此外,RF电路1510还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯***(Global System 0f Mobile communication,GSM)、通用分组无线服务(General PacketRadio Service,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器1520可用于存储软件程序以及模块,处理器1580通过运行存储在存储器1520的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器1520可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元1530可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元1530可包括触控面板1531以及其他输入设备1532。触控面板1531,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1531上或在触控面板1531附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板1531可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1580,并能接收处理器1580发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1531。除了触控面板1531,输入单元1530还可以包括其他输入设备1532。具体地,其他输入设备1532可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元1540可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元1540可包括显示面板1541,可选的,可以采用液晶显示器(LiquidCrystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板1541。进一步的,触控面板1531可覆盖显示面板1541,当触控面板1531检测到在其上或附近的触摸操作后,传送给处理器1580以确定触摸事件的类型,随后处理器1580根据触摸事件的类型在显示面板1541上提供相应的视觉输出。虽然在图3中,触控面板1531与显示面板1541是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板1531与显示面板1541集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器1550,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1541的亮度,接近传感器可在手机移动到耳边时,关闭显示面板1541和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路1560、扬声器1561,传声器1562可提供用户与手机之间的音频接口。音频电路1560可将接收到的音频数据转换后的电信号,传输到扬声器1561,由扬声器1561转换为声音信号输出;另一方面,传声器1562将收集的声音信号转换为电信号,由音频电路1560接收后转换为音频数据,再将音频数据输出处理器1580处理后,经RF电路1510以发送给比如另一手机,或者将音频数据输出至存储器1520以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块1570可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图3示出了WiFi模块1570,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器1580是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1520内的软件程序和/或模块,以及调用存储在存储器1520内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器1580可包括一个或多个处理单元;优选的,处理器1580可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1580中。
手机还包括给各个部件供电的电源1590(比如电池),优选的,电源可以通过电源管理***与处理器1580逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本发明又一实施例中,该移动终端所包括的处理器1580还具有以下功能:
一个或多个应用程序,其中一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序配置用于:
创建本地视图控件,并让所述本地视图控件继承第三方库中用于实现了下拉刷新上拉加载的第三方视图控件;
定义刷新布局适配器接口并在所述刷新布局适配器接口中创建用于实现下拉刷新上拉加载视图控件的方法,让所述本地视图控件实现所述刷新布局适配器接口;
在Activity的布局文件中使用所述本地视图控件,以使Activity持有所述刷新布局适配器接口。
在一些实施方式中,所述在Activity的布局文件中使用所述本地视图控件之后,包括如下步骤:
当第三方库被新的第三方库替换时,让本地视图控件转换继承新的第三方库中用于实现了下拉刷新上拉加载的新的第三方视图控件,并让转换继承后的本地视图控件实现所述刷新布局适配器接口。
具体地,所述用于实现下拉刷新上拉加载视图控件的方法包括如下的一种或者多种:
自动开始刷新;
设置下拉刷新监听;
设置加载更多的监听;
使页面转变到完成刷新样式;
使页面展示完成加载且没有更多数据的样式;
使页面展示完成加载样式;
标记没有更多数据;
设置允许加载更多;
设置允许自动触发加载更多操作;
设置允许触发下拉刷新;
设置是否可见。
在一些实施方式中,所述在Activity的布局文件中使用所述本地视图控件之后,包括如下步骤:
基于监听的下拉刷新的回调,按照预设页码格式将首页的页码设置为起始页码;发送首页请求并接收与所述首页请求对应的首页请求数据;
清空列表控件中的原有数据并用所述首页请求数据重新添加,通知所述列表控件更新。
在一些实施方式中,所述在Activity的布局文件中使用所述本地视图控件之后,包括如下步骤:
基于监听的上拉加载的回调,发送数据请求并接收与所述数据请求对应的响应数据;
解析所述响应数据,识别响应列表是否为空;
若否,则将所述响应数据追回到列表控件未尾,并通知列表控件更新。
在一些实施方式中,所述在Activity的布局文件中使用所述本地视图控件之后,包括如下步骤:
根据当前页码信息识别用户指令信息。
具体地,所述根据当前页码信息识别用户指令信息包括如下步骤:
判断当前页码是否为起始页码;
若是,则用户指令信息为下拉刷新;
若否,则用户指令信息为上拉加载。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
与现有技术相比,本发明又一实施例一种移动终端具有如下有益效果:
本发明本发明又一实施例一种移动终端通过将创建本地视图控件继承第三方库并藉由实现的刷新布局适配器接口的方式,使得Activity中无感知的实现了第三方库的调换,在一定程度上避免了对所有相关布局和页面的修改,提升了开发效率。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,RandomAccessMemory)、磁盘或光盘等。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (15)
1.一种第三方库引用的方法,其特征在于,所述第三方库引用的方法包括如下步骤:
创建本地视图控件,并让所述本地视图控件继承第三方库中用于实现了下拉刷新上拉加载的第三方视图控件;
定义刷新布局适配器接口并在所述刷新布局适配器接口中创建用于实现下拉刷新上拉加载视图控件的方法,让所述本地视图控件实现所述刷新布局适配器接口;
在Activity的布局文件中使用所述本地视图控件,以使Activity持有所述刷新布局适配器接口。
2.如权利要求1所述的第三方库引用的方法,其特征在于,所述在Activity的布局文件中使用所述本地视图控件之后,包括如下步骤:
当第三方库被新的第三方库替换时,让本地视图控件转换继承新的第三方库中用于实现了下拉刷新上拉加载的新的第三方视图控件,并让转换继承后的本地视图控件实现所述刷新布局适配器接口。
3.如权利要求1所述的第三方库引用的方法,其特征在于,所述用于实现下拉刷新上拉加载视图控件的方法包括如下的一种或者多种:
自动开始刷新;
设置下拉刷新监听;
设置加载更多的监听;
使页面转变到完成刷新样式;
使页面展示完成加载且没有更多数据的样式;
使页面展示完成加载样式;
标记没有更多数据;
设置允许加载更多;
设置允许自动触发加载更多操作;
设置允许触发下拉刷新;
设置是否可见。
4.如权利要求1所述的第三方库引用的方法,其特征在于,所述在Activity的布局文件中使用所述本地视图控件之后,包括如下步骤:
基于监听的下拉刷新的回调,按照预设页码格式将首页的页码设置为起始页码;发送首页请求并接收与所述首页请求对应的首页请求数据;
清空列表控件中的原有数据并用所述首页请求数据重新添加,通知所述列表控件更新。
5.如权利要求1所述的第三方库引用的方法,其特征在于,所述在Activity的布局文件中使用所述本地视图控件之后,包括如下步骤:
基于监听的上拉加载的回调,发送数据请求并接收与所述数据请求对应的响应数据;
解析所述响应数据,识别响应列表是否为空;
若否,则将所述响应数据追回到列表控件未尾,并通知列表控件更新。
6.如权利要求1所述的第三方库引用的方法,其特征在于,所述在Activity的布局文件中使用所述本地视图控件之后,包括如下步骤:
根据当前页码信息识别用户指令信息。
7.如权利要求6所述的第三方库引用的方法,其特征在于,所述根据当前页码信息识别用户指令信息包括如下步骤:
判断当前页码是否为起始页码;
若是,则用户指令信息为下拉刷新;
若否,则用户指令信息为上拉加载。
8.一种第三方库引用的装置,其特征在于,所述第三方库引用的装置包括:
创建继承模块,用于创建本地视图控件,并让所述本地视图控件继承第三方库中用于实现了下拉刷新上拉加载的第三方视图控件;
适配实现模块,用于定义刷新布局适配器接口并在所述刷新布局适配器接口中创建用于实现下拉刷新上拉加载视图控件的方法,让所述本地视图控件实现所述刷新布局适配器接口;
使用模块,用于在Activity的布局文件中使用所述本地视图控件,以使Activity持有所述刷新布局适配器接口。
9.如权利要求8所述的第三方库引用的装置,其特征在于,所述第三方库引用的装置包括:
替换转换模块,用于在Activity的布局文件中使用所述本地视图控件之后,当第三方库被新的第三方库替换时,让本地视图控件转换继承新的第三方库中用于实现了下拉刷新上拉加载的新的第三方视图控件,并让转换继承后的本地视图控件实现所述刷新布局适配器接口。
10.如权利要求8所述的第三方库引用的装置,其特征在于,所述用于实现下拉刷新上拉加载视图控件的方法包括如下的一种或者多种:
自动开始刷新;
设置下拉刷新监听;
设置加载更多的监听;
使页面转变到完成刷新样式;
使页面展示完成加载且没有更多数据的样式;
使页面展示完成加载样式;
标记没有更多数据;
设置允许加载更多;
设置允许自动触发加载更多操作;
设置允许触发下拉刷新;
设置是否可见。
11.如权利要求8所述的第三方库引用的装置,其特征在于,所述第三方库引用的装置包括:
下拉模块,用于在Activity的布局文件中使用所述本地视图控件之后,基于监听的下拉刷新的回调,按照预设页码格式将首页的页码设置为起始页码;发送首页请求并接收与所述首页请求对应的首页请求数据;
重添模块,用于清空列表控件中的原有数据并用所述首页请求数据重新添加,通知所述列表控件更新。
12.如权利要求8所述的第三方库引用的装置,其特征在于,所述第三方库引用的装置包括:
上拉模块,用于在Activity的布局文件中使用所述本地视图控件之后,基于监听的上拉加载的回调,发送数据请求并接收与所述数据请求对应的响应数据;
解析识别模块,用于解析所述响应数据,识别响应列表是否为空;
追加模块,用于在响应列表不为空时,将所述响应数据追回到列表控件未尾,并通知列表控件更新。
13.如权利要求8所述的第三方库引用的装置,其特征在于,所述第三方库引用的装置包括:
指令识别模块,用于在Activity的布局文件中使用所述本地视图控件之后,根据当前页码信息识别用户指令信息。
14.如权利要求13所述的第三方库引用的装置,其特征在于,所述指令识别模块包括:
判断单元,用于判断当前页码是否为起始页码;
下拉指令单元,若当前页码为起始页码,则用户指令信息为下拉刷新;
上拉指令单元,若当前页码不为起始页码,则用户指令信息为上拉加载。
15.一种移动终端,其特征在于,包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行如权利要求1-7中任意一项所述的第三方库引用的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010074797.5A CN111309325B (zh) | 2020-01-22 | 2020-01-22 | 一种第三方库引用的方法、装置及移动终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010074797.5A CN111309325B (zh) | 2020-01-22 | 2020-01-22 | 一种第三方库引用的方法、装置及移动终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111309325A CN111309325A (zh) | 2020-06-19 |
CN111309325B true CN111309325B (zh) | 2023-08-18 |
Family
ID=71145171
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010074797.5A Active CN111309325B (zh) | 2020-01-22 | 2020-01-22 | 一种第三方库引用的方法、装置及移动终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111309325B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111782304B (zh) * | 2020-07-21 | 2024-04-02 | 深圳赛安特技术服务有限公司 | 分页加载数据逻辑控制方法、装置、计算机设备及介质 |
CN114816369B (zh) * | 2022-06-29 | 2022-10-04 | 易方信息科技股份有限公司 | 一种Android端支持安全裁剪第三方库的方法及装置 |
CN115809056B (zh) * | 2023-02-07 | 2023-05-05 | 深圳复临科技有限公司 | 组件复用实现方法、装置和终端设备、可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102981861A (zh) * | 2012-12-12 | 2013-03-20 | 上海航天测控通信研究所 | 一种基于Qt的自定义控件的使用方法 |
CN103902634A (zh) * | 2012-12-30 | 2014-07-02 | 航天信息股份有限公司 | 利用Adapter实现View组件与数据库字段自动绑定的方法 |
CN105094683A (zh) * | 2015-06-30 | 2015-11-25 | 北京金山安全软件有限公司 | 一种数据显示方法以及装置 |
CN108170416A (zh) * | 2017-12-28 | 2018-06-15 | 北京云杉世纪网络科技有限公司 | 一种构建web前端的方法及*** |
CN109976851A (zh) * | 2019-03-15 | 2019-07-05 | 努比亚技术有限公司 | 菜单项显示方法、可穿戴设备以及计算机可读存储介质 |
-
2020
- 2020-01-22 CN CN202010074797.5A patent/CN111309325B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102981861A (zh) * | 2012-12-12 | 2013-03-20 | 上海航天测控通信研究所 | 一种基于Qt的自定义控件的使用方法 |
CN103902634A (zh) * | 2012-12-30 | 2014-07-02 | 航天信息股份有限公司 | 利用Adapter实现View组件与数据库字段自动绑定的方法 |
CN105094683A (zh) * | 2015-06-30 | 2015-11-25 | 北京金山安全软件有限公司 | 一种数据显示方法以及装置 |
CN108170416A (zh) * | 2017-12-28 | 2018-06-15 | 北京云杉世纪网络科技有限公司 | 一种构建web前端的方法及*** |
CN109976851A (zh) * | 2019-03-15 | 2019-07-05 | 努比亚技术有限公司 | 菜单项显示方法、可穿戴设备以及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111309325A (zh) | 2020-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111309325B (zh) | 一种第三方库引用的方法、装置及移动终端 | |
CN103500002B (zh) | 应用程序管理的方法、装置及终端设备 | |
CN107734616B (zh) | 应用程序关闭方法、装置、存储介质和电子设备 | |
CN104135500B (zh) | 提示应用更新的方法和*** | |
US11057762B2 (en) | Electronic device and method for switching electronic device between dual standby mode and single standby mode | |
EP3410299B1 (en) | Electronic device for controlling application and operation method thereof | |
CN104093123B (zh) | 应用程序的信息推送方法、装置和***、移动终端 | |
CN108549519A (zh) | 分屏处理方法、装置、存储介质和电子设备 | |
CN106227588A (zh) | 一种多实例对象的创建方法、装置及移动终端 | |
EP3671451B1 (en) | Method of automatically releasing resource occupied by background process of terminal, storage medium and terminal | |
CN110046497B (zh) | 一种函数挂钩实现方法、装置和存储介质 | |
CN103473092A (zh) | 一种下载应用的处理方法、装置及终端设备 | |
CN106713608B (zh) | 应用的功能状态修改方法、装置及终端 | |
KR20150033505A (ko) | 전자 장치에서 절전 모드를 수행하는 방법 및 이를 위한 전자 장치 | |
EP2869604B1 (en) | Method, apparatus and device for processing a mobile terminal resource | |
CN106534288A (zh) | 一种数据传输方法及移动终端 | |
CN111104180B (zh) | 应用程序优化方法、装置、存储介质及电子设备 | |
US11150913B2 (en) | Method, device, and terminal for accelerating startup of application | |
CN111435318A (zh) | 应用程序的dex优化方法及终端 | |
CN106230919B (zh) | 一种文件上传的方法和装置 | |
JP6685538B2 (ja) | アプリケーション加速方法およびデバイス | |
CN115357829A (zh) | 一种页面控件的曝光埋点方法、装置及存储介质 | |
CN109286571A (zh) | 移动终端及应用程序限核及限网的方法、装置和存储装置 | |
CN112261634B (zh) | 一种蓝牙传输控制方法、装置、终端设备和存储介质 | |
KR20150117967A (ko) | 애플리케이션 패키지를 생성하는 장치 및 방법 |
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 |