`
peter.kong
  • 浏览: 56810 次
  • 来自: ...
社区版块
存档分类
最新评论
阅读更多
 Wap 文章 [转]

::URL::
http://blog.zhoz.com/user1/gzqok123/archives/2006/175.shtml



开发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”服务(::URL::http://***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\"
//"::URL::http://***wapforum.org/DTD/wml_1.1.xml\">\n\n" ;
?>
    基于PC的浏览器将忽略这些无法理解的WML标记。但是如果想在WAP设备或者模拟器上测试的时候,只需要将"//"去掉,页面自动变成WML页面。
12. 使用PHP动态输出WML
    这些例子生成一个非常有用的应用叫做:PizzaCalc。它将输入所有的pizza的帐单和人的数目,可以算出每个人的花费。
    应用生成一个动态的页面叫做“calc”或者“input”。注意到所有的转义字符例如双引号。该页显示了一个简单的变量处理,和如何传递参数到另外的卡片:
    使用WML浏览器就可以测试应用程序:
        ::URL::http://wap.colorline.no/wap-faq/apps/pizzacalc.html。
    或者输入:
        ::URL::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\"
\"::URL::http://***wapforum.org/DTD/wml_1.1.xml\">\n\n" ;
echo("<!--The application PizzaCalc was originally made by The Crusaders
***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>
13. 可以使用Java Servlet来生成WML页面吗?
    当然。可以使用创建HTML同样的方法来创建WML。如果想书写一个CGI来创建WML,只要记住在页面的开头正确设置MIME类型:
    response.setContentType("text/vnd.wap.wml";
14. 可以使用ASP、Perl等生成动态的应用吗?
    是的。可以使用任何服务器端的脚本语言来生成WAP应用。
15. 如何使用ASP书写WML内容?
    ASP (Active Server Pages)可以做到和PHP一样,也可以用来书写动态的WML。如果需要一些好的例子请参考Luca Passani's WAP and ASP articles。或者查看Jean-Luc Praz's (jeanluc@corobori.com)。更多的ASP例子在:::URL::http://***corobori.com/wap/。
16. 在使用ASP动态输出WML页面的时候,已经设置了Content-type,但是浏览器返回的仍然是text/html,有什么问题吗?
    如果在ASP脚本中有一个错误,那么诊断程序会发还一个HTML页面,请检查脚本。
17. 在使用ASP生成WML页面的时候出现了错误: <MIME type "text/html" is not supported>,会是什么问题?
    这个问题是Web浏览器不知道WML的正确类型,修改ASP的第一行,加入:
    <Response.ContentType = "text/vnd.wap.wml"> 
    后就可以工作了。
18. 下面的代码有什么问题吗?
<%Response.ContentType = "text/vnd.WAP.WML"%>
<?xml version="1.0"?>
    去掉<?xml version="1.0"?>之前的空格。XML解释器希望在这行中没有其他字符,甚至是空行。
19. ASP代码可以在模拟器上工作,在真正的浏览器上怎么不行?
    在很多模拟器上没有像真正的WML浏览器那么严格。这些对于那些没有使用网关的模拟器(Nokia SDK/Toolkit)来说更是这样,有些就根本没有使用网关(WinWAP、WapMAN)。
    一个真正的WML浏览器应该只读取二进制的数据(从WML编码得来的)WMLC,对于网关应该将文本WML转换/编译成WMLC。语法是非常严格的。ASP是为HTML浏览器设置的,但是HTML没有WML那么严格。
    这里在ASP生成动态页面的时候有一个微小的“bug”。它在WML浏览器上不允许有任何地方输出白行(例如:空格,回车,换行)。注意到有些网关可能会修正这些问题,但有的则不管(例如:CMG网关)。
    下面是一个常见的ASP代码用来输出WML页面开头的MIME类型:
<%Response.ContentType = "text/vnd.wap.wml"%>
<?xml version="1.0"?>
     问题就在ASP将会在 .wml"%> 和 <?xml vers 之间输出换行和回车。这两行就被分割了。这将打乱WML代码的内容。WML必须以“<”开头,而且第一行是<?xml version="1.0"?>。就上面的WML页面回车/换行将会出现问题。
    最简单的解决办法是:
    <%Response.ContentType = "text/vnd.wap.wml"%><?xml version="1.0"?>
    在XML定义正确的格式化以后,后面的部分WML对空格就没有那么严格的要求。
    要注意的是有些网关在输出ASP的时候会有问题,因此在WML代码中最好使用 Response.Write 而不是<%=MyVar%>。
20. 如何使用Perl来生成WML内容?
    和其他Server端程序一样。Perl也可以用来书写漂亮的WAP应用程序。
    最常见的就是如何使用Perl输出正确的MIME类型,下面的例子说明了这一点:
print "Content-type: text/vnd.wap.wml\n\n";
print "<?xml version=\"1.0\"?>\n";
print "<!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.1//EN\"
\"::URL::http://***wapforum.org/DTD/wml_1.1.xml\">\n";
print "<wml>\n";
……
21. 应当如何下手书写WAP应用程序?
    其实需要的只是Text编辑器。但是使用一个开发工具可以节约很多时间。
    在这之前应该浏览一下WAP的权威站点:***wapforum.com。
    在Nokia WAP 开发论坛中进行注册,并且下载Nokia WAP Developer Toolkit 。Toolkit中的PDF文件可以给出一定的WML和WMLScript指导。Nokia Toolkit需要JRE (Java Runtime Environment) v.1.2.2 或者更高版本。
    虽然工具可以用来为WAP设备设计应用,但是不是为专门的移动电话。在WAP开发工具上所看到的并不代表用户在手机上所看到的。为了确定想看到的事情,最好需要一个WAP设备,例如移动电话,或者模拟器。
    Nokia WAP SDK 2有一个7110的模拟器。模拟器是一个有效的检测方式,能检测程序中的bug。 Nokia SDK 同样还包括一个小的WAP server让开发者可以从本地或者HTTP服务器上下载WML页面。
    到 Phone.com 开发站点注册后,Phone.com 提供UP.browser。这是最流行的浏览器,特别是在美国,Phone.com 提供UP.SDK。 在注册之后就可以下载。
     对于Ericsson R320 和 R380是最近的事情。应该注册并查看Ericsson's Developer's Zone 来得到开发工具。R380是一个非常好的模拟器,在 Symbian 不需要注册就可以下载。Ericsson 没有公开的为R320的模拟器。
    Motorola 有一个平台叫做 Mobile Internet eXchange 或者 MIX 。Mobile Application Development Kit 已经开发出一个开发平台,即为WAP也为Motorola的 VoxML。在注册后,可以在下面的网址找到数据包。
    ::URL::http://***motorola.com/MIMS/MSPG/cgi-bin/spn_madk.cgi. 
    WAPmine 是一个独立的应用,叫做 WAPPage 是一个所见即所得的编辑工具。而且有一个XML树型控件来编辑WML标签。
    如果在开发公共应用程序时,想在很多设备上测试你的程序,就像在不同的浏览器上测试HTML页面一样。注意在不同的WML浏览器上的差别,可能比在不同的HTML浏览器上的差别要大。
22. 如何编写和测试WML页面?
     现在有很多SDK。AnywhereYouGo.com有WAP SDK和IDE列表,可以下载一个来用。任何文本编辑器都可以书写一个简单的WML页面,当然HTML编辑器也可以(特别是那些支持个人定义标签的),例如:Allaire Homesite (::URL::http://***allaire.com  )。可以使用SDK来做简单的测试,但是对于大的项目可能要困难些。AnywhereYouGo.com已经建立一套基于Web的工具来帮助WAP测试。
23. 哪儿可以在找到WML的测试工具?
    首先确定WML代码是正确的,然后再使用WML测试工具。
    有一个非常好的测试工具在Zygo Communications(::URL::http://wap.z-y-g-o.com/tools/),测试工具是用Perl写的。里面还有其他的工具可供下载。
24. 如何操作WML页面?
     操作WML页面或者卡片,最简单的办法是通过现有的网关。大多数移动电话提供者将功能都放在主页上,在上面可以通过WAP设备操作。网关的链接一般叫做 “Go to URL”。当选择以后,WAP设备将通过网关操作指定的普通IP或者URL。在这种情况下,网关读取从WAP设备发送给网关的WML内容,就像PC浏览器读取内容的过程一样。
    有些营运商选择不让他们的用户操作其他的站点。这个就像Internet Service Provider只允许用户操作ISP自己的站点。像这样的做法是不明智的,这样会发现自己的用户去其他地方了。
    如果要坚持这种方法,可以通过ISP拨号或者使用一个公共的网关来取得其他的WAP资源。
25. 有没有一个友好的方式来管理WML内容?
    还没有。虽然Oracale正在开发数据库驱动的文档服务,被称为Panama,可以支持WAP分发。

分享到:
评论
1 楼 kong_bai 2008-12-30  
)&nbsp;.................

相关推荐

    wap网站和wap+2.0教程.

    手持式WAP设备的局限性 WAP设备与PC相比: 低分辨率的小显示屏 输入装置容量有限,重要的是没有提供定点装置 低功率CPU,内存较少及能量较不稳定 网络带宽较窄且连接较不稳定 WAP带来的灵活性 与HTML-C相比,WAP...

    WAP常见问题问答大全

    一、关于WAP的常见问答 二、关于WML的常见问答 三、关于WAP开发的常见问答 四、关于WMLScript的常见问答 五、关于WBMP的常见问答 六、关于WAP网关的常见问答 七、关于WAP浏览器的常见问答 八、关于WAP手机的常见问答...

    纯真2.0wap建站系统

    纯真2.0wap建站系统纯真2.0wap建站系统纯真2.0wap建站系统纯真2.0wap建站系统纯真2.0wap建站系统纯真2.0wap建站系统纯真2.0wap建站系统纯真2.0wap建站系统纯真2.0wap建站系统纯真2.0wap建站系统纯真2.0wap建站系统...

    ASP网站整站程序PHP源码-Wap Portal Server v1.21 (PHP+MYSQL的WAP整站)-wap打包程序

    ASP网站整站程序PHP源码_Wap Portal Server v1.21 (PHP+MYSQL的WAP整站)_wap整站打包程序_毕设源码实例 ASP网站整站程序PHP源码_Wap Portal Server v1.21 (PHP+MYSQL的WAP整站)_wap整站打包程序_毕设源码实例ASP网站...

    Android wappush讲解

    WAP就像因特网,是一个内容丰富的网络,用户如何找到自己喜欢的站点,如何在一个站点中找到自己 喜 欢的业务,往往需要花上很长的一段时间。而WAP PUSH可以将某一站点或某一业务的链接通过短信发送到支 持WAP PUSH...

    yxgm_180.zip_wap 游戏_wap游戏_wap网页文字游戏_wap网页游戏_英雄

    英雄wap在线网页游戏。online, 游戏、网上城堡的英雄, heroes

    wap教程 wap教程

    wap教程 wap教程wap教程 wap教程

    wap网站源码wap网站源码wap网站源码wap网站源码

    wap 网站 源码wap网站源码wap网站源码wap网站源码wap网站源码wap网站源码

    WAP 手机网站管理平台

    1、内容策划,你要再WAP站上面实现哪些功能,栏目,最好用个记事本文档或者用笔记下 2、收集图片素材,包括这个WAP网站的一些LOGO之类的素材 3、设计模板,如果是WAP1.0可以跳过这一步骤,WAP2.0可能需要...

    MZ1在线WAP手机网页模拟器

    MZ1在线WAP手机网页模拟器,很好用的一款在线WAP模拟浏览器,这是由名站集中营傲世绝雄自己搜集整理并优化界面出品的快速模拟器,访问WAP所有网站网页速度超快。本人这下拿出来供新站长分享使用,下载解压后,上传到...

    wap文字分页wap文字分页

    wap文字分页wap文字分页wap文字分页wap文字分页wap文字分页wap文字分页wap文字分页wap文字分页wap文字分页wap文字分页wap文字分页wap文字分页wap文字分页wap文字分页wap文字分页wap文字分页wap文字分页wap文字分页...

    快范wap浏览器|真正的wap浏览器(完美)

    软件大小: 2564096 字节 修改时间: 2012年8月4日, 17:28:43 ...真正的wap浏览器,采用独立模块绝对不受其他的影响,电脑wap浏览器,可设置代理,设置访问机型UA,支持多页面访问,输入框自动放大,多皮肤选择

    WAP网关原理 WAP网关原理

    WAP网关原理,WAP网关原理,WAP网关原理

    电脑WAP网浏览器wap wap

    电脑WAP网浏览器电脑WAP网浏览器.rar电脑WAP网浏览器.rar

    wap红包弹出框

    wap红包弹出框wap红包弹出框wap红包弹出框wap红包弹出框wap红包弹出框wap红包弹出框wap红包弹出框wap红包弹出框wap红包弹出框wap红包弹出框wap红包http://wap.cdznrx.com/zt/rtnx180105/ ...

    Wap_2.0_Development.rar_WAP 2.0 Development_wap_wap 2.0

    WAP 2.0 开发环境教程,对于现在越来越流行的手机WAP开发有很大帮助!

    WAP服务的用户接受模型研究.

    WAP(Wireless Application Protoc01)是一种向移动终端提供互联网内容和先进增值服务的全球统一的 开放式协议标准,是简化了的无线Interact协议。WAP定义可通用的平台,把目前Interact网上HTML语 言的信息转换成用WML...

    WapPush介绍&彩信通知头

    摘要 WAP PUSH既有信息发送主动、及时的特点,又有可随时随地接收信息的优势,因而具有良好的应用前景。该文简单介绍了WAP PUSH系统框架、推送协议和推送方式,重点介绍了通过短信网关实现WAP推送的实现方法。 ...

Global site tag (gtag.js) - Google Analytics