新闻中心

EEPW首页>嵌入式系统>设计应用> 基于WAP的嵌入式浏览器设计

基于WAP的嵌入式浏览器设计

作者: 时间:2011-03-22 来源:网络 收藏



2系统
时中考虑了C/S(Client/Server)结构,即客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。在此中,解析处理和文字布局均在server处理,最终显示在client端。
2.1 解析处理
获得WML文件之后,开始读取WML文件,获取字符,判断是否是“”字符。如果是,就继续判断是否是标签开始符。如果是起始标签,获取元素的属性,比如属性值和属性名称等,属性由WML文档的DTD定义。也就是程序自动判断是文本格式、图片格式、表格格式、还是其他格式,根据格式类型进行不同的解析。最后,将当前状态以及参数值进行存储,依次循环,直至循环结束,生成DOM树。具体流程如图4所示。


2.2 布局处理
所谓布局模块,就是处理WML语法和DOM树,树的每个结点是一个对象,包含着对象的所有属性设置信息。最后提交到绘图模块,由绘图模块进行处理,显示出来网页信息。
2.2.1 文字布局
由图2可知,布局层位于解析和绘图之间,用来对语义分析后的文档内容进行排版处理,将网页内容以适当的方式排放在显示屏幕上。
WML语言的文字排版控制较少,只有居中、左对齐和右对齐3种方式;其次WML语言的表达控制也很弱,只有em:加强(斜体)、strong:加重(斜体)、i:斜体、b:加粗、u:下划线、big:大字体(字体加大一号)、small:小字体(字体减小一号)等7种文字表达方式。
2.2.2 图片布局
img元素是图片元素。一般情况下,img元素的src属性值会是通过URL指向一个图片,该图片就是需要显示的图片,而img的排版会优先考虑其width属性值和height属性值,如果两个属性值都存在,则按照其属性值中相应的值进行排版,显示相应的属性值的图片;如果仅有一个属性值,则缩放实际照片的属性值,显示图片;如果img元素没有这两个属性,则排版的照片为实际宽高;当仅有一个属性值或没有width属性和height属性时,该img元素的排版会被跳过,同时相应的图片URL会进入下载队列,等待该图片下载成功后,对当前的页面进行重新排版。

3 结果及分析
本文主要针对支持Java的的设计与实现。系统以J2ME为开发平台,通信协议没有采取HTTP协议,而是采取以协议作为协议栈,以WML为标记语言作为网页数据的表现形式,在嵌入式浏览器中实现方便、丰富的多媒体信息浏览服务。
在仿真结果中,如图5所示,图片为访问外网的百度页面,而且有前进、后退、刷新标志,均说明此应用能够在嵌入式设备中实现。如果用户为了节省流量,可以考虑切换到极简版本,也就是解析过程中没有处理解析图片,只是简单解析文字。由于HTML网页中,百度logo图片要大于屏幕大小,所以进行压缩之后进行显示。在此设计中,图片下载完整,能够完整显示出来。



4 总结
通过测试,本浏览器的模块可移植性很好,解决了传统浏览器的可移植性困难以及带宽比较窄、屏幕比较小的问题。同时,该浏览器针对嵌入式系统应用进行特殊设计,省去了一些不实用的、冗余的和影响系统效率的模块,具有可移植性、运行效率高等特点。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭