(19)中华人民共和国国家知识产权局
(12)发明专利说明书
(10)申请公布号 CN 102999371 A
(43)申请公布日 2013.03.27
(21)申请号 CN201210511076.1
(22)申请日 2012.12.04
(71)申请人 TCL通讯(宁波)有限公司
    地址 315100 浙江省宁波市高新区扬帆路999弄5号6楼
(72)发明人 陈乔将
(74)专利代理机构 深圳市君胜知识产权代理事务所
    代理人 王永文
(51)Int.CI
api接口和sdk接口的区别      G06F9/45
                                                                  权利要求说明书 说明书 幅图
(54)发明名称
      基于Lua脚本的人机界面开发方法及系统
(57)摘要
      本发明公开的一种基于Lua脚本的人机界面开发方法及系统,其先将Lua脚本移植到所述目标平台上,然后将Lua脚本的框架建立在目标平台的应用框架之上,当一基于Lua脚本编写的程序启动后,目标平台自动加载一Lua虚拟机,所述Lua虚拟机对上述程序的应用场景中的Lua接口进行解析,解析完成之后通过调用GeLua、应用服务接口和封装的适配层接口来实现人机界面开发。其充分利用了Lua脚本轻量级、易于移植和高效的特性,将Lua脚本引入移动终端开发中,为移动终端的人机界面开发带来了全新的开发模式:该模式具有灵活的扩展和定制功能,大大缩短了人机界面以及应用程序的开发周期。
法律状态
法律状态公告日
法律状态信息
法律状态
权 利 要 求 说 明 书
1.一种基于Lua脚本的人机界面开发方法,用于在移动终端的目标平台上实现人机界面开发,其特征在于,所述方法包括以下步骤:       
S1、把完整的Lua代码开发包作为第三方文件编译进目标平台的操作系统,使Lua脚本移植到所述目标平台上;       
S2、将Lua脚本的框架建立在目标平台的应用框架之上,令Lua脚本能通过调用目标平台的应用框架接口实现移动终端的功能;       
S3、所述目标平台的原生程序启动后,当一基于Lua脚本编写的程序启动后,目标平台自动
加载一Lua 虚拟机,所述Lua 虚拟机对上述程序的应用场景中的Lua 接口进行解析,解析完成之后通过调用GeLua 、应用服务接口和封装的适配层接口来实现人机界面开发。       
2.根据权利要求1所述的基于Lua脚本的人机界面开发方法,其特征在于,所述步骤S2 中将Lua脚本的框架建立在目标平台的应用框架之上具体包括:       
S21、根据目标平台代替调用内存分配的应用程序编程接口函数;       
S22、需要根据目标平台的调用接口对于Lua脚本的文件系统的操作函数进行封装适配;       
S23、Lua脚本的框架能够接收到移动终端的第一信息,所述第一信息包括:定时器信息、手机按键信息和socket信息;       
S24、将底层的目标平台的功能封装注册到Lua虚拟机中;       
S25、实现目标平台的底层函数对Lua 脚本中的应用程序编程接口的回调。       
3.根据权利要求1所述的基于Lua脚本的人机界面开发方法,其特征在于,所述步骤S3中Lua虚拟机用于创建Lua脚本的执行环境,包括向人机交互界面的应用程序管理器提供用来控制
每个应用场景的生存周期接口和向所述应用场景发送第一数据,所述第一数据包括事件和用户数据。       
4.根据权利要求1所述的基于Lua脚本的人机界面开发方法,其特征在于,所述Lua脚本的框架包括一用c语言编写的Lua脚本的函数库和Lua脚本的引擎。       
5.根据权利要求1所述的基于Lua脚本的人机界面开发方法,其特征在于,所述步骤S3中启动一基于Lua脚本编写的程序,目标平台自动加载一Lua 虚拟机的步骤具体包括:       
S31、显示一基于Lua脚本编写的程序的应用场景;       
S32、初始化一目标平台的本地窗口函数的数据结构, Lua 脚本调用目标平台的功能接口来实现显示绘制,每一Lua应用场景的窗口的数据结构中有状态管理的回调函数数据接口;       
S33、初始化虚拟机,然后把所述窗口的数据结构纳入目标平台的窗口管理堆栈中,会保存相应的虚拟机的现场。       
6.根据权利要求4所述的基于Lua脚本的人机界面开发方法,其特征在于,所述步骤S3中Lua 虚拟机对上述程序的应用场景中的Lua 接口进行解析,解析完成之后通过调用GeLua 和Service/Wrap layer 来实现人机界面开发具体包括:       
S34、通过 Lua脚本的引擎对Lua脚本中的树状分布的各个元素的遍历解析,生成一个按照先序遍历次序的各个元素节点的列表;       
S35、将上述列表的数据通过GeLua的图形绘制引擎调用目标平台的底层系统的图形设备接口完成对Lua脚本的定制场景的绘制,实现人机界面开发。       
7.一种基于Lua脚本的人机界面开发系统,用于在移动终端的目标平台上实现人机界面开发,其特征在于,所述系统包括:       
移植模块,用于把完整的Lua代码开发包作为第三方文件编译进目标平台的操作系统,使Lua脚本移植到所述目标平台上;       
框架构建模块,用于将Lua脚本的框架建立在目标平台的应用框架之上,令Lua脚本能通过调用目标平台的应用框架接口实现移动终端的功能;       
界面开发模块,用于所述目标平台的原生程序启动后,当用户去操作启动一基于Lua脚本编写的程序,目标平台自动加载一Lua 虚拟机,所述Lua 虚拟机对上述程序的应用场景中的Lua 接口进行解析,解析完成之后通过调用GeLua 和Service/Wrap layer 来实现人机界面开发。       
说  明  书
<p>技术领域   
本发明涉及人机界面开发技术领域,尤其涉及一种基于Lua脚本的人机界面开发方法及系统。   
背景技术   
 目前,移动终端(例如手机或平板电脑)上的人机界面的开发都是基于传统的Java,C/C++ 来实现。而上述技术都有一个共同的弊端就是:开发的代码量庞大、代码逻辑设计复杂。这对于在竞争异常激烈的市场上,快速推出具有个性化特点的产品是一个巨大的瓶颈。   
Lua 是一个小巧的脚本语言。,由Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo于1993年开发。其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。Lua由标准C编写而成,几乎在所有操作系统和平台上都可以编译,运行。