第二章 手机仿真开发环境
所谓的手机仿真开发环境,也就是在普通的PC机器上面使用各种模拟器来模拟手机的真实环 境,从而方便WAP网站的开发,目前较为流行的模拟器主要有以下几个:
一、NokiaToolkit1.2/1.3
可以从这个地址下载这个仿真开发环境:http://www.nokia.com 目前这个WAP工具包的最高版本是1.3beta,诺基亚公司的这个开发包是采用JAVA编写的,所以你在安装之前首先要安装JRE 2.2以上的版本才可以,JRE可以在SUN公司的主页上面下载 (http://www.sun.com)。诺基亚公司的这个开发工具是一个集成环境,可以方便的编译WML/WMLScript,并且有着详细的WML/WMLScript开发文档,用户可以通过地址栏来装载本地正在开发的WML文件,或者直接浏览互联网上面的WAP网站;但是Nokie Toolkit的运行条件比较苛刻,如果你的机器内存小于128兆,那么运行的速度将大打折扣,没有办法,JAVA编写的程序向来如此的,这也算是一个小小的遗憾吧。1。2的版本没有模拟实际型号的手机,而1.3版本就有模拟产品7110的仿真环境。
二、 EricssonWapIDE4
爱立信公司推出的一个WAP开发包,和诺基亚公司的开发包类似,爱立信公司的这个工具也是一个集成开发环境,比较方便,可以从这个地址下载:http://www.ericsson.com/wap 。相对于诺基亚公司的WAP开发工具而言,爱立信公司的这个开发工具就较为简陋一些,并且它的开发文档很少,但是它的运行速度要比诺基亚的 那个开发工具包要快的多,尤其是内存在64兆左右的机器。
三、 UP.SDK4.0
Phone.com公司的UP.SDK产品和上面的两种开发工具相比 就是没有集成的IDE开发环境。这个开发工具可以在: http://www.phone.com取得。
从上面的说明来看,在这三个流行的WAP开发工具中,最具有吸引力的当然就是诺基亚公司的模拟仿真环境了,图形界面以及丰富的开发文档,的确不可多得。另外,还有其他的一些可以浏览WAP网站的软件,比如WinWAP,WAPMan等等,他们都是可以直接在PC机上面直接来浏览WAP网站的软件,值得一提的是,Opera公司推出的4.0版本的浏览器就已经支持直接在浏览器中访问WAP网站了,这个小巧的浏览器功能很是强劲。相信微软也不会坐视不等,可能在IE的后续版本中增加支持WML文件的功能。
上面的WAP仿真开发环境的安装后的设置都比较简单,稍微懂一些英文的都会看得懂的。
第三章 WML/WMLScript设计
现在我们来正式设计我们的WAP站点,正如目前的WEB网站是基于HTML语言一样,WAP网站是基于WML语言的,而WML语言其实是遵循目前的XML技术的,不过你如果不懂XML也不要紧的,还是可以很快入门的。
WML和以往的HTML语言最大的不同是,WML语言的限制非常严格,表现在下面几个方面:
1、 WML中的所有标签、属性都是区分大小写的
2、 对于连续的空格,WML编译器将认为是一个
3、 所有标签的属性都需要使用双引号括起来
4、 所有的标签都必须封闭,对于不成对出现的标签,必须在“>”之前加上“/”,比如“<br/>”
一定要注意上面的要点,否则很有可能出现手机无法浏览WML的情况出现。做到这一点,只是习惯的问题,主要是我们在HTML时代养成的“懒散”习惯不太好,都是IE的兼容性太好惹得祸,^_^
在WML中,最基本的单位叫做“card”,他被用来向用户提供交互界面,这其实也是为了照顾到手机的屏幕比较小而设计的,并且手机的处理能力有限,不可能像我们经常使用的IE等浏览器那样一次将整个页面载入,在使用滚动条来察看内容,被设计用于手机浏览的WML文件,一个最大不能超过1.4K,所以我们才将大的叶面分割成为若干个card,来一次显示;多个“card”就组成了一个 “Deck”,也即使一个“层面”,一个WML文件中只允许出现一个层面,正如HTML中只用一个 “<html></html>”标签一样。
另外还要记住,只要想显示一些文字到手机上面,就必须使用"<p></p>"标签将这一段文字括住。不再罗嗦,下面我们就先看看一个简单的例子:HelloWorld
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml1_1.1.xml">
<wml>
<card id="hello" title="WAP">
<p>Hello! World!</p>
<!-- 注释信息 - ->
</card>
</wml>
将这个文件存盘,在诺基亚仿真浏览器中浏览就可以看到你向WAP世界的问候语了。我们可以看到,在WAP中的注释方法同HTML中是一样的。要注意的是每一个card的id属性是不允许省略的,并且在默认的情况下手机显示的是这个“层面”的第一个“卡片”,当然我们也可以直接指定要浏览的特定“卡片”,后面我们会提到。
怎么样,看看这第一个例子,觉得WML并不是很难吧,要比HTML还要简单呢,只是它的限制稍微多一些而已,接下来我们来看看WML中其他有用的标签:
标签:<wml></wml>
描述:定义“层面”的开始和结束,一个WML文件只允许一个层面
标签:<card></card>
描述:定义“卡片”的开始和结束,多个“卡片”组成一个“层面”
id属性必须要给出,用以区分不同的“卡片”
title属性指明提示信息
标签:<p></p>
描述:用来显示文字的标签
标签:<img src="" alt="" localsrc="" align="left" height="" width="" vspace="" hspace="">
描述: alt属性用来指定图片没有正常显示时的提示信息 ,src属性指定图片的路径
以上两个属性是必须的
其他的属性类似于HTML语言
标签:<do type="" label="" name="" option=""></do>
描述: 执行某些动作,其中属性type是必须的。
type值 触发事件
accept 触发确认
delete触发删除
help触发帮助
options触发选择
prev返回上一页
reset清除目前状态
标签:<gohref=""/>
描述:当用户点击了do标签之后,就可以使用这个标签
连接到其他的“卡片”或“层面”
要指定它的“href”属性。
标签:<timer value="">
描述:设定计时器的时间,以0.1秒为单位,同一个“卡 片”只能有一个timer标签。到达特定时间后会触 发ontimer事件
标签:<a href=""> </a>
描述:类似HTML中的同样标签
标签:<go method="" href=""></go>
描述:类似于HTML中的form标签,method属性的值:post/get
标签:<postfield name="" value=""/>
描述:设定变量的名字和值,这些值可以被服务器端的ASP,JSP等程序捕获。
标签:<input type="text/password" name="" value=""/>
描述:提供输入的表单,类似于HTML$(name)
描述:获取变量的值
以上就是在WML中经常用到的标签,当然还有很多标签,你可以在Nokia Toolkit中找到详尽的语法,这里就不再重复了。要注意的是,在WML中使用的图片格式不同于平常的图片,而是要使用WBMP格式的图片,这种图片是黑白两色的专为手机提供的图片格式,你可以下载Photoshop的WBMP插件,用来编辑WBMP格式的图片,或者网络上面有很多的工具可以转换其他格式的图片到WBMP格式。
接下来我们要介绍一下运行在手机上面的script程序:WMLScriptWMLScript语言和JavaScript语言非常相似,不同之处在于WMLScript语言必须放在一个WMLS的文件里面,并不像javascript那样可以镶嵌在HTML中, 并且WMLS文件的大小也不要超过1.4K