WML和WML Script编程起步
2002-3
第1版 (2002年3月1日)
贾玛斯
374
徐成敖
本书详细介绍了使用WML和WMLScript创建无线应用程序的方法和技巧。通过本书的学习,读者将能够创建具有实用价值的无线应用程序;充分了解无线Web和WAP;学会使用WML建立可在上网移动电话中运行的页面和应用程序;格式化文本、显示图像,以及创建无线位图文件,掌握构建无线Web站点以及基于WML的应用程序所需要的所有工具;使用WMLScript库改进无线应用程序的功能。
本书通俗易懂,内容由浅入深,循序渐进,各章中有“请教专家”对疑难问题进行解答,有“一分钟练习”帮助您快速进行自我评估,检查自己掌握知识的情况,有可以实际应用所学知识的“项目”,还有“小测验”帮助您复习所学知识。
本书适合无线应用的初学者阅读。
第1章 无线Web入门 1
1.1 访问无线Web所需要的条件 2
1.2 预览无线Web 3
1.2.1 无线搜索引擎 3
1.2.2 无线新闻和信息站点 4
1.2.3 无线体育信息站点 5
1.2.4 无线金融站点 5
1.2.5 无线移动商务站点 6
1.3 冲浪无线Web 7
1.3.1 在电话的数字键盘上输入 7
1.3.2 通过上网电话访问无线Web 8
1.3.3 遍历无线链接 8
1.4 下载电话模拟器 8
1.4.1 下载Phone.com软件开发工具包 9
1.4.2 下载诺基亚软件开发工具包 10
1.4.3 下载爱立信软件开发工具包 10
1.5 理解WML——无线标记语言 12
1.6 无线站点的放置位置 13
1.7 创建第一个无线站点 13
1.9 小测验 16
第2章 创建第一个WML应用程序 17
2.1 选择文本编辑器 18
2.2 组织WML应用程序 19
2.3 构建第一个WML应用程序:Hello,Wireless World! 20
2.4 使用电话模拟器的控制台窗口 23
2.5 深入研究应用程序“Hello,Wireless World!” 24
2.6 建立自动电话簿 33
2.7 WML与算术操作 38
2.8 理解空白 39
2.9 更正逻辑错误 41
2.10 使用Personal Web Server来启动无线应用程序 42
2.12 小测验 44
第3章 格式化输出 47
3.1 对齐段落文本 48
3.2 控制换行 50
3.3 使用样式格式化文本 52
3.4 显示简单的图像 54
3.5 创建WBMP文件 54
3.6 将WBMP图像插入WML应用程序 55
3.7 使用电话的内置图像 57
3.8 在表中组织数据 62
3.9 格式化表数据 66
3.10 利用特殊的字符 75
3.11 检查掌握程度 77
第4章 使用多个卡片和变量 79
4.1 使用两个或多个卡片 80
4.1.1 理解 do type="accept" label="text" 标记 83
4.1.2 显示一周的天气预报 86
4.1.3 后退到前一个卡片 90
4.2.1 访问驻留于当前卡片组之外的卡片 96
4.2.2 使用锚点创建链接 99
4.2.3 创建到外部卡片组中卡片的链接 101
4.2 链接时的副作用 104
4.3 在变量中存储信息 105
4.3.1 变量命名 107
4.3.2 WML变量存储字符串 108
4.3.3 使用变量包含的值 108
4.3.4 使用 setvar 为变量赋值 108
4.3.5 更改变量值 110
4.3.6 理解变量上下文 113
4.3.7 使用电话模拟器控制台窗口查看变量 114
4.4 使用注释解释应用程序的处理过程 115
4.5 小测验 116
第5章 执行用户的输入操作 117
5.1 执行输入操作 118
5.1.1 限制用户可输入的字符数目 119
5.1.2 使用微浏览器特定的输入字段 121
5.1.3 为输入字段指定标题 122
5.1.4 提示用户输入密码 122
5.1.5 提供默认的输入值 124
5.1.6 控制输入格式 125
5.1.7 控制空字符串 127
5.1.8 结构化输入格式 129
5.1.9 按照指定次数重复格式化代码 130
5.2 使用 select 标记创建选择菜单 131
5.2.1 指定与用户选择对应的索引值 134
5.2.2 让用户选择多个 select 标记选项 136
5.3 在 select 标记中分组选项 139
5.4 理解字段设置 141
5.5 理解事件 143
5.5.1 WML事件可以触发特定的任务 144
5.5.2 检查 go 和 prev/ 事件 144
5.5.3 理解 noop 标记 145
5.5.4 理解 refresh 标记 147
5.5.5 使用 do 标记响应事件 147
5.5.6 响应其他事件 149
5.6 使用模板 158
5.7 使用 meta 标记 159
5.8 小测验 159
第6章 建立现实世界的WML应用程序 161
6.1 创建自己的无线站点 162
6.2 深入了解MyInfo.wml 164
6.3 创建关于家庭信息的无线站点 167
6.4 创建无线公司的定位器 172
6.5 创建新闻馈送 178
6.6 小测验 183
第7章 使用WMLScript使WML 应用程序自动操作 185
7.1 将WMLScript语句放入.wmls文件 186
7.2 理解WMLScript函数 187
7.3 理解WMLScript保留字 188
7.4 简单示例 189
7.6 使用注释解释脚本的处理过程 192
7.7 在WMLScript变量中存储信息 193
7.7.1 在脚本中声明变量 194
7.7.2 对变量赋值 194
7.7.3 使用变量包含的值 195
7.7.4 理解浮点数精度 197
7.8 执行算术操作 198
7.8.1 将变量值加1 200
7.8.2 使用前缀(在前)和后缀(在后)增量运算符 201
7.8.3 其他WMLScript运算符 202
7.8.4 理解运算符的优先级 203
7.8.5 控制WMLScript执行算术运算的顺序 204
7.9 从其他函数中调用WMLScript函数 205
7.10 把WML变量和其他数值作为参数传递给WMLScript函数 208
7.11 使用条件处理作出判断 210
7.11.1 使用关系操作符比较两个值 210
7.11.2 使用if语句测试条件 211
7.11.3 理解简单语句和复合语句 212
7.11.4 对假条件使用else语句 212
7.11.5 使用逻辑运算符测试两个或者更多的条件 214
7.11.6 理解WMLScript如何表示真和假 214
7.11.7 使用WMLScript的非运算符 215
7.11.8 执行if-else处理 215
7.12 利用迭代过程重复指定的语句 216
7.12.1 使用for语句重复指定次数的语句 216
7.12.2 使用while循环在条件为真时重复语句 218
7.13 从WMLScript中访问WML变量 220
7.14 使用use access编译指示限制访问WMLScript文件 221
7.15 小测验 223
第8章 使用WMLScript库 225
8.1 理解库、函数和参数 226
8.2 使用WMLScript的Dialogs库 226
8.2.1 警告用户有问题或事件产生 227
8.2.2 确认用户操作 228
8.2.3 提示用户输入 231
8.3 使用WMLScript Float库 234
8.4.1 确定设备支持数值的范围 237
8.4.2 对数值舍入和截断 239
8.4.3 数值求幂 243
8.4.4 计算数值的平方根 244
8.5 利用WMLScript Lang库 246
8.5.1 中止当前应用程序 246
8.5.2 确定数值的绝对值 248
8.5.3 确定当前字符集 249
8.5.4 测试有效的整数或浮点数 251
8.5.5 确定最大值和最小值 253
8.5.6 把字符串解析为整数或者浮点数 254
8.5.7 生成随机数 256
8.6 使用WMLScript的String库 260
8.6.1 确定字符串中特定位置的字符 261
8.6.2 比较两个字符串 263
8.6.3 对字符串的内容进行格式化 265
8.6.4 使用分界字符串 266
8.6.5 测试空串 271
8.6.6 确定字符串的长度 272
8.6.7 从字符串中删除空格 273
8.6.8 从字符串中提取子串 275
8.6.9 把结果转换成字符串 275
8.7 使用WMLScript的URL库 276
8.7.1 解析URL地址 277
8.7.2 确定URL的基址 278
8.7.3 从URL中提取分段 278
8.7.4 从URL中提取主机名 279
8.7.5 从URL中提取参数 279
8.7.6 从URL中提取目录路径 279
8.7.7 从URL中提取端口号 279
8.7.8 确定引用源的URL 279
8.8.1 从URL中提取架构 282
8.8.2 测试有效的URL 282
8.8.3 加载驻留在URL中的内容 282
8.8.4 转义URL字符串 283
8.9 使用WMLScript的WMLBrowser库 283
8.9.1 确定当前卡片 283
8.9.2 执行WML go操作转向某个URL 285
8.9.3 执行WML的prev操作返回到前面的URL地址 286
8.9.4 执行WML的refresh操作 287
8.9.5 设置和检索变量值 287
8.10 小测验 288
第9章 建立现实世界的WMLScript应用程序 291
9.1 使用Console窗口 292
9.2 处理用户输入 294
9.3 玩Tic-Tac-Toe游戏 296
9.4 小测验 305
第10章 高级概念 307
10.1 与服务器交互 308
10.1.1 用Perl脚本存储地址信息 312
10.1.2 搜索地址列表 315
10.1.3 使用Perl脚本从数据库中检索信息 317
10.2 与ASP交互 322
10.3 建立待做事项列表 324
10.3.1 向待做事项列表添加事件 327
10.3.2 查看待做事项列表条目 329
10.5 小测验 334
附录A 小测验答案 335
A.1 第1章 答案 336
A.2 第2章 答案 336
A.3 第3章 答案 339
A.4 第4章 答案 341
A.5 第5章 答案 343
A.6 第6章 答案 348
A.7 第7章 答案 350
A.8 第8章 答案 351
A.9 第9章 答案 352
A.10 第10章 答案 352
附录B WML语言参考 355
B.1 a 356
B.1.1 描述 356
B.1.2 格式 356
B.1.3 属性 356
B.2 access 356
B.2.1 描述 356
B.2.2 格式 356
B.2.3 属性 356
B.3 anchor 357
B.3.1 描述 357
B.3.2 格式 357
B.3.3 属性 357
B.4 b 357
B.4.1 描述 357
B.4.2 格式 357
B.4.3 属性 357
B.5 big 358
B.5.1 描述 358
B.5.2 格式 358
B.5.3 属性 358
B.6 br/ 358
B.6.1 描述 358
B.6.2 格式 358
B.7 card 358
B.7.1 描述 358
B.7.2 格式 358
B.7.3 属性 359
B.8 do 359
B.8.1 描述 359
B.8.2 格式 359
B.8.3 属性 359
B.9 em 360
B.9.1 描述 360
B.9.2 格式 360
B.9.3 属性 360
B.10 fieldset 360
B.10.1 描述 360
B.10.2 格式 360
B.10.3 属性 360
B.11 go 360
B.11.1 描述 360
B.11.2 格式 361
B.11.3 属性 361
B.12 head 361
B.12.1 描述 361
B.12.2 格式 361
B.12.3 属性 361
B.13 i 362
B.13.1 描述 362
B.13.2 格式 362
B.13.3 属性 362
B.14 img 362
B.14.1 描述 362
B.14.2 格式 362
B.14.3 属性 362
B.15 input 363
B.15.1 描述 363
B.15.2 格式 363
B.15.3 属性 363
B.16 mata 364
B.16.1 描述 364
B.16.2 格式 364
B.16.3 属性 364
B.17 noop 364
B.17.1 描述 364
B.17.2 格式 364
B.18 onevent 364
B.18.1 描述 364
B.18.2 格式 365
B.18.3 属性 365
B.19 optgroup 365
B.19.1 描述 365
B.19.2 格式 365
B.19.3 属性 365
B.20 option 365
B.20.1 描述 365
B.20.2 格式 365
B.20.3 属性 365
B.21 P 366
B.21.1 描述 366
B.21.2 格式 366
B.21.3 属性 366
B.22 postfield 366
B.22.1 描述 366
B.22.2 格式 366
B.22.3 属性 366
B.23 pre 367
B.23.1 描述 367
B.23.2 格式 367
B.23.3 属性 367
B.24 prev 367
B.24.1 描述 367
B.24.2 格式 367
B.24.3 属性 367
B.25 refresh 367
B.25.1 描述 367
B.25.2 格式 368
B.25.3 属性 368
B.26 select 368
B.26.1 描述 368
B.26.2 格式 368
B.26.3 属性 368
B.27 setvar 368
B.27.1 描述 368
B.27.2 格式 369
B.27.3 属性 369
B.28 small 369
B.28.1 描述 369
B.28.2 格式 369
B.28.3 属性 369
B.29 strong 369
B.29.1 描述 369
B.29.2 格式 369
B.29.3 属性 369
B.30 table 369
B.30.1 描述 369
B.30.2 格式 370
B.30.3 属性 370
B.31 td 370
B.31.1 描述 370
B.31.2 格式 370
B.31.3 属性 370
B.32 template 370
B.32.1 描述 370
B.32.2 格式 370
B.32.3 属性 371
B.33 timer 371
B.33.1 描述 371
B.33.2 格式 371
B.33.3 属性 371
B.34 tr 371
B.34.1 描述 371
B.34.2 格式 371
B.34.3 属性 372
B.35 u 372
B.35.1 描述 372
B.35.2 格式 372
B.35.3 属性 372
B.36 wml 372
B.36.1 描述 372
B.36.2 格式 372
B.36.3 属性 372
附录C 万维网无线参考资料 373