CN109254819A - 基于安卓系统的界面更新方法、系统、设备及存储介质 - Google Patents

基于安卓系统的界面更新方法、系统、设备及存储介质 Download PDF

Info

Publication number
CN109254819A
CN109254819A CN201811005600.1A CN201811005600A CN109254819A CN 109254819 A CN109254819 A CN 109254819A CN 201811005600 A CN201811005600 A CN 201811005600A CN 109254819 A CN109254819 A CN 109254819A
Authority
CN
China
Prior art keywords
data
interface
mentioned
thread
observed person
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.)
Pending
Application number
CN201811005600.1A
Other languages
English (en)
Inventor
陈树人
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Dashi Intelligent Technology Co Ltd
Original Assignee
Shenzhen Dashi Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Dashi Intelligent Technology Co Ltd filed Critical Shenzhen Dashi Intelligent Technology Co Ltd
Priority to CN201811005600.1A priority Critical patent/CN109254819A/zh
Publication of CN109254819A publication Critical patent/CN109254819A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明揭示了一种基于安卓系统的界面更新方法、系统、设备及存储介质,包括步骤:在IO线程上通过被观察者获取返回数据;将所述返回数据从所述IO线程切换至主线程;对所述返回数据进行处理得到界面数据;判断所述界面数据是否异常;若否,则通过观察者使用所述界面数据更新界面。本发明的基于安卓系统的界面更新方法、系统、设备及存储介质的有益效果为:通过将在IO线程获取的返回数据在主线程进行处理得到界面数据,利用响应式的观察者和被观察者模式完成请求数据更新安卓系统的界面,减少开辟子线程的需求,缩短数据处理的时间,从而及时更新界面,避免界面出现卡顿的现象。

Description

基于安卓系统的界面更新方法、系统、设备及存储介质
技术领域
本发明涉及到移动通讯技术领域,特别是涉及到一种基于安卓系统的界面更新方法、系统、设备及存储介质。
背景技术
在安卓中经常涉及到用户界面的更新,在更新用户界面时,有时候需要先处理很多耗时任务,等耗时任务处理完成,并得出结果后才能对用户界面进行更新。在安卓系统中,如果主线程中的耗时操作超过5秒钟就会产生ANR(Application Not Responding,应用程序无响应)错误,严重影响用户体验。
传统的开发过程中,将耗时任务存放到子线程中进行处理。但是,耗时任务在子线程中进行处理会产生子线程和主线程通信的问题。在安卓中子线程和主线程通信的工具是Handler,需要维系一套消息队列,这样整个逻辑实现起来非常复杂,需要在主线程和子线程之间进行来回的消息通信流程,导致程序结果混乱;代码量多,可读性差,不同协议请求方式基本相同,但是都需要重复写代码去请求数据,大大增加了代码行数,让其他开发人员维护可读性变差;可控制性差,每一次请求数据都需要开一个子线程,然后需要对子线程请求数据做大量的情况处理,很容易出现错误。
发明内容
本发明的主要目的为提供一种基于安卓系统的界面更新方法、系统、设备及存储介质,以解决上述背景技术中所提及的技术问题。
本发明提出一种基于安卓系统的界面更新方法,包括步骤:
在IO线程上通过被观察者获取返回数据;
将上述返回数据从上述IO线程切换至主线程;
对上述返回数据进行处理得到界面数据;
判断上述界面数据是否异常;
若否,则通过观察者使用上述界面数据更新界面。
进一步地,在上述基于安卓系统的界面更新方法中,在上述在IO线程上通过被观察者获取返回数据的步骤之前,还包括步骤:
在上述主线程创建上述被观察者,并通过第一指定算法切换将上述被观察者切换至上述IO线程。
进一步地,在上述基于安卓系统的界面更新方法中,上述在IO线程上通过被观察者获取返回数据的步骤包括步骤:
在上述IO线程上通过上述被观察者发送网络数据或者其他耗时数据至服务器;
接收上述服务器发送的上述返回数据。
进一步地,在上述基于安卓系统的界面更新方法中,上述对上述返回数据进行处理得到界面数据的步骤包括步骤:
在上述主线程上将上述返回数据清洗得到上述界面数据。
进一步地,在上述基于安卓系统的界面更新方法中,在上述对上述返回数据进行处理得到界面数据的步骤之后,还包括步骤:
通过第二指定算法订阅上述被观察者和上述观察者。
进一步地,在上述基于安卓系统的界面更新方法中,在上述判断上述界面数据是否异常的步骤之后,还包括步骤:
若是,则匹配上述界面数据的异常情况,并发送错误原因信息至用户。
进一步地,在上述基于安卓系统的界面更新方法中,上述匹配异常类型的异常情况,并发送错误原因信息至用户的步骤包括步骤:
将上述界面数据的异常情况与异常情况列表中的异常情况匹配,并生成匹配结果;
根据上述匹配结果发送上述错误原因信息至上述用户。
本发明还提出一种基于安卓系统的界面更新系统,包括:
数据获取模块,用于在IO线程上通过被观察者获取返回数据;
IO线程切换模块,用于将上述IO线程切换至主线程;
返回数据处理模块,用于对上述返回数据从进行处理得到界面数据;
判断模块,用于判断上述界面数据是否异常;
更新界面模块,用于通过观察者使用上述界面数据更新界面。
本发明还提出一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,上述处理器执行上述程序时实现如实施例中任意一项所述的方法。
本发明还提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如实施例中任意一项所述的方法。
本发明的基于安卓系统的界面更新方法、系统、设备及存储介质的有益效果为:通过将在IO线程获取的返回数据在主线程进行处理得到界面数据,利用响应式的观察者和被观察者模式完成请求数据更新安卓系统的界面,减少开辟子线程的需求,缩短数据处理的时间,从而及时更新界面,避免界面出现卡顿的现象;并且,通过上述界面数据的异常情况匹配情况,获得上述错误原因信息,并将上述错误原因信息发送至上述用户,提示用户出现错误的原因。
附图说明
图1是本发明一实施例的基于安卓系统的界面更新方法的流程示意图;
图2是本发明一实施例的基于安卓系统的界面更新方法的流程示意图;
图3是本发明一实施例的基于安卓系统的界面更新方法的流程示意图;
图4是本发明一实施例的基于安卓系统的界面更新方法的流程示意图;
图5是本发明一实施例的基于安卓系统的界面更新方法的流程示意图;
图6是本发明一实施例的基于安卓系统的界面更新方法的流程示意图;
图7是本发明一实施例的基于安卓系统的界面更新方法的流程示意图;
图8是本发明一实施例的基于安卓系统的界面更新系统的结构示意图;
图9是本发明一实施例的一种计算机设备的结构示意图。
1、数据获取模块;2、IO线程切换模块;3、返回数据处理模块;4、判断模块;5、更新界面模块;6、计算机设备;7、外部设备;8、处理单元;9、总线;10、网络适配器;11、(I/O)接口;12、显示器;13、系统存储器;14、随机存取存储器(RAM);15、高速缓存存储器;16、存储系统;17、程序/实用工具;18、程序模块。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
参照图1,在本发明实施例中,提出了一种基于安卓系统的界面更新方法,包括步骤:
S1、在IO线程上通过被观察者获取返回数据;
S2、将上述返回数据从上述IO线程切换至主线程;
S3、对上述返回数据进行处理得到界面数据;
S4、判断上述界面数据是否异常;
S5、若否,则通过观察者使用上述界面数据更新界面。
如上述步骤S1,在IO线程上通过被观察者获取返回数据,避免上述观察者在上述主线程中进行网络数据请求或其他耗时数据的请求操作,防止上述主线程堵塞而导致系统出现未响应的情况出现,利用上述被观察者的map操作符进行发送网络数据请求信息或者其他耗时数据请求信息至服务器,上述服务器根据原始的网络数据或者其他耗时数据获取满足需求的上述返回数据。
如上述步骤S2,将上述返回数据从上述IO线程切换至主线程,利用算法observeOn(AndroidSchedulers.mainThread())将上述返回数据从上述IO线程切换至主线程,在上述主线程上处理上述返回数据,减少开辟子线程的需求。
如上述步骤S3,对上述返回数据进行处理得到界面数据,在上述主线程上处理上述返回数据,减少开辟子线程的需求,缩短数据处理的时间,从而及时更新界面,避免界面出现卡顿的现象。
如上述步骤S4,判断上述界面数据是否异常,从而判断是否可以利用上述界面数据进行界面更新,防止异常的数据使界面出现卡顿的现象。
如上述步骤S5,若否,则通过观察者使用上述界面数据更新界面,形成响应式的观察者和被观察者模式,缩短数据处理的时间,从而及时更新界面,避免界面出现卡顿的现象。
参照图2,在本实施例中,在上述在IO线程上通过被观察者获取返回数据的步骤之前,还包括步骤:
S6、在上述主线程创建上述被观察者,并通过第一指定算法切换将上述被观察者切换至上述IO线程。
如上述步骤S6,在上述主线程创建上述被观察者,并通过第一指定算法切换将上述被观察者切换至上述IO线程,避免上述观察者在上述主线程中进行网络数据请求或其他耗时数据的请求操作,防止上述主线程堵塞而导致系统出现未响应的情况出现,其中,上述第一指定算法一般为subscribeOn(Schedulers.io),从而实现将上述被观察者在主线程切换至上述IO线程,指定上述被观察者在上述IO线程上执行任务,该算法可对上述被观察者进行多次位置调用。
参照图3,在本实施例中,上述在IO线程上通过被观察者获取返回数据的步骤包括步骤:
S7、在上述IO线程上通过上述被观察者发送网络数据或者其他耗时数据至服务器;
S8、接收上述服务器发送的上述返回数据。
如上述步骤S7,在上述IO线程上通过上述被观察者发送网络数据或者其他耗时数据至服务器,利用上述被观察者的map操作符进行发送网络数据请求信息或者其他耗时数据请求信息至服务器,从而通过原始的网络数据或者其他耗时数据,向上述服务器请求满足需求的上述返回数据。
如上述步骤S8,接收上述服务器发送的上述返回数据,上述服务器根据原始的网络数据或者其他耗时数据获取满足需求的上述返回数据。
参照图4,在本实施例中,上述对上述返回数据进行处理得到界面数据的步骤包括步骤:
S9、在上述主线程上将上述返回数据清洗得到上述界面数据。
如上述步骤S9,在上述主线程上将上述返回数据清洗得到上述界面数据,从而获取上述被观察者的数据变化的清洗数据,避免非清洗数据导致不能及时更新界面,使界面出现卡顿的现象。
参照图5,在本实施例中,在上述对上述返回数据进行处理得到界面数据的步骤之后,还包括步骤:
S10、通过第二指定算法订阅上述被观察者和上述观察者。
如上述步骤S10,通过第二指定算法订阅上述被观察者和上述观察者,将上述被观察者和上述观察者联系起来,形成响应式的观察者和被观察者模式,使通过上述被观察者获取的上述界面数据传送至上述观察者,完成请求数据更新安卓系统的界面,其中,上述第二指定算法一般为subscribe()。
参照图6,在本实施例中,在上述判断上述界面数据是否异常的步骤之后,还包括步骤:
S11、若是,则匹配上述界面数据的异常情况,并发送错误原因信息至用户。
如上述步骤S11,若是,则匹配上述界面数据的异常情况,并发送错误原因信息至用户,根据上述界面数据的异常情况匹配情况,获得上述错误原因信息,并将上述错误原因信息发送至上述用户,提示用户出现错误的原因,其中,上述异常情况的Exception通过Throwable抛出,当观察到有Throwable则说明存在有错误异常情况出现。
参照图7,在本实施例中,上述界面数据的异常情况,并发送错误原因信息至用户的步骤包括步骤:
S12、将上述界面数据的异常情况与异常情况列表中的异常情况匹配,并生成匹配结果;
S13、根据上述匹配结果发送上述错误原因信息至上述用户。
如上述步骤S12,将上述界面数据的异常情况与异常情况列表中的异常情况匹配,并生成匹配结果,根据上述界面数据的异常情况匹配情况,获得上述界面数据的异常情况,进而生成上述匹配结果,其中,上述异常情况的Exception通过Throwable抛出,当观察到有Throwable则说明存在有错误异常情况出现。
如上述步骤S13,根据上述匹配结果发送上述错误原因信息至上述用户,提示用户出现错误的原因。
参照图1-7,在本实施例中,一种基于安卓系统的界面更新方法,包括步骤:
S6、在上述主线程创建上述被观察者,并通过第一指定算法切换将上述被观察者切换至上述IO线程;
S7、在上述IO线程上通过上述被观察者发送网络数据或者其他耗时数据至服务器;
S8、接收上述服务器发送的上述返回数据;
S2、将上述返回数据从上述IO线程切换至主线程;
S9、在上述主线程上将上述返回数据清洗得到上述界面数据;
S10、通过第二指定算法订阅上述被观察者和上述观察者;
S4、判断上述界面数据是否异常;
S5、若否,则通过观察者使用上述界面数据更新界面;
S12、若是,则将上述界面数据的异常情况与异常情况列表中的异常情况匹配,并生成匹配结果;
S13、根据上述匹配结果发送上述错误原因信息至上述用户。
参照图8,本发明还提出一种基于安卓系统的界面更新系统,包括:
数据获取模块1,用于在IO线程上通过被观察者获取返回数据,避免上述观察者在上述主线程中进行网络数据请求或其他耗时数据的请求操作,防止上述主线程堵塞而导致系统出现未响应的情况出现,利用上述被观察者的map操作符进行发送网络数据请求信息或者其他耗时数据请求信息至服务器,上述服务器根据原始的网络数据或者其他耗时数据获取满足需求的上述返回数据;
IO线程切换模块2,用于将上述IO线程切换至主线程,利用算法observeOn(AndroidSchedulers.mainThread())将上述返回数据从上述IO线程切换至主线程,在上述主线程上处理上述返回数据,减少开辟子线程的需求;
返回数据处理模块3,用于对上述返回数据从进行处理得到界面数据,在上述主线程上处理上述返回数据,减少开辟子线程的需求,缩短数据处理的时间,从而及时更新界面,避免界面出现卡顿的现象;
判断模块4,用于判断上述界面数据是否异常,从而判断是否可以利用上述界面数据进行界面更新,防止异常的数据使界面出现卡顿的现象;
更新界面模块5,用于通过观察者使用上述界面数据更新界面,形成响应式的观察者和被观察者模式,缩短数据处理的时间,从而及时更新界面,避免界面出现卡顿的现象。
在本实施例中,还包括:
被观察者创建模块,用于在上述主线程创建上述被观察者,并通过第一指定算法切换将上述被观察者切换至上述IO线程,避免上述观察者在上述主线程中进行网络数据请求或其他耗时数据的请求操作,防止上述主线程堵塞而导致系统出现未响应的情况出现,其中,上述第一指定算法一般为subscribeOn(Schedulers.io),从而实现将上述被观察者在主线程切换至上述IO线程,指定上述被观察者在上述IO线程上执行任务,该算法可对上述被观察者进行多次位置调用;
数据发送模块,用于在上述IO线程上通过上述被观察者发送网络数据或者其他耗时数据至服务器,利用上述被观察者的map操作符进行发送网络数据请求信息或者其他耗时数据请求信息至服务器,从而通过原始的网络数据或者其他耗时数据,向上述服务器请求满足需求的上述返回数据;
返回数据接收模块,用于接收上述服务器发送的上述返回数据,上述服务器根据原始的网络数据或者其他耗时数据获取满足需求的上述返回数据;
数据清洗模块,用于在上述主线程上将上述返回数据清洗得到上述界面数据,从而获取上述被观察者的数据变化的清洗数据,避免非清洗数据导致不能及时更新界面,使界面出现卡顿的现象;
订阅模块,用于通过第二指定算法订阅上述被观察者和上述观察者,将上述被观察者和上述观察者联系起来,形成响应式的观察者和被观察者模式,使通过上述被观察者获取的上述界面数据传送至上述观察者,完成请求数据更新安卓系统的界面,其中,上述第二指定算法一般为subscribe();
匹配模块,用于匹配上述界面数据的异常情况,并发送错误原因信息至用户,根据上述界面数据的异常情况匹配情况,获得上述错误原因信息,并将上述错误原因信息发送至上述用户,提示用户出现错误的原因,其中,上述异常情况的Exception通过Throwable抛出,当观察到有Throwable则说明存在有错误异常情况出现;
匹配结果生成模块,用于将上述界面数据的异常情况与异常情况列表中的异常情况匹配,并生成匹配结果,根据上述界面数据的异常情况匹配情况,获得上述界面数据的异常情况,进而生成上述匹配结果,其中,上述异常情况的Exception通过Throwable抛出,当观察到有Throwable则说明存在有错误异常情况出现;
提示模块,用于根据上述匹配结果发送上述错误原因信息至上述用户,提示用户出现错误的原因。
参照图9,在本发明实施例中,本发明还提供一种计算机设备,上述计算机设备6以通用计算设备的形式表现,计算机设备6的组件可以包括但不限于:一个或者多个处理器或者处理单元6,系统存储器13,连接不同系统组件(包括系统存储器13和处理单元8)的总线9。
总线9表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机设备6典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备6访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器13可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)14和/或高速缓存存储器15。计算机设备6可以进一步包括其他移动/不可移动的、易失性/非易失性计算机体统存储介质。仅作为举例,存储系统16可以用于读写不可移动的、非易失性磁介质(通常称为“硬盘驱动器”)。尽管图9中未示出,可以提供用于对可移动非易失性磁盘(如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD~ROM,DVD~ROM或者其他光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线9相连。存储器可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块18,这些程序模块18被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块18的程序/实用工具17,可以存储在例如存储器中,这样的程序模块18包括——但不限于——操作系统、一个或者多个应用程序、其他程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块18通常执行本发明所描述的实施例中的功能和/或方法。
计算机设备6也可以与一个或多个外部设备7(例如键盘、指向设备、显示器12、摄像头等)通信,还可与一个或者多个使得用户能与该计算机设备6交互的设备通信,和/或与使得该计算机设备6能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口11进行。并且,计算机设备6还可以通过网络适配器10与一个或者多个网络(例如局域网(LAN)),广域网(WAN)和/或公共网络(例如因特网)通信。如图所示,网络适配器10通过总线9与计算机设备6的其他模块通信。应当明白,尽管图9中未示出,可以结合计算机设备6使用其他硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元8通过运行存储在系统存储器13中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的基于安卓系统的界面更新方法。
也即,上述处理单元8执行上述程序时实现:在IO线程上通过被观察者获取返回数据,并将上述返回数据从上述IO线程切换至主线程,再对上述返回数据进行处理得到界面数据,并且,判断上述界面数据是否异常,若判断结果为否时,则通过观察者使用上述界面数据更新界面。
在本发明实施例中,本发明还提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请所有实施例提供的基于安卓系统的界面更新方法:
也即,给程序被处理器执行时实现:在IO线程上通过被观察者获取返回数据,并将上述返回数据从上述IO线程切换至主线程,再对上述返回数据进行处理得到界面数据,并且,判断上述界面数据是否异常,若判断结果为否时,则通过观察者使用上述界面数据更新界面。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机克顿信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)14、只读存储器(ROM)、可擦可编程只读存储器(EPOM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD~ROM)、光存储器件、磁存储器件或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,改计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言——诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言——诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行或者完全在远程计算机或者服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
本发明的基于安卓系统的界面更新方法、系统、设备及存储介质的有益效果为:通过将在IO线程获取的返回数据在主线程进行处理得到界面数据,利用响应式的观察者和被观察者模式完成请求数据更新安卓系统的界面,减少开辟子线程的需求,缩短数据处理的时间,从而及时更新界面,避免界面出现卡顿的现象;并且,通过上述界面数据的异常情况匹配情况,获得上述错误原因信息,并将上述错误原因信息发送至上述用户,提示用户出现错误的原因。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种基于安卓系统的界面更新方法,其特征在于,包括步骤:
在IO线程上通过被观察者获取返回数据;
将所述返回数据从所述IO线程切换至主线程;
对所述返回数据进行处理得到界面数据;
判断所述界面数据是否异常;
若否,则通过观察者使用所述界面数据更新界面。
2.根据权利要求1所述的基于安卓系统的界面更新方法,其特征在于,在所述在IO线程上通过被观察者获取返回数据的步骤之前,还包括步骤:
在所述主线程创建所述被观察者,并通过第一指定算法切换将所述被观察者切换至所述IO线程。
3.根据权利要求1所述的基于安卓系统的界面更新方法,其特征在于,所述在IO线程上通过被观察者获取返回数据的步骤包括步骤:
在所述IO线程上通过所述被观察者发送网络数据或者其他耗时数据至服务器;
接收所述服务器发送的所述返回数据。
4.根据权利要求1所述的基于安卓系统的界面更新方法,其特征在于,所述对所述返回数据进行处理得到界面数据的步骤包括步骤:
在所述主线程上将所述返回数据清洗得到所述界面数据。
5.根据权利要求1所述的基于安卓系统的界面更新方法,其特征在于,在所述对所述返回数据进行处理得到界面数据的步骤之后,还包括步骤:
通过第二指定算法订阅所述被观察者和所述观察者。
6.根据权利要求1所述的基于安卓系统的界面更新方法,其特征在于,在所述判断所述界面数据是否异常的步骤之后,还包括步骤:
若是,则匹配所述界面数据的异常情况,并发送错误原因信息至用户。
7.根据权利要求6所述的基于安卓系统的界面更新方法,其特征在于,所述匹配异常类型的异常情况,并发送错误原因信息至用户的步骤包括步骤:
将所述界面数据的异常情况与异常情况列表中的异常情况匹配,并生成匹配结果;
根据所述匹配结果发送所述错误原因信息至所述用户。
8.一种基于安卓系统的界面更新系统,其特征在于,包括:
数据获取模块,用于在IO线程上通过被观察者获取返回数据;
IO线程切换模块,用于将所述IO线程切换至主线程;
返回数据处理模块,用于对所述返回数据从进行处理得到界面数据;
判断模块,用于判断所述界面数据是否异常;
更新界面模块,用于通过观察者使用所述界面数据更新界面。
9.一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~7中任意一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1~7中任意一项所述的方法。
CN201811005600.1A 2018-08-30 2018-08-30 基于安卓系统的界面更新方法、系统、设备及存储介质 Pending CN109254819A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811005600.1A CN109254819A (zh) 2018-08-30 2018-08-30 基于安卓系统的界面更新方法、系统、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811005600.1A CN109254819A (zh) 2018-08-30 2018-08-30 基于安卓系统的界面更新方法、系统、设备及存储介质

Publications (1)

Publication Number Publication Date
CN109254819A true CN109254819A (zh) 2019-01-22

Family

ID=65049003

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811005600.1A Pending CN109254819A (zh) 2018-08-30 2018-08-30 基于安卓系统的界面更新方法、系统、设备及存储介质

Country Status (1)

Country Link
CN (1) CN109254819A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113722037A (zh) * 2021-09-03 2021-11-30 北京百度网讯科技有限公司 一种用户界面的刷新方法、装置、电子设备及存储介质
CN114741063A (zh) * 2022-04-06 2022-07-12 山东赤子城网络技术有限公司 一种基于Lua语言的编程框架实现方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106250246A (zh) * 2016-07-25 2016-12-21 福建天泉教育科技有限公司 一种事件传递的方法及系统
CN108234624A (zh) * 2017-12-29 2018-06-29 贵阳语玩科技有限公司 数据请求的处理方法及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106250246A (zh) * 2016-07-25 2016-12-21 福建天泉教育科技有限公司 一种事件传递的方法及系统
CN108234624A (zh) * 2017-12-29 2018-06-29 贵阳语玩科技有限公司 数据请求的处理方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
韩迪等: "《Android实例详解 项目实训开发》", 31 August 2016 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113722037A (zh) * 2021-09-03 2021-11-30 北京百度网讯科技有限公司 一种用户界面的刷新方法、装置、电子设备及存储介质
CN113722037B (zh) * 2021-09-03 2023-08-11 北京百度网讯科技有限公司 一种用户界面的刷新方法、装置、电子设备及存储介质
CN114741063A (zh) * 2022-04-06 2022-07-12 山东赤子城网络技术有限公司 一种基于Lua语言的编程框架实现方法及系统
CN114741063B (zh) * 2022-04-06 2023-08-22 山东赤子城网络技术有限公司 一种基于Lua语言的编程框架实现方法及系统

Similar Documents

Publication Publication Date Title
US11416373B2 (en) Providing debug information on production containers using debug containers
CN109542645A (zh) 一种调用服务的方法、装置、电子设备及存储介质
US20150193250A1 (en) Virtual computer system, management computer, and virtual computer management method
CN106663021A (zh) 虚拟化环境中的智能gpu调度
CN103678201B (zh) 具有逻辑设备能力的pci express切换器
CN110413390A (zh) 线程任务处理方法、装置、服务器及存储介质
US11658972B2 (en) Isolated cell architecture for cloud computing platform
CN107016029A (zh) 一种业务数据的处理方法、装置及系统
US20190129873A1 (en) I/o request processing method in virtual machine, device and computer readable medium
CN109634764A (zh) 工作流控制方法、装置、设备、存储介质和系统
US11917033B2 (en) Techniques for managing distributed computing components
CN108696373B (zh) 虚拟资源分配方法、nfvo和系统
CN109254819A (zh) 基于安卓系统的界面更新方法、系统、设备及存储介质
CN110990329B (zh) 一种联邦计算高可用方法、设备及介质
CN115658301A (zh) 存储资源调度方法、装置、存储介质以及电子设备
CN113658351B (zh) 一种产品生产的方法、装置、电子设备及存储介质
MX2010012829A (es) Recobrar control de un recurso de procesamiento que ejecuta un contexto de ejecucion externa.
US11330053B1 (en) Making eventual consistency cache updates deterministic
CN114489954A (zh) 基于虚拟化平台的租户创建方法、租户访问方法及设备
US20130080139A1 (en) Representing State Transitions
US20230351288A1 (en) Attachment and detachment of compute instances owned by different tenancies
US20120311117A1 (en) Object Pipeline-Based Virtual Infrastructure Management
US20180205617A1 (en) System and method for graphically building a virtual network of computer components
CN109165011A (zh) 基于单片机软件分层设计的方法、系统、设备及存储介质
CN112183982A (zh) 一种工作流程创建方法、装置、计算机设备及存储介质

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190122