基于Cordova的跨平台智能家居移动终端的制作方法

文档序号:9809666阅读:510来源:国知局
基于Cordova的跨平台智能家居移动终端的制作方法
【技术领域】
[0001]本发明属于智能家居移动终端设计领域,具体涉及基于Cordova的跨平台智能家居移动终端设计方法。
技术背景
[0002]随着移动互联网的逐渐普及,面向移动互联网的应用、服务快速发展,各大移动平台如Google的Android、苹果的1S等不断地拓展、丰富移动平台的功能。移动设备终端已逐渐成为日常生活中不可或缺的产品,而与此同时,移动互联网应用也正在向生活化、人性化的趋势发展,逐渐渗透人们的生活、社交当中,智能家居也开始走进一些家庭中。
[0003]智能家居系统是一个集硬件、软件、通信多方面技术的应用系统,其中移动终端作为用户操作行为的接口,拥有远程控制、监控等丰富功能。当前移动终端设备有各种品牌,拥有不同的系统平台,目前大部分厂商需要为智能家居移动终端开发适合多种平台的软件,需要根据不同平台的API进行原生应用的开发,而现今流行的主流移动平台操作系统有Android、1S、Windows Phone等,分别在各自的移动操作系统上进行原生应用的开发,会带来昂贵的开发费用、耗费大量人力、增加修改维护难度,若仅仅对部分功能进行细微修改,也不能避免在各个操作系统上单独进行版本改动。
[0004]对于上述的问题,首先考虑到的解决方案,就是选择一个跨移动平台的应用开发解决方案,当前国内外主流的跨移动平台应用开发解决方案,主要有两种:1.利用B/S架构开发基于Web的移动应用,但这类应用缺乏本地功能支持,如设备传感器数据等;2.利用跨移动平台开发框架,如Apache Cordova、Titanium、Corona等,这类应用能够抽取出大部分公共模块,并结合对本地操作系统API的支持,比较节省开发成本。对于智能家居移动终端应用来说,大部分厂商都把远程控制家电、视频监控、安防警报等作为研发的重点功能,而这些功能的实现,需要涉及家电设备信息数据处理、不同视频监控设备厂商的SDK整合以及移动平台上的消息推送技术,显然需要采用第二种方案,但是单纯利用开发框架,也未能很好地满足智能家居移动终端应用程序的功能实现,故本发明对框架进行模块扩展,以满足更复杂的功能需求。

【发明内容】

[0005]本发明的目的在于针对智能家居移动终端应用的多平台开发问题,对ApacheCordova框架进行模块扩展,基于此设计并实现了基于Cordova的跨平台智能家居移动终端。
[0006]为了实现上述目的,本发明采用的技术方案如下。
[0007]基于Cordova的跨平台智能家居移动终端,包括Apache Cordova框架、数据缓存扩展模块、视频监控扩展模块、消息推送扩展模块以及Web层主要逻辑模块,整个终端通过Cordova框架支撑,分为Web层、Cordova层以及Native适配层,其中Native适配层提供底层功能支持,Cordova层包括各所述扩展模块;Web层提供各扩展模块的Javascript封装,以及上层的功能逻辑;
所述数据缓存扩展模块包括:数据缓存DataCache Plugin适配模块,实现Android端与1S端的适配,用于向Web层提供本地沙盒环境的文件读写、Sqlite数据库读写功能;
所述视频监控扩展模块包括:视频监控Monitor Plugin适配模块,实现Android端与1S端的适配,用于向Web层提供视频监控模块调用,能在Native层接入第三方视频监控SDK,上层通过Javascr ipt调用开启、控制视频监控模块;
所述消息推送扩展模块包括:消息推送Push Plugin模块,实现Android端与1S端的适配,用于向Web层提供消息推送、通讯模块调用;
所述Web层主要逻辑模块包括:基于HTML、CSS、Javascript以及jQuery MobiIe技术的UI界面、功能逻辑,这一层通过Javascr ipt来调用Cordova扩展模块功能。
[0008]进一步地,基于Cordova扩展模块为针对智能家居移动应用而设计的本地功能支持模块,其通过Cordova框架连接Javascript层与Native层,向上提供Javascript接口调用,并能在Nat ive适配层执行完毕之后,通过Cal Iback回调Javascr ipt层中的回调函数。
[0009]进一步地,所述的数据缓存模块,能够通过统一的Javascript接口进行数据读写、查询操作,针对沙盒环境内的文件进行读写,读写包括Sqlite文件的读写,使得Javascript层可以访问Andro i d或者1S的沙盒数据文件内容。
[ΟΟ?Ο] 进一步地,所述的视频监控模块能够通过Javascript接口进行视频监控的调用,此模块在不同平台上进行对应的第三方SDK接入,通过Javascr ipt层传入的具体参数进行视频监控调用。
[OO11 ] 进一步地,所述的消息推送模块能够通过Javascript接口进行Native消息通讯模块的调用,包括Android端的TransService提供的消息通讯服务,以及1S中的消息拉取。
[0012]进一步地,能够共享Web层主要逻辑,并通过Javascript接口调用底层数据缓存模块、视频监控模块以及消息推送模块,通过Cordova框架达到跨平台目的。
[0013]进一步地,本发明的主要内容包括基于Apache Cordova框架的跨平台智能家居移动终端设计如下:
I)数据缓存扩展模块
该模块DataCache Plugin主要包含了如下几个子模块:Act1nDispatcher,DBHelper,Fi IeHe Iper。其中Act1nDispatcher用于分发Javascr ipt层调用的服务命令,分析传入的参数;DBHelper用于处理Native环境的Sqlite数据文件操作,包括查询、更新、插入等常用操作;FileHelper用于处理Native环境的文件读写操作。此模块提供了在Javascript层面操作Native的沙盒环境下的缓存数据的功能,能够满足面向智能家居移动应用的功能需求,提高本地数据缓存的利用。
[0014]2)视频监控扩展模块
该模块Monitor Plugin主要包含了:参数解析Params Parser,用于解析Javascript层传入的调用参数;事件管理EventHandler,用于本地模块的事件通知处理;平台相关的视图组件(如Android中的Activity、SurfaceView,1S中的ViewcontroIler、UIView等),用于提供可视化组件的接入,包括接入第三方视频监控SDK。基于本模块,上层的Web代码可以利用Javascr ipt调用来实现视频监控功能。而Javascr ipt的接口封装也将通过Cordova的exec ()接口与底层通信,通过Plugin的实际Nat ive代码段来实现具体平台上的功能。对于视频监控第三方接入,将预留相关抽象接口。
[0015]3)消息推送扩展模块
该模块Push Plugin主要包含了消息通讯在移动平台Native环境下的网络通信组件,由于不同平台的推送机制不一样,故本模块在对应平台的适配上会有较大区别,如Android中包括了心跳模块组件(Heartbeat Task,利用了Android的BroadcastReceiver和AlarmManager结合,用于维护TCP长连接)、消息队列、消息处理组件以及通知组件等,而1S中包括用户注册、token管理、NotiParser通知分析以及MsgTrans消息通讯。
[0016]在该模块的实现中,将根据不同平台的消息推送机制而进行不同的适配。比如Android中由于国内网络访问Google服务器的情况不大理想,故采用TCP长连接的方式来进行通讯链路的保活,而1S本身具备苹果的APNS推送机制保障,故推送链路保活交由1S系统即可。
[0017]4)Web层UI及页面逻辑模块
Web层主要包含了 =Javascript的模块封装,即对前面所述扩展模块的接口封装;页面逻辑模块,可以调用底层Native功能的逻辑模块;用户界面模块,包括基于HTML、CSS、jQuery Mobile相结合的用户U10
[0018]该模块主要为上层逻辑,也是在跨平台开发中可以复用的部分,智能家居移动应用中的主要逻辑可以利用Javascript结合HTML、CSS、jQuery MobiIe等技术来实现,如果逻辑变更,也可以应用到多个平台中。
[0019]随着物联网的兴起,越来越多的家电厂商、互联网公司加入到智能家居解决方案的研究当中。目前主流的智能家居解决方案中,少不了对多移动平台的支持,但是在各平台的智能家居移动终端上都进行原生应用程序的开发,会耗费开发团队较大的人力物力,同时产生后期各平台维护的较高成本。
[0020]与现有技术相比,本发明基于ApacheCordova跨移动平台开发框架,对该框架进行复杂功能模块扩展,并使用标准Web语言构建跨平台智能家居移动应用,具有以下几个优占.V.I)跨平台共享主要逻辑。
[0021]本发明根据智能家居移动应用的复杂功能需求,设计实现了Cordova的扩展模块,并基于此进行Javascript层封装,使得主要逻辑部分可以在上层编写,并调用底层模块。在不同移动平台上,能够复用上层逻辑,达到跨平台的目的。
[0022]2)平台可扩展性强。
[0023]由于ApacheCordova目前对众多移动平台都有支持,如果要增加对新的移动平台的支持,比如Windows Phone,只需要对扩展模块进行平台适配工作,即可以共享上层逻辑模块,所以拥有更强的平台扩展性。
[0024]3)开发、维护、变更成本低。
[0025]由于在多平台开发时,应用的主要逻辑部分由上层Web语言编写,包括UI界面以及各功能操作逻辑,而这些模块都可以得到跨平台复用,比独立应用开发的方式更低成本。同时,上层逻辑通常会有较多的变更与维护,故在维护、变更时,只需要进行更改一次,即可运用到各平台上,所以维护变更成本更低。
[0026]4)利用Web语言调用复杂本地模块。
[0027]基于Cordova进行模块扩展,并使用Javascript进行接口封装,使得开发主要逻辑部分均使用标准Web语言,来调用本地复杂模块,相较单纯的Webvi ew应用开发,具有更强大的本地功能支持。
【附图说明】
[0028]图1为本发明的基于Cordova的跨平台智能家居移动终端总体架构图;
图2为本发明的Cordova框架总体设计图;
图3为本发明的基于Cordova的DataCache扩展模块设计图;
图4为本发明的基于Cordova的MonitorPlugin扩展模块设计图;
图5为本发明的基于Cordova的PushPlugin扩展模块设计图。
【具体实施方式】
[0029]以下结合附图和实例对本
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1