信息家电接口定义语言的研究.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
信息家电接口定义语言的研究.doc

信息家电接口定义语言的研究   摘要:该文介绍了采用面向对象方法描述信息家电设备的信息家电接口定义语言IAIDL,然后采用XML描述信息家电IAIDL文档并制定了IAIDL语言规范,并在android系统上实现了IAIDL解析器。   关键词:信息家电;信息家电接口定义语言IAIDL;IAIDL解析器   中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)04-0864-03   现今社会各种小型移动智能设备越来越普及,例如智能手机,平板电脑,个人数字助理(PDAs)等。可见用移动设备远程控制信息家电将是未来智能家居系统的发展方向。之前很多研究工作都是将重点放在信息家电的万能遥控器界面的研究上:斯坦福的ICrafter就是一个分布式信息家电接口的万能遥控器的框架;UIA则使用基于XML语言的MoDAL,该MoDAL可利用XML描述来动态创建用户接口界面;卡耐基梅隆大学近年来的研究也是集中在万能遥控器的动态生成方面[1]。而本文将从现在发展趋势良好的android手机系统出发,提出了信息家电接口定义语言IAIDL,对该语言设计了统一的格式规范,同时对基于安卓的XML解析技术进行了研究。   1 IAIDL语言与其功能   信息家电接口定义语言(IAIDL, Information Appliance Interface Definition Language)是一种用来定义家庭网络中信息家电属性与功能的描述语言[2]。   通过IAIDL语言的运用,当一种按照信息家电描述语言格式定义的新信息家电设备接入系统时,该设备能够自动地向家庭网关进行注册,所有在线的远程信息家电遥控器能自动发现新信息家电设备的功能接口,从而实现新信息家电设备的动态接入。为了实现家电之间的相互协作,各个信息家电(IA)向其他家电和用户通过IAIDL 文档宣告自己所具有的功能和属性, 该IAIDL文档通过IAIDL 编译器之后将中间文档存储到网关上,以提供给万能遥控器进行访问从而实现对各个家电的控制。   2 IAIDL格式规范   可扩展标记语言 (Extensible Markup Language, XML) 的设计目标[3],强调在互联网上的简单性,普遍性和实用性。用XML 文档来表示IAIDL 是合适的。我们定义出DTD标准文件作为XML语言的约束, 从而统一XML语言的描述方式。不同的公司只需要根据DTD文件,都能建立XML文件且可以进行验证,这样就可以实现网络共享和数据交互。DTD(Document Type Definition) 是一套关于标记符的语法规则,可通过比较XML文档和DTD文件来看文档是否符合规范,这样就为我们进一步研究XML解析技术打下了基础。   以信息空调为例,XML文档的一般性规范格式为:   对以上标准的具体分析如下:      每个家电都有如下属性:   name: 家电类型的唯一标识,例如是空调还是电视机;   manufacturer:家电的厂商,例如是海尔或者TCL.   对于显示状态列表,以空调的温度状态为例,以XML描述如下:   其中,   length/height:规定动态生成状态面板的长度与高度;   X/Y:动态生成的状态面板的左上角X,Y坐标   State:信息家电的某个状态信息,以空调为例,state有温度,开关状态,风强等等。   在XML文件中每增加一个节点作为的子节点,即对相应电器增加一个可显示的状态信息。   对于控制状态列表,以空调的温度状态为例,以XML描述如下:   在XML文件中每增加一个节点作为的子节点,即对相应电器增加一个控制操作。   3 PULL解析技术   在Android中, 我们最常用的解析器就是DOM解析器、SAX解析器和PULL解析器。其中PULL解析器很小巧,解析速度快,非常适合在Android移动设备中使用,Android系统内部也是采用PULL解析器对XML文件进行解析的[4],因此我们考虑使用PULL解析技术。   我们首先设置一个JAVA类来存放数据,通过这个类我们存储读取的IAIDL文件所有的节点和数据。PULL在解析IAIDL文件时,IAIDL文件是以文件流的形式输入的。解析器先将全部文件数据读到一个字符数组中,然后再开始一个一个字符往后读取。PULL解析器每读完一段字符后不会自动往后解析了,所以我们要使用API pullParser.next()进入下一事件。由一个switch结构来判断这个事件的类型,并对不同类型执行不同的操作。   JAVA PULL API主要提供了五类事件:   START_DOCUMENT   文件开始,解析器还没有读取任何

文档评论(0)

jingpinwedang + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档