<dfn id="is4kg"></dfn>
  • <ul id="is4kg"></ul>
  • <abbr id="is4kg"></abbr>
  • <ul id="is4kg"></ul>
    <bdo id="is4kg"></bdo>
    以文本方式查看主題

    -  曙海教育集團論壇  (http://www.hufushizhe.com/bbs/index.asp)
    --  WAP平臺開發  (http://www.hufushizhe.com/bbs/list.asp?boardid=50)
    ----  關于“WAP平臺開發技...”的內容  (http://www.hufushizhe.com/bbs/dispbbs.asp?boardid=50&id=2154)

    --  作者:wangxinxin
    --  發布時間:2010-12-6 11:19:39
    --  關于“WAP平臺開發技...”的內容
    三、關于WAP開發的常見問答
    1.開發WAP軟件需要哪些工具?
       為了開發WAP應用程序,需要一個WAP網關(注意:這里的網關可能是指支持WML的服務器。可以通過配置WWW服務器達到這個目的)和WAP工具包。工具包應當包括模擬器和能讓開發者瀏覽WML網頁。WML頁面的開發和HTML頁面的開發一樣,可以使用Notepad或者其他文本編輯器來進行編輯。
    2.有哪些公司現在提供這樣的開發環境?
    NokiaEricssonUpPhoneMotorola都提供免費的WAP網關和工具包。
    NokiaNokia ToolkitNokia WAP Server
    EricssonEricsson R320WapIDE
    UpPhoneUpPhone SDK
    MotorolaMotorola ADK
    3.開發WAP應用一定要有WAP手機嗎?
       不是,當開發WAP應用的時候,不一定需要WAP手機。模擬器可以幫助開發者解決大部分的問題。但是如果是開發商業網站,特別是想知道各種移動電話在顯示WML頁面上的差別的時候,最好是配備一個。目前各種手機對WML標記的支持和中文的支持狀況大不相同,因此WAP手機還是必要的。
    4.開發者需要一個WAP網關嗎?
       不是很必要。如果只想進行簡單的WAP內容服務,可以使用現有的Web服務器(只需要修改MIME類型)。移動電話會通過坐落在本地的網關連接到你的服務器上。
       但是在網關上駐留開發者的程序有很多好處。既然開發者的程序是網關的一個部分,開發者就可以知道呼叫號碼、身份、位置等等。
    5.可以看到WML的源代碼么?
       如果開發者使用SDK瀏覽的時候將能夠看到WML的代碼。如果只有一個HTML瀏覽器,可以訪問“Fetch Page”服務(http://www.webcab.de)來取得代碼。這個可以顯示在Internet上的任何WML頁面中。
    6.可能在WML中加入applets嗎?
       不能。
    7.可以使用HTML開發工具來開發WAP應用嗎?
       在大多數情況下開發工具是使用基于PC的瀏覽器。HTMLJavaScriptJava對于WAP開發來說都沒有用處。但是,越來越多的開發工具在加入對WML的支持。
        AllairCold Fusion 4.5HomeSite已經有WML支持,雖然Allair也許需要清除一些BUG。另外PHPASPColdfusion/HomeSite也能支持。
       可以到 Marjolei KatsmaHomeSite Help site上得到更多的信息。
    8.可以通過WML頁面來操作數據庫嗎?
       可以,與創建HTML頁面相同。任何相關的服務器端的技術都可以用來生成WML頁面。
    9.可以使用CGI生成WML頁面嗎?
       當然。可以用創建HTML同樣的方法來創建WML。如果想書寫一個CGI來創建WML,只要記住在頁面的開頭正確設置MIME類型。具體的形式根據所使用的語言不同而不同。例如在Perl中:
    print ("Content-type:application/vnd.wap.wml \\n\\n\\n"); 
       注意至少要使用2個換行。
    10.如何使用Cold Fusion來生成頁面?
       使用Cold Fusion只需要加上:
        <CFCONTENT type="text/vnd.wap.wml">
    11.如何使用PHP來書寫動態的WML頁面?
        PHP(和大多數其他服務端腳本語言一樣)可以被用來書寫動態的WML內容。只需要將輸出的標記限制在WML微型瀏覽器可接受的范圍內。
       注意PHP有很多內建的HTML功能,特別是錯誤功能,這些功能WML微型瀏覽器可能無法識別。
        PHP同樣可以在一個HTML文件中編寫出既適合于HTML,也適合于WML的內容。PHP的源代碼對于客戶端來說是不可見的。因此可以針對HTML瀏覽器輸出HTML頁面,針對WML瀏覽器輸出WML頁面。
       可以在開發PHP編寫的WML頁面的時候把以下代碼加在開頭:
    <?
    // header("Content-type: text/vnd.wap.wml");
      echo("<?xml version=\\"1.0\\"?>\\n");
    echo("<!DOCTYPE wml PUBLIC \\"-//WAPFORUM//DTD WML 1.1//EN\\"
    //"http://www.wapforum.org/DTD/wml_1.1.xml\\">\\n\\n");
    ?>
       基于PC的瀏覽器將忽略這些無法理解的WML標記。但是如果想在WAP設備或者模擬器上測試的時候,只需要將"http://"去掉,頁面自動變成WML頁面。
    12.使用PHP動態輸出WML
       這些例子生成一個非常有用的應用叫做:PizzaCalc。它將輸入所有的pizza的帳單和人的數目,可以算出每個人的花費。
       應用生成一個動態的頁面叫做“calc”或者“input”。注意到所有的轉義字符例如雙引號。該頁顯示了一個簡單的變量處理,和如何傳遞參數到另外的卡片:
       使用WML瀏覽器就可以測試應用程序:
            http://wap.colorline.no/wap-faq/apps/pizzacalc.html
       或者輸入:
            http://wap.colorline.no/demos.html選擇應用。
    <?
    header("Content-type: text/vnd.wap.wml");
    echo("<?xml version=\\"1.0\\"?>\\n");
    echo("<!DOCTYPE wml PUBLIC \\"-//WAPFORUM//DTD WML 1.1//EN\\"
    \\"http://www.wapforum.org/DTD/wml_1.1.xml\\">\\n\\n");
    echo("<!--The application PizzaCalc was originally made by The Crusaders
    www.crusaders.no on the Commodore Amiga -->\\n");
    echo("<!-- It was unfortunately not possible to emulate the crap interger handling of the
    original program -->\\n");
    ?>

    <wml>
    <?
      if($action == "calc") {
        echo("<card id=\\"result\\" title=\\"PizzaCalc\\">\\n");
        echo("<do type=\\"prev\\" label=\\"Back\\">\\n");
        echo("<go href=\\"pizzacalc.html#input\\"/>\\n");
        echo("</do>\\n");
        echo("<p>\\n");
        echo("The cost per eater will be ".$total / $eaters."<br/>\\n");
      }
      else {
        echo("<card id=\\"input\\" title=\\"PizzaCalc\\">\\n");
        echo("<p>\\n");
    echo("<anchor>Split Pizza bill
    <go href=\\"pizzacalc.html?total=\\$(total)&eaters=\\$(eaters)&action=calc\\"/>
    </anchor>\\n");
        echo("<br/>\\n");
        echo("Total cost: <input type=\\"text\\" name=\\"total\\" format=\\"*N\\"/>\\n");
        echo("Eaters: <input type=\\"text\\" name=\\"eaters\\" format=\\"*N\\"/>\\n");
      }
    ?>
    </p>
    </card>
    </wml><!--++ plugin_code qcomic begin--> <!--++ plugin_code qcomic end-->