新聞中心

        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 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 本溪市| 钦州市| 珠海市| 龙山县| 石台县| 大邑县| 绩溪县| 卢湾区| 贡山| 温宿县| 昌乐县| 长阳| 保定市| 乌鲁木齐市| 都江堰市| 成都市| 丁青县| 理塘县| 偃师市| 连云港市| 河东区| 邵东县| 阜新市| 涟水县| 肃南| 尤溪县| 塔城市| 金坛市| 吉木萨尔县| 高唐县| 琼中| 阿城市| 揭阳市| 永靖县| 额尔古纳市| 铅山县| 湖南省| 连州市| 陆河县| 珠海市| 义乌市|