[发明专利]应用程序中用户界面UI与模型层数据交互的方法和装置在审
| 申请号: | 201410247067.5 | 申请日: | 2014-06-05 |
| 公开(公告)号: | CN105306497A | 公开(公告)日: | 2016-02-03 |
| 发明(设计)人: | 洪晓健;郭亮 | 申请(专利权)人: | 北京畅游天下网络技术有限公司 |
| 主分类号: | H04L29/08 | 分类号: | H04L29/08;G06F9/445 |
| 代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 赵娟 |
| 地址: | 100043 北京市石景山区*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 应用程序 用户界面 ui 模型 数据 交互 方法 装置 | ||
技术领域
本发明涉及应用程序技术领域,特别是涉及一种应用程序中用户界面UI与模型层数据交互的方法和一种应用程序中用户界面UI与模型层数据交互的装置。
背景技术
应用程序中的UI(UserInterface,用户界面)亦称使用者界面,是应用程序和用户之间进行交互和信息交换的媒介,它实现信息的内部形式与用户可以接受形式之间的转换。
应用程序的程序架构利用模型层来抽象应用程序中更新用户界面UI用到的所有数据,一般将与用户交互操作的用户界面UI与实际数据分开来处理,实际数据可能来自网络、本地数据库、配置文件等。这种分开处理的方式能有效地应用处理逻辑与用户界面UI交互的耦合关系。通常所有用户界面UI的操作必须在主线程中完成,而实际数据的读取会建立对应的线程,此时不仅需要实现在用户界面UI与数据模型的通信机制,还需要考虑跨线程传递消息的问题。目前的解决的方式是通过自定义的窗口消息来完成线程传递消息,但是自定义的窗口消息实现用户界面UI与模型层数据通信机制存在以下问题:
1)不同种类消息需定义一个不与应用程序中其它窗口冲突的消息号,维护比较麻烦。
2)消息只能使用两个32位整型数据传递,如果采用其它数据类型传递还需要考虑内存释放问题,很容易造成内存泄漏。
3)必须知道目标窗口的句柄才能正确发送消息。
4)若要增加消息需要改动原有代码,不符合开闭原则。
因此,目前需要本领域技术人员迫切解决的一个技术问题就是:提出一种应用程序中用户界面UI与模型层数据交互的通信机制,使得UI线程能够根据数据模型变化时更新界面,而不必使用线程间复杂同步机制来实现界面更新。在模型层数据发生变化时,可以通过内部维护的消息处理队列转发到UI线程中进行界面更新,不仅简化了实现逻辑,同时也解耦了用户界面UI与数据模型层,因此更加容易适应可扩放性和更为动态的网络拓扑。
发明内容
本发明实施例所要解决的技术问题是提供一种应用程序中用户界面UI与模型层数据交互的方法,使得UI线程能够根据数据模型变化时更新界面,而不必使用线程间复杂同步机制来实现界面更新。在模型层数据发生变化时,可以通过内部维护的消息处理队列转发到UI线程中进行界面更新,不仅简化了实现逻辑,同时也解耦了用户界面UI与数据模型层,因此更加容易适应可扩放性和更为动态的网络拓扑。
相应的,本发明实施例还提供了一种应用程序中用户界面UI与模型层数据交互的装置,用以保证上述方法的实现及应用。
为了解决上述问题,本发明公开了一种应用程序中用户界面UI与模型层数据交互的方法,所述应用程序中还包括工作线程,所述用户界面UI中包括UI线程,所述工作线程用于获取所述模型层数据的消息数据,并用于依据所述消息数据后生成消息处理通知;
所述方法包括:
所述UI线程接收所述工作线程发送的消息处理通知;
所述UI线程依据所述消息处理通知获取所述消息数据;
所述UI线程采用所述消息数据更新所述用户界面UI。
优选地,所述工作线程中包括主题TOPIC对象,所述主题TOPIC对象中包括消息处理队列,所述工作线程获取的消息数据保存于所述主题TOPIC对象的消息处理队列中,所述消息处理通知中包括所述消息数据对应的消息标识,所述UI线程依据所述消息处理通知获取所述消息数据的步骤包括:
所述UI线程针对所述消息处理通知发送消息获取请求至所述主题TOPIC对象;所述消息获取请求中包括消息标识,所述主题TOPIC对象用于在所述消息处理队列中查找与所述消息标识对应的消息数据;
所述UI线程接收所述主题TOPIC对象针对所述消息标识发送的消息数据;
优选地,在所述UI线程依据所述消息处理通知获取所述消息数据的步骤之后,还包括:
所述UI线程针对所述消息处理通知发送消息确认响应至所述工作线程。
优选地,所述消息数据具有不允许修改的属性。
本发明实施例还公开了一种应用程序中用户界面UI与模型层数据交互的方法,所述应用程序中还包括工作线程,所述用户界面UI中包括UI线程,所述方法包括:
所述工作线程从所述模型层数据中获取消息数据;
所述工作线程针对所述消息数据向所述UI线程发送消息处理通知;
所述工作线程接收所述UI线程针对所述消息处理通知发送的消息获取请求;
所述工作线程针对所述消息获取请求向所述UI线程发送消息数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京畅游天下网络技术有限公司,未经北京畅游天下网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410247067.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种无硬盘式网络系统
- 下一篇:一种面向特殊应用的泛搜索寻址的呼叫控制方法





