一种界面切换到后台运行自动刷新数据的方法和系统的制作方法

文档序号:6619695阅读:473来源:国知局
一种界面切换到后台运行自动刷新数据的方法和系统的制作方法
【专利摘要】本发明公开一种界面切换到后台运行自动刷新数据的方法和系统,本发明方法通过加入一个监听者,监听指定界面执行OnResume()和OnStop(),当指定界面执行onStop()的时候判断是否等于onResume()的那个界面,如果是就表示指定界面是处于后台了,所以当再一次切入到OnResume(),发送HTTP请求到服务器请求数据,实现当指定界面一旦处于后台,再处于前台刷新数据的方法。本发明解决现有技术不能监听home键,导致界面切换到后台运行时,无法探测界面相关数据是否更新,从而无法实现界面呈现的数据内容实时更新的问题。
【专利说明】一种界面切换到后台运行自动刷新数据的方法和系统

【技术领域】
[0001] 本发明涉及数据刷新【技术领域】,尤其涉及一种界面切换到后台运行自动刷新数据 的方法和系统。

【背景技术】
[0002] 在android中,Activity拥有四种基本状态:
[0003] 1. Active/Runing
[0004] -个新Activity启动入栈后,它显示在屏幕最前端,处理是处于栈的最顶端 (Activity栈顶),此时它处于可见并可和用户交互的激活状态,叫做活动状态或者运行状 态(active or running)〇
[0005] 2. Paused
[0006] 当Activity失去焦点,被一个新的非全屏的Activity或者一个透明的Activity 被放置在栈顶,此时的状态叫做暂停状态(Paused)。此时它依然与窗口管理器保持连接, Activity依然保持活力(保持所有的状态,成员信息,和窗口管理器保持连接),但是在系 统内存极端低下的时候将被强行终止掉。所以它仍然可见,但已经失去了焦点故不可与用 户进行交互。
[0007] 3. Stoped
[0008] 如果一个Activity被另外的Activity完全覆盖掉,叫做停止状态(Stopped)。它 依然保持所有状态和成员信息,但是它不再可见,所以它的窗口被隐藏,当系统内存需要被 用在其他地方的时候,Stopped的Activity将被强行终止掉。
[0009] 4. Killed
[0010] 如果一个Activity是Paused或者Stopped状态,系统可以将该Activity从内存 中删除,Android系统采用两种方式进行删除,要么要求该Activity结束,要么直接终止它 的进程。当该Activity再次显示给用户时,它必须重新开始和重置前面的状态。
[0011] 自从Android4.0以后,开发人员是不能监听和屏蔽Home键的,对于KEYC0DE_ HOME,官方给出的描述如下:Home key. This key is handled by the framework and is never delivered to applications.所以,除非修改 Framework,都不能直接监听 Home 键 了;若监听Log日志,但是现在按Home键是不显示Log日志的,而且不同的手机型号即使显 不也不会一样。
[0012] 在android中,每一个Activity在启动的时候都要执行OnResume ()方法,而 且,每一个Activity在被结束的时候都要执行OnStop方法,并且,用户在按Home键之后 Activity也是要执行OnstopO方法。因此,在现有技术中,一般采用在每一个Activity的 OnStopO方法中,判断一下所有的Activity的状态,如果所有的Activity都不可见的时 候(都执行过OnStopO),才执行想要做的操作。但是,当应用程序界面比较多,又希望在 指定界面处于后台再切入到前台时就请求服务器刷新数据,很多应用程序都需要监听HOME 键来执行ACTIVITY的生命,却无法实现服务器刷新数据的功能。
[0013] 由于现有技术不能监听home键,当界面切换到后台运行时,即便服务器上存储的 界面相关数据内容有添加、删除及修改,当界面再切入到前台时却无法自动更新,使得界面 呈现的数据内容无法实现实时更新。


【发明内容】

[0014] 本发明实施例的目的在于提出一种界面切换到后台运行自动刷新数据的方法,旨 在解决现有技术不能监听home键,导致界面切换到后台运行时,无法探测界面相关数据是 否更新,从而无法实现界面呈现的数据内容实时更新的问题。
[0015] 本发明实施例是这样实现的,一种界面切换到后台运行自动刷新数据的方法,所 述方法包括以下步骤:
[0016] 建立一个监听者,用于监听指定界面的状态;
[0017] 设定指定界面为可见;
[0018] 当监听到指定界面不可见时,执行OnStopO方法;
[0019] 继续监听,当监听到指定界面可见时,执行OnResumeO方法,并发送http请求,请 求服务器更新其存储的指定界面相关数据;
[0020] 判断服务器中存储的所述指定界面相关数据是否有更新,若有更新,则刷新指定 界面相关数据显示;若未更新,则不作处理。
[0021] 本发明实施例的另一目的在于提出一种界面切换到后台运行自动刷新数据的系 统,所述系统包括移动终端和服务器;
[0022] 移动终端包括:
[0023] 监听模块,用于建立一个监听者,用于监听指定界面的状态;
[0024] 可见界面设定模块,用于设定指定界面为可见;
[0025] 指定界面,为设定的当前状态为可见的用户操作界面;
[0026] OnStopO方法执行模块,用于当监听到指定界面不可见时,执行OnStopO方法;
[0027] OnResumeO方法执行模块,用于当监听到指定界面可见时,执行OnResumeO方 法;
[0028] 数据更新请求发送模块,用于发送http请求,请求服务器更新其存储的指定界面 相关数据;
[0029] 数据更新情况获取模块,用于呼叫服务器进行判断指定界面相关数据是否有更 新,并接收服务器反馈的指定界面相关数据更新状况;
[0030] 界面数据刷新模块,用于当获知服务器中存储的指定界面相关数据有更新时,刷 新移动终端指定界面中的相关数据;
[0031] 服务器包括:
[0032] 数据存储模块,用于存储指定界面相关数据;
[0033] 信息处理模块,用于接收移动终端发送的更新数据的http请求,并通知服务器数 据更新模块开始执行;并用于接收移动终端发送的呼叫服务器进行判断指定界面相关数据 是否有更新的请求,并通知数据更新情况判断模块执行,并用于接收数据更新情况判断模 块反馈的判断结果,将所述判断结果发送给移动终端;
[0034] 服务器数据更新模块,用于根据信息处理模块的通知更新指定界面相关数据;
[0035] 数据更新情况判断模块,用于根据信息处理模块的通知判断服务器中存储的所述 指定界面相关数据是否有更新,并将判断结果发送给信息处理模块。
[0036] 本发明的有益效果
[0037] 本发明公开一种界面切换到后台运行自动刷新数据的方法,通过加入一个监听 者,监听指定界面执行OnResumeO和OnStopO,当指定界面执行onStopO的时候判断是 否等于onResume ()的那个界面,如果是就表示指定界面是处于后台了,所以当再一次切入 到OnResume (),发送HTTP请求到服务器请求数据,实现当指定界面一旦处于后台,再处于 前台刷新数据的方法,同时也可以间接实现一个B监听者里的借口,实现按HOME键的监听。

【专利附图】

【附图说明】
[0038] 图1是本发明优选实施例一种界面切换到后台运行自动刷新数据的方法流程图;
[0039] 图2是本发明优选实施例一种界面切换到后台运行自动刷新数据的系统结构图。

【具体实施方式】
[0040] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图和实施例,对 本发明进行进一步详细说明,为了便于说明,仅示出了与本发明实施例相关的部分。应当理 解,此处所描写的具体实施例,仅仅用于解释本发明,并不用以限制本发明。
[0041] 本发明实施例公开一种界面切换到后台运行自动刷新数据的方法,通过加入一个 监听者,监听指定界面执行OnResume ()和OnStop (),当指定界面执行onStop ()的时候判断 是否等于onResumeO的那个界面,如果是就表示指定界面是处于后台了,所以当再一次切 入到OnResume (),发送HTTP请求到服务器请求数据,实现当指定界面一旦处于后台,再处 于前台刷新数据的方法,同时也可以间接实现一个B监听者里的借口,实现按HOME键的监 听。
[0042] 实施例一
[0043] 图1是本发明优选实施例一种界面切换到后台运行自动刷新数据的方法流程图; 所述方法包括以下步骤:
[0044] S101,建立一个监听者,用于监听指定界面的状态;
[0045] 所述指定界面的状态包括可见和不可见;
[0046] S102,设定指定界面为可见;
[0047] S103,当监听到指定界面不可见时,执行OnStop ()方法;
[0048] 判定所述指定界面不可见(即指定界面处于后台运行)的方法为:
[0049] 首先指定界面执行onResume ()方法,然后监听指定界面执行OnResume ()和 OnStopO方法;当指定界面执行onStopO方法时,判断此时指定界面是否等于指定界面执 行onResumeO时的界面,如果是,则表示指定界面处于后台。
[0050] 在此步骤中(步骤S103),只有当监听到指定界面不可见时,才做相关处理;若指 定界面可见,则不做处理,只是继续监听。
[0051] S104,继续监听,当监听到指定界面可见时,执行OnResumeO方法,并发送http请 求,请求服务器更新其存储的指定界面相关数据;
[0052] 在此步骤中(步骤S104),只有当监听到指定界面可见时,才做相关处理;若指定 界面不可见,则不做处理,只是继续监听。
[0053] S105,判断服务器中存储的所述指定界面相关数据是否有更新,若有更新,则刷新 指定界面相关数据显示;若未更新,则不作处理。
[0054] 下面假设所述指定界面为Android播放器中某一播放界面(称为第一播放界面) 对以上步骤进行具体说明:
[0055] 首先创建一个监听对象,用于监听第一播放界面是否可见,当监听第一播放界面 不可见时,则执行OnStopO方法(告诉监听者第一播放界面不可见);
[0056] 继续监听,当监听到第一播放界面可见时,执行OnResume ()方法(告诉监听者第 一播放界面可见),并发送http请求,请求服务器更新其存储的所述第一播放界面的播放 节目数据;
[0057] 接着判断服务器上存储的所述第一播放界面的播放节目数据是否有更新,若有更 新,则更新第一播放界面中的播放节目数据;若无更新,则不作处理。
[0058] 实施例二
[0059] 图2是本发明优选实施例一种界面切换到后台运行自动刷新数据的系统结构图。 所述系统包括移动终端和服务器;
[0060] 移动终端包括:
[0061] 监听模块,用于建立一个监听者,用于监听指定界面的状态;
[0062] 可见界面设定模块,用于设定指定界面为可见;
[0063] 指定界面,为设定的当前状态为可见的用户操作界面;
[0064] OnStopO方法执行模块,用于当监听到指定界面不可见时,执行OnStopO方法;
[0065] OnResume ()方法执行模块,用于当监听到指定界面可见时,执行OnResume ()方 法;
[0066] 数据更新请求发送模块,用于发送http请求,请求服务器更新其存储的指定界面 相关数据;
[0067] 数据更新情况获取模块,用于呼叫服务器进行判断指定界面相关数据是否有更 新,并接收服务器反馈的指定界面相关数据更新状况;
[0068] 界面数据刷新模块,用于当获知服务器中存储的指定界面相关数据有更新时,刷 新移动终端指定界面中的相关数据;
[0069] 服务器包括:
[0070] 数据存储模块,用于存储指定界面相关数据;
[0071] 信息处理模块,用于接收移动终端发送的更新数据的http请求,并通知服务器数 据更新模块开始执行;并用于接收移动终端发送的呼叫服务器进行判断指定界面相关数据 是否有更新的请求,并通知数据更新情况判断模块执行,并用于接收数据更新情况判断模 块反馈的判断结果,将所述判断结果发送给移动终端;
[0072] 服务器数据更新模块,用于根据信息处理模块的通知更新指定界面相关数据;
[0073] 数据更新情况判断模块,用于根据信息处理模块的通知判断服务器中存储的所述 指定界面相关数据是否有更新,并将判断结果发送给信息处理模块;
[0074] 本领域的普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可 以通过程序指令相关硬件来完成的,所述的程序可以存储于一计算机可读取存储介质中, 所述的存储介质可以为ROM、RAM、磁盘、光盘等。
[0075] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精 神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【权利要求】
1. 一种界面切换到后台运行自动刷新数据的方法,其特征在于,所述方法包括以下步 骤: 建立一个监听者,用于监听指定界面的状态; 设定指定界面为可见; 当监听到指定界面不可见时,执行OnStopO方法; 继续监听,当监听到指定界面可见时,执行OnResume ()方法,并发送http请求,请求服 务器更新其存储的指定界面相关数据; 判断服务器中存储的所述指定界面相关数据是否有更新,若有更新,则刷新指定界面 相关数据显示;若未更新,则不作处理。
2. 如权利要求1所述的界面切换到后台运行自动刷新数据的方法,其特征在于,所述 指定界面的状态包括可见和不可见。
3. 如权利要求1所述的界面切换到后台运行自动刷新数据的方法,其特征在于,判定 所述指定界面不可见的方法为: 首先指定界面执行onResume ()方法,然后监听指定界面执行OnResume ()和OnStopO 方法;当指定界面执行onStopO方法时,判断此时指定界面是否等于指定界面执行 onResume ()时的界面,如果是,则表示指定界面处于后台。
4. 如权利要求1所述的界面切换到后台运行自动刷新数据的方法,其特征在于,判定 所述指定界面为Android播放器中的界面。
5. -种界面切换到后台运行自动刷新数据的系统,其特征在于,所述系统包括移动终 端和服务器; 移动终端包括: 监听模块,用于建立一个监听者,用于监听指定界面的状态; 可见界面设定模块,用于设定指定界面为可见; 指定界面,为设定的当前状态为可见的用户操作界面; OnStopO方法执行模块,用于当监听到指定界面不可见时,执行OnStopO方法; OnResumeO方法执行模块,用于当监听到指定界面可见时,执行OnResumeO方法; 数据更新请求发送模块,用于发送http请求,请求服务器更新其存储的指定界面相关 数据; 数据更新情况获取模块,用于呼叫服务器进行判断指定界面相关数据是否有更新,并 接收服务器反馈的指定界面相关数据更新状况; 界面数据刷新模块,用于当获知服务器中存储的指定界面相关数据有更新时,刷新移 动终端指定界面中的相关数据; 服务器包括: 数据存储模块,用于存储指定界面相关数据; 信息处理模块,用于接收移动终端发送的更新数据的http请求,并通知服务器数据更 新模块开始执行;并用于接收移动终端发送的呼叫服务器进行判断指定界面相关数据是否 有更新的请求,并通知数据更新情况判断模块执行,并用于接收数据更新情况判断模块反 馈的判断结果,将所述判断结果发送给移动终端; 服务器数据更新模块,用于根据信息处理模块的通知更新指定界面相关数据; 数据更新情况判断模块,用于根据信息处理模块的通知判断服务器中存储的所述指定 界面相关数据是否有更新,并将判断结果发送给信息处理模块。
6.如权利要求5所述的界面切换到后台运行自动刷新数据的系统,其特征在于,所述 OnStopO方法执行模块中,判定所述指定界面不可见的方法为: 首先指定界面执行onResumeO方法,然后监听指定界面执行OnResumeO和OnStopO 方法;当指定界面执行onStopO方法时,判断此时指定界面是否等于指定界面执行 onResume ()时的界面,如果是,则表示指定界面处于后台。
【文档编号】G06F9/48GK104123181SQ201410326440
【公开日】2014年10月29日 申请日期:2014年7月10日 优先权日:2014年7月10日
【发明者】廖攀攀, 唐涛 申请人:深圳市云宙多媒体技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1