应用界面的显示方法及装置与流程

文档序号:11276020阅读:176来源:国知局
应用界面的显示方法及装置与流程

本发明涉及互联网技术领域,特别涉及一种应用界面的显示方法及装置。



背景技术:

在现代社会,社交应用已成为用户间交流的主要方式。为了满足用户基本的通信需求,社交应用具备一些应用数据,包括联系人的属性数据(如昵称、头像、电话号码、邮箱、年龄、性别等)、与联系人的交互数据(如文本、图片、音频、视频等)、以及与联系人的关系数据(如好友、陌生人、黑名单等)。由于社交应用对实时性要求较高,当应用数据变化时,如何及时地显示在应用界面上,成为本领域人员较为关注的问题。

目前,主要基于mvc(modelviewcontroller,模型-视图-控制器)架构进行应用界面的显示。其中,mvc架构包括界面显示层、数据管理层、数据传输层及数据存储层。数据显示层用于实现应用界面的显示逻辑,以显示应用数据的内容;数据管理层作为应用数据的管理者,用于监测应用数据,并在应用数据更新时向界面显示层发送通知消息;数据传输层用于与应用服务器进行通信;数据存储层用于将应用数据存储在sqlite数据库或其他存储介质中。

在实现本发明的过程中,发明人发现现有技术至少存在以下问题:

在基于mvc架构进行应用界面显示时,需要数据管理层同时具备传输、存储、分发等能力,且向界面显示层发送通知消息的逻辑控制过程十分繁杂,当应用数据变化时,很难及时地在应用界面上显示出来。



技术实现要素:

为了解决现有技术的问题,本发明实施例提供了一种应用界面的显示方法及装置。所述技术方案如下:

一方面,提供了一种应用界面的显示方法,所述方法包括:

对指定应用程序中的应用数据进行持久化,所述应用数据包括联系人的属性数据、与联系人的交互数据以及与联系人的关系数据;

将持久化的应用数据与所述指定应用程序的应用界面建立绑定关系;

当检测到所述应用数据更新时,根据更新的应用数据,重新绘制与所述应用数据具有绑定关系的应用界面,得到目标应用界面;

显示所述目标应用界面。

在本发明的另一个实施例中,所述对指定应用中的应用数据进行持久化,包括:

为所述指定应用程序创建被管理的数据模型对象,所述被管理的数据模型对象与所述应用数据对应;

根据所述被管理的数据模型对象,创建持久化存储助理对象;

根据所述被管理的数据模型对象和所述持久化存储助理对象,创建被管理的数据上下文;

根据所述持久化存储助理对象和所述被管理的数据上下文,将所述被管理的数据模型对象所对应的所述应用数据存储到对象数据库。

在本发明的另一个实施例中,所述为所述指定应用程序创建被管理的数据模型对象,包括:

在所述指定应用程序运行过程中,通过读取扩展名为momd的文件,生成所述被管理的数据模型对象。

在本发明的另一个实施例中,所述将持久化的应用数据与所述指定应用程序的应用界面建立绑定关系,包括:

调用获取结果控制器;

对所述获取结果控制器进行初始化;

以初始化后的获取结果控制器作为中介,连接所述持久化的应用数据与所述应用界面。

在本发明的另一个实施例中,所述当检测到所述应用数据更新时,根据更新的应用数据,重新绘制与所述应用数据具有绑定关系的应用界面,得到目标应用界面,包括:

当检测到所述应用数据更新时,将所述更新的应用数据发送至控制器;

调用所述控制器对所述更新的应用数据进行可视化操作,得到所述目标应用界面。

另一方面,提供了一种应用界面的显示装置,所述装置包括:

持久化模块,用于对指定应用程序中的应用数据进行持久化,所述应用数据包括联系人的属性数据、与联系人的交互数据以及与联系人的关系数据;

绑定关系建立模块,用于将持久化的应用数据与所述指定应用程序的应用界面建立绑定关系;

绘制模块,用于当检测到所述应用数据更新时,根据更新的应用数据,重新绘制与所述数据具有绑定关系的应用界面,得到目标应用界面;

显示模块,用于显示所述目标应用界面。

在本发明的另一个实施例中,所述持久化模块,用于为所述指定应用程序创建被管理的数据模型对象,所述被管理的数据模型对象与所述应用数据对应;根据所述被管理的数据模型对象,创建持久化存储助理对象;根据所述被管理的数据模型对象和所述持久化存储助理对象,创建被管理的数据上下文;根据所述持久化存储助理对象和所述被管理的数据上下文,将所述

被管理的数据模型对象所对应的所述应用数据存储到对象数据库。

在本发明的另一个实施例中,所述持久化模块,还用于在所述指定应用程序运行过程中,通过读取扩展名为momd的文件,生成所述被管理的数据模型对象。

在本发明的另一个实施例中,所述绑定关系建立模块,用于调用获取结果控制器;对所述获取结果控制器进行初始化;以初始化后的获取结果控制器作为中介,连接所述持久化的应用数据与所述应用界面。

在本发明的另一个实施例中,所述绘制模块,用于当检测到所述应用数据更新时,将所述更新的应用数据发送至控制器;调用所述控制器对所述更新的应用数据进行可视化操作,得到所述目标应用界面。

本发明实施例提供的技术方案带来的有益效果是:

通过将持久化的应用数据与应用界面绑定,当应用数据更新时,可根据更新的应用数据重新绘制应用界面,无需实现数据存储、分发与显示的复杂逻辑,缩短了应用界面的绘制时间,可及时显示与数据相应地应用界面,满足了指定应用程序的实时性需求。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种coredata数据对象间的关系的示意图;

图2是本发明另一个实施例提供的一种应用界面的显示方法流程图;

图3是本发明另一个实施例提供的一种应用界面的显示方法流程图;

图4是本发明另一个实施例提供的一种应用界面的显示过程示意图;

图5是本发明另一个实施例提供的一种应用界面的显示装置结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

目前,对于微博、微信、飞信等社交应用在进行应用界面显示时,主要基于mvc架构实现,具体地,数据传输层从服务器上获取到数据后,将获取到的数据存储到数据存储层,数据管理层检测到数据更新后,向界面显示层发送通知消息,并将更新的数据发送至界面显示层,由界面显示层根据更新的数据,重新绘制应用界面。由于mvc架构下对数据管理层有较高的要求,需要兼顾数据传输、存储、分发等逻辑能力,且向界面显示层发送通知消息及更新的数据的逻辑控制过程比较复杂,导致数据更新后,未能及时反映到应用界面上,影响了用户的体验效果。

为了解决上述问题,本发明实施例提供了一种应用界面的显示方法,该方法以ios为操作环境,基于mvc架构及苹果公司开发的coredata技术对数据存储、分发、更新及显示逻辑进行改进,使得数据与应用界面直接映射,减少了中间逻辑控制过程,对各个功能模块间的耦合性与兼容性要求较低,明显地提高了应用界面的显示速度,满足了用户对社交应用的即时性需求。

coredata为苹果sdk提供的数据持久化存储功能,可将数据存储到sqlite数据库、内存等中,经过coredata处理后的数据可以为二进制、xml(extensiblemarkuplanguage,可扩展标记语言)或其他自定义数据类型。参见图1,coredata主要包括五个功能模块,功能模块1包括被管理的数据模型(managedobjectmodel)11和应用代理(appdelegate)、功能模块2为被管理的数据上下文(managedobjectcontext)、功能模块3为持久化存储助理(persistentstorecoordinator)、功能模块4包括多个被管理数据(managedobject)、功能模块5为控制器(controller),包括数组控制器(arraycontroller)51、对象控制器(objectcontroller)52、树形控制器(treecontroller)53等。

其中,managedobjectmodel用于描述程序的数据模型,该应用程序的数据模型包括实体(entity)、特性(property)、读取请求(fetchrequest)。managedobjectcontext参与整个被管理数据的整个数据管理过程,当检测到被管理数据更新时,可提供撤销(umdo)/改装(redo)的支持,并对与应用界面绑定的被管理数据进行更新。persistentstorecoordinator为被管理数据的管理器,用于将被管理数据写入对象数据库(objectstore)以及从对象数据库中读取被管理数据。managedobject与managedobjectcontext相关联。数组控制器(arraycontroller)、对象控制器(objectcontroller)及树形控制器(treecontroller)等控制器可通过control+drag指令与managedobjectcontext绑定,并在nib文件中可视化地操作数据。其中,nib文件为interfacebuilder文档,可用来配置一些可视化对象。

参见图2,本发明实施例提供了一种应用界面的显示方法,本实施例提供的方流程包括:

201、对指定应用程序中的应用数据进行持久化,该应用数据包括联系人的属性数据、与联系人的交互数据以及与联系人的关系数据。

202、将持久化的应用数据与指定应用程序的应用界面建立绑定关系。

203、当检测到应用数据更新时,根据更新的应用数据,重新绘制与应用数据具有绑定关系的应用界面,得到目标应用界面。

204、显示目标应用界面。

本发明实施例提供的方法,通过将持久化的应用数据与应用界面绑定,当应用数据更新时,可根据更新的应用数据重新绘制应用界面,无需实现数据存储、分发与显示的复杂逻辑,缩短了应用界面的绘制时间,可及时显示与数据相应地应用界面,满足了指定应用程序的实时性需求。

在本发明的另一个实施例中,对指定应用中的应用数据进行持久化,包括:

为指定应用程序创建被管理的数据模型对象,被管理的数据模型对象与应用数据对应;

根据被管理的数据模型对象,创建持久化存储助理对象;

根据被管理的数据模型对象和持久化存储助理对象,创建被管理的数据上下文;

根据持久化存储助理对象和被管理的数据上下文,将被管理的数据模型对象所对应的应用数据存储到对象数据库。

在本发明的另一个实施例中,为指定应用程序创建被管理的数据模型对象,包括:

在指定应用程序运行过程中,通过读取扩展名为momd的文件,生成被管理的数据模型对象。

在本发明的另一个实施例中,将持久化的应用数据与指定应用程序的应用界面建立绑定关系,包括:

调用获取结果控制器;

对获取结果控制器进行初始化;

以初始化后的获取结果控制器作为中介,连接持久化的应用数据与应用界面。

在本发明的另一个实施例中,当检测到应用数据更新时,根据更新的应用数据,重新绘制与应用数据具有绑定关系的应用界面,得到目标应用界面,包括:

当检测到应用数据更新时,将更新的应用数据发送至控制器;

调用控制器对更新的应用数据进行可视化操作,得到目标应用界面。

上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。

本发明实施例提供了一种应用界面的显示方法,参见图3,本发明实施例提供的方法流程包括:

301、终端对指定应用程序中的应用数据进行持久化。

其中,终端可以为智能手机、平板电脑、个人电脑等,本实施例不对终端的产品类型作具体的限定。指定应用程序为终端内所安装的任一款社交应用,可以为微信、飞信、微博等。为了满足用户的基本通信需求,指定应用程序还应包括应用数据,该应用数据包括联系人的属性数据、与联系人的交互数据以及与联系人的关系数据等。其中,联系人的属性信息包括昵称、头像、电话号码、邮箱、年龄、性别、地址、毕业学校等,与联系人的交互数据包括文本数据、图片数据、音频数据、视频数据等,与联系人的关系包括好友、陌生人、黑名单等等。

在计算机技术领域,持久化是指将内存中的数据存储在数据库中,或者存储在磁盘文件中、xml数据文件中等,通过对应用数据持久化操作,可减少对数据库的访问次数,增加应用程序的执行速度,且在更换数据库时只需修改配置文件而不用修改代码。在本实施例中,终端对指定应用程序中的应用数据进行持久化时,可采用如下步骤3011~3014:

3011、终端为指定应用程序创建被管理的数据模型对象,该被管理的数据模型对象与应用数据对应。

在指定应用程序运行过程中,终端可通过nsdoucment或其子类nspersistentdoucment,读取扩展名为momd的文件,生成被管理的数据模型对象,该被管理的数据模型对象对指定应用程序中的应用数据进行了描述,与指定应用程序的应用数据对应。

对于被管理的数据模型对象的创建过程,可采用如下代码实现:

3012、终端根据被管理的数据模型对象,创建持久化存储助理对象。

基于所创建的被管理的数据模型对象,终端可指定待持久化的模型对象,通过对待持久化的模型对象进行持久化,并将存储格式设置为sqlite,得到持久化存储助理对象。

对于持久化存储对象的创建过程,可采用如下代码实现:

3013、终端根据被管理的数据模型对象和持久化存储助理对象,创建被管理的数据上下文。

对于被管理的数据上下文的创建过程,可采用如下代码实现:

3014、终端根据持久化存储助理对象和被管理的数据上下文,将被管理的数据模型对象所对应的应用数据存储到对象数据库。

终端通过被管理的数据上下文在被管理的数据对象与持久化存储助理间进行协调,并通过持久化存储助理对象将被管理的数据模型对象所对应的应用数据存储到对象数据库中,实现应用数据的持久化操作。其中,对象数据库中数据的存储形式可以为xml、二进制、sqlite等。

以将书名为红楼梦的书籍持久化到对象数据库为例,该过程具体实现时,可采用下述代码:

302、终端将持久化的应用数据与指定应用程序的应用界面建立绑定关系。

在coredata中还提供一个类nsfetchedresultscontroller(控制结果控制器),本实施例中,终端通过该控制结果控制器为中介,可实现对持久化的应用数据与指定应用程序的应用界面的绑定。该过程具体实现时,可采用如下步骤3021~3023:

3021、终端调用获取结果控制器。

3022、终端对获取结果控制器进行初始化。

获取结果控制器在作为桥接之前,需要进行初始化,该初始化过程需要一个查询请求和一个数据操作上下文。

对于获取结果控制器的初始化过程,可采用如下代码实现:

需要说明的是,用于初始化nsfecthedresultscontroller的数据请求对象需要设置一个排序规则。

3023、终端以初始化后的获取结果控制器作为中介,连接持久化的应用数据与应用界面。

该过程具体实现时,可采用如下代码:

303、终端检测应用数据是否更新,如果是,执行步骤304。

在本实施例中,终端所创建的被管理的数据上下文对象可监测应用数据的变化,当检测监测到应用数据存在更新时,终端可执行下述步骤304,以绘制与更新数据相应的目标应用界面,通过将所绘制的目标应用界面展示出来,从而使用户直观地感受到应用数据的变化。

304、终端根据更新的应用数据,重新绘制与应用数据具有绑定关系的应用界面,得到目标应用界面。

当检测到应用数据更新时,终端根据更新的应用数据,重新绘制与该应用数据具有绑定关系的应用界面,得到目标应用界面,该目标应用界面为更新的应用数据的可视化体现。该过程具体实现时,可采用如下步骤3041~3042:

3041、当检测到应用数据更新时,终端将更新的应用数据发送至控制器。

由于各个控制器与被管理的数据上下文之间具有管理关系,当终端通过被管理的数据上下文监测到应用数据更新时,终端可根据所建立的关联关系,将更新的应用数据发送至控制器。

3042、终端调用控制器对更新的应用数据进行可视化操作,得到目标应用界面。

该过程具体实现时,可采用如下代码:

305、终端显示目标应用界面。

当绘制完更新的应用数据所对应的目标应用界面,当检测到对该目标应用界面的显示操作时,终端将所绘制的目标应用界面在显示屏幕上显示出来。

对于上述应用界面的显示过程,可参见图4,由图4可知,被管理的数据模型对象可与持久化存储助理对象进行通信,持久化存储助理可与被管理数据上下文对象、被管理的数据模型对象及对象数据库进行通信。通过被管理数据上下文对象的协调作用,持久化存储助理对象可获取被管理的数据模型对象所对应的应用数据,并将被管理的数据模型对象所对应的应用数据存储到对象数据库中。当被管理数据上下文对象监测到应用数据更新时,被管理数据上下文对象将更新的应用数据发送至控制器,由控制器绘制目标应用界面并显示出来。

本发明实施例提供的方法,通过将持久化的应用数据与应用界面绑定,当应用数据更新时,可根据更新的应用数据重新绘制应用界面,无需实现数据存储、分发与显示的复杂逻辑,缩短了应用界面的绘制时间,可及时显示与数据相应地应用界面,满足了指定应用程序的实时性需求。

参见图5,本发明实施例提供了一种应用界面的显示装置,该装置包括:

持久化模块501,用于对指定应用程序中的应用数据进行持久化,该应用数据包括联系人的属性数据、与联系人的交互数据以及与联系人的关系数据;

绑定关系建立模块502,用于将持久化的应用数据与指定应用程序的应用界面建立绑定关系;

绘制模块503,用于当检测到应用数据更新时,根据更新的应用数据,重新绘制与应用数据具有绑定关系的应用界面,得到目标应用界面;

显示模块504,用于显示目标应用界面。

在本发明的另一个实施例中,持久化模块501,用于为指定应用程序创建被管理的数据模型对象,被管理的数据模型对象与应用数据对应;根据被管理的数据模型对象,创建持久化存储助理对象;根据被管理的数据模型对象和持久化存储助理对象,创建被管理的数据上下文;根据持久化存储助理对象和被管理的数据上下文,将被管理的数据模型对象所对应的应用数据存储到对象数据库。

在本发明的另一个实施例中,持久化模块501,还用于在指定应用程序运行过程中,通过读取扩展名为momd的文件,生成被管理的数据模型对象。

在本发明的另一个实施例中,绑定关系建立模块502,用于调用获取结果控制器;对获取结果控制器进行初始化;以初始化后的获取结果控制器作为中介,连接持久化的应用数据与应用界面。

在本发明的另一个实施例中,绘制模块503,用于当检测到应用数据更新时,将更新的应用数据发送至控制器;调用控制器对更新的应用数据进行可视化操作,得到目标应用界面。

综上,本发明实施例提供的装置,通过将持久化的应用数据与应用界面绑定,当应用数据更新时,可根据更新的应用数据重新绘制应用界面,无需实现数据存储、分发与显示的复杂逻辑,缩短了应用界面的绘制时间,可及时显示与数据相应地应用界面,满足了指定应用程序的实时性需求。

需要说明的是:上述实施例提供的应用界面的显示装置在显示应用界面时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将应用界面的显示装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的应用界面的显示装置与应用界面的显示方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1