一种构建智能终端应用程序的方法、装置及智能终端的制作方法

文档序号:9646455阅读:357来源:国知局
一种构建智能终端应用程序的方法、装置及智能终端的制作方法
【技术领域】
[0001]本申请涉及无线通讯终端,具体涉及一种构建智能终端应用程序的方法及装置。本申请同时涉及一种智能终端。
【背景技术】
[0002]在智能终端更新应用程序是指从服务器端下载新版本的应用程序安装到智能终端本地。对于应用程序开发商而言,通常会在每周或者每个双周发布最新版本的应用程序。而并不是每个用户都会及时更新自己的应用程序,因此,应用程序开发人员始终需要面对以下困难:
[0003]1)后台服务要适配多个不同新旧版本的应用程序;
[0004]2)如果某个版本的应用程序有bug,一旦发布后将无法回滚,即使在其后又发布了新的版本,也必须等待用户逐步升级到最新版本。
[0005]可见,在智能终端上动态地更新应用程序是一件非常有价值而同时在技术上又有些困难的事情。
[0006]一方面,从更新技术方面而言,动态更新应用程序在不同操作系统上的实现技术是不一样的。安卓操作系统允许动态更新原生的应用程序,一般采用Plugin更新的方式,比如apkplug提供的插件托管。安卓操作系统更新应用程序的过程为:应用程序拥有Loader模块,在启动或者运行过程中与服务器保持通信,当发现有新的plugin时,Loader模块用某种方式提示用户后,更新plugin并且加载新插件,从而更新应用程序的逻辑。但是,采用这种方式存在以下问题:
[0007]1)技术实现比较复杂;
[0008]2)应用程序中需要更新的逻辑必须放到plugin中,导致应用程序的完整逻辑被分割,破坏了原有代码的可读性和可维护性;
[0009]3)应用程序逻辑以plugin的形式更新,即使plugin仅仅更新了一行代码,但是必须整个plugin进行更新,浪费了用户的流量,容易造成用户的反感。
[0010]10S操作系统不允许更新原生的应用程序,而将一部分应用程序逻辑实现在脚本语言中,比如Lua、Javascript等,然后通过下载和加载脚本语言实现应用程序逻辑的更新。10S操作系统更新应用程序的过程为:应用程序拥有Loader模块,在启动或者运行过程中与服务器保持通信,当发现有新脚本时,Loader模块用某种方式提示用户后,更新脚本并且调用新脚本,从而更新应用程序的逻辑。但是,由于应用程序的逻辑被硬性分割成原生部分和脚本部分,原生部分无法更新,因此采用这种方式更加破坏了应用程序逻辑代码的可读性和可维护性。
[0011]另一方面,从开发语言方面而言,安卓操作系统下应用程序的开发语言是JAVA语言,而10S操作系统下应用程序的开发语言是Object-C,这样开发人员就不得不维护两套完全不同的代码体系,造成了很多负担。
[0012]综上所述,当前动态更新智能终端应用程序可能会存在以下问题:
[0013]1)不支持应用程序的部分更新,因而浪费用户流量,造成用户反感;
[0014]2)不同操作系统的应用程序的更新方式不同,因而开发要维护多套代码,维护成本高;
[0015]3)应用程序的完整逻辑被分割,可能会降低了应用程序代码的可读性和可维护性。

【发明内容】

[0016]本申请提供一种构建智能终端应用程序的方法,本申请另外提供一种智能终端。
[0017]本申请提供一种构建智能终端应用程序的方法,在智能终端配置下列类型的文件:
[0018]应用程序数据文件,该类型文件提供所述应用程序的运行方式的描述;
[0019]程序执行文件,用于执行所述应用程序数据文件所描述的运行方式,包括:读取所述应用程序数据文件,根据所述应用程序数据文件,显示图形用户界面,并接收用户提供的输入以及对用户输入进行反馈;
[0020]装载文件,提供执行更新所述应用程序数据文件的方法。
[0021]可选的,所述装载文件与所述程序执行文件均为可执行文件。
[0022]可选的,所述应用程序数据文件包括:
[0023]用户界面文件,用于定义所述图形用户界面,所述图形用户界面接收用户提供的输入;
[0024]用户界面事件响应文件,用于定义所述图形用户界面中组件的事件处理程序;
[0025]业务逻辑文件,用于定义所述应用程序的业务逻辑;
[0026]流程控制文件,用于定义所述应用程序的窗口控制流程。
[0027]可选的,所述用户界面文件是HTML5文件,所述程序执行文件是浏览器。
[0028]可选的,所述窗口控制流程包括:初始窗口的启动,所述窗口之间的流程关系,和所述用户界面事件响应文件与所述用户界面文件的对应关系。
[0029]可选的,所述程序执行文件执行所述应用程序数据文件所描述的运行方式,其步骤包括:
[0030]读取所述应用程序数据文件;
[0031]根据所述流程控制文件和所述用户界面文件,显示所述应用程序的初始窗口 ;
[0032]接收用户提供的输入,根据所述用户界面事件响应文件和所述流程控制文件调用所述业务逻辑文件的业务逻辑,获取对用户输入的反馈结果;
[0033]根据所述反馈结果,显示对应的图形用户界面。
[0034]可选的,所述装载文件提供的执行更新所述应用程序数据文件的方法包括:
[0035]与服务器建立连接,获取所述服务器端的应用程序数据文件列表;
[0036]根据获取的所述服务器端的应用程序数据文件列表,判断是否存在应用程序数据文件更新,若是,则进一步判断所述应用程序数据文件的更新类型,标识所述应用程序数据文件的更新类型;
[0037]根据所述更新类型,更新所述智能终端的应用程序数据文件。
[0038]可选的,所述应用程序数据文件列表包括:应用程序数据文件名和版本号。
[0039]可选的,所述更新类型包括:新增,升级,删除。
[0040]可选的,所述标识所述应用程序数据文件的更新类型采用以下规则之一:
[0041]若所述服务器端的应用程序数据文件在所述智能终端中不存在,则标识所述服务器端的应用程序数据文件的更新类型为新增;
[0042]若所述服务器端的应用程序数据文件的版本号大于对应的所述智能终端的应用程序数据文件的版本号,则标识所述服务器端的应用程序数据文件的更新类型为升级;
[0043]若所述智能终端的应用程序数据文件在所述服务器端的应用程序数据文件列表中不存在,则标识所述智能终端的应用程序数据文件的更新类型为删除。
[0044]可选的,所述根据所述更新类型,更新所述智能终端的应用程序数据文件包括:
[0045]将所述更新类型为新增的所述应用程序数据文件增加到所述智能终端;
[0046]将所述更新类型为升级的所述应用程序数据文件更新到所述智能终端;
[0047]将所述更新类型为删除的所述应用程序数据文件从所述智能终端中删除。
[0048]可选的,所述与服务器建立连接是指在所述智能终端应用程序启动时,所述应用程序的装载文件与服务器建立连接,或在智能终端应用程序运行过程中,所述应用程序的装载文件按预设的时间间隔或者接收用户的指示,与服务器建立连接。
[0049]可选的,所述装载文件提供的执行更新所述应用程序数据文件的方法还包括:
[0050]调用所述程序执行文件,运行所述应用程序。
[0051]可选的,在判断存在应用程序数据文件更新之后,所述更新所述智能终端的应用程序数据文件之前,还包括:
[0052]提示用户更新所述应用程序,并获取用户意见;
[0053]根据所述用户意见,判断是否更新所述应用程序,如果用户同意更新所述应用程序,则停止运行所述应用程序,根据所述应用程序数据文件的更新类型,更新所述智能终端的应用程序数据文件。
[0054]相应的,本申请还提供一种构建智能终端应用程序的装置,在智能终端包括:
[0055]应用程序数据文件提供单元,用于提供应用程序数据文件,所述应用程序数据文件提供所述应用程序的运行方式的描述;
[0056]程序执行文件提供单元,用于提供程序执行文件,所述程序执行文件用于执行所述应用程序数据文件所描述的运行方式,包括:读取所述应用程序数据提供单元提供的所述应用程序的运行方式的描述,根据所述描述,显示图形用户界面,并接收用户提供的输入以及对用户输入进行反馈;
[0057]装载文件提供单元,用于提供装载文件,所述装载文件提供执行更新所述应用程序数据文件的方法。
[0058]可选的,所述应用程序数据文件提供单元包括:
[0059]用户界面文件提供子单元,用于提供用户界面文件,所述用户界面文件用于定义所述图形用户界面,所述图形用户界面接收用户提供的输入;
[0060]用户界面事
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1