加好友 發短信
等級:青蜂俠
帖子:1393
積分:14038
威望:0
精華:0
注冊:2010-11-12 11:08:23
|
關于“WAP平臺開發技...”的內容 Post By:2010-12-6 11:19:39
三、關于WAP開發的常見問答 1.開發WAP軟件需要哪些工具? 為了開發WAP應用程序,需要一個WAP網關(注意:這里的網關可能是指支持WML的服務器。可以通過配置WWW服務器達到這個目的)和WAP工具包。工具包應當包括模擬器和能讓開發者瀏覽WML網頁。WML頁面的開發和HTML頁面的開發一樣,可以使用Notepad或者其他文本編輯器來進行編輯。 2.有哪些公司現在提供這樣的開發環境? Nokia、Ericsson、UpPhone和Motorola都提供免費的WAP網關和工具包。 Nokia:Nokia Toolkit和Nokia WAP Server。 Ericsson:Ericsson R320和WapIDE。 UpPhone:UpPhone SDK。 Motorola:Motorola 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的瀏覽器。HTML、JavaScript和Java對于WAP開發來說都沒有用處。但是,越來越多的開發工具在加入對WML的支持。 Allair的Cold Fusion 4.5和 HomeSite已經有WML支持,雖然Allair也許需要清除一些BUG。另外PHP和ASP在Coldfusion/HomeSite也能支持。 可以到 Marjolei Katsma的 HomeSite 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--> |
|
|