第1章 移动计算基本概念 1
1.1 移动计算的基本概念 1
1.1.1 用户和终端的移动性 1
1.1.2 资源访问的移动性 1
1.2 移动终端和系统平台 1
1.2.1 移动终端概述 2
1.2.2 移动终端信息输入 2
1.2.3 移动终端操作系统 2
1.2.4 移动应用开发平台 4
1.3 移动计算带来的挑战 5
1.4 移动通信技术简介 6
1.4.1 移动通信的发展历程 6
1.4.2 第三代移动通信技术简介 7
1.4.3 第四代移动通信技术简介 7
1.5 移动计算主要研究问题 8
1.5.1 移动IP技术 9
1.5.2 QoS技术 9
1.5.3 移动数据管理技术 10
1.6 本章小结 11
1.7 习题 11
第2章 移动计算模型 13
2.1 移动计算模型概述 13
2.1.1 计算模型概念 13
2.1.2 传统计算模型 13
2.2 B/S和C/S混合计算模型 20
2.3 基于移动Agent的移动计算模型 23
2.3.1 移动Agent概述 23
2.3.2 移动Agent技术的关键问题 24
2.3.3 移动Agent计算模型 24
2.3.4 移动Agent计算模型的特点 25
2.3.5 移动Agent系统的体系结构 25
2.3.6 移动Agent技术的应用和发展趋势 27
2.4 基于双代理结构的移动计算模型 28
2.4.1 静态对象缓存管理模块 29
2.4.2 动态对象缓存管理模块 30
2.4.3 对象压缩模块 31
2.4.4 协议优化模块 31
2.5 基于广域网的移动计算模型 32
2.5.1 广域网计算模型概述 32
2.5.2 基于移动Agent的广域网普适计算模型 32
2.5.3 移动Agent在广域网中的服务迁移机制 34
2.5.4 移动Agent在广域网中的资源迁移机制 35
2.6 本章小结 37
2.7 习题 38
第3章 移动Agent技术 39
3.1 Agent技术概述 39
3.1.1 什么是Agent 39
3.1.2 软件Agent的特性 39
3.1.3 软件Agent的分类 41
3.1.4 软件Agent的BDI理论模型 43
3.1.5 软件Agent的适用领域 44
3.2 移动Agent基本概念 45
3.2.1 移动Agent的特点及优势 45
3.2.2 移动Agent系统结构 46
3.2.3 移动Agent生命周期 46
3.2.4 移动Agent关键技术 48
3.3 移动Agent相关规范 49
3.3.1 Agent通信语言(ACL) 49
3.3.2 Agent传输协议(ATP) 49
3.3.3 移动Agent的标准 49
3.4 基于移动Agent的开发平台 50
3.4.1 移动Agent开发平台MADP 50
3.4.2 基于移动Agent的分布式计算模型 52
3.5 移动Agent平台 54
3.5.1 国际组织对移动Agent平台标准化的贡献 55
3.5.2 现有Agent平台的介绍 55
3.6 CORBA概述 59
3.6.1 什么是CORBA 59
3.6.2 CORBA体系结构 59
3.6.3 CORBA安全机制 61
3.6.4 CORBA技术特点 61
3.7 本章小结 61
3.8 习题 62
第4章 移动终端操作系统简介 63
4.1 Windows Mobile操作系统 63
4.1.1 Windows Mobile简介 63
4.1.2 Windows Mobile特点 64
4.1.3 Windows Mobile软件开发 64
4.2 Symbian操作系统 64
4.2.1 Symbian OS简介 64
4.2.2 Symbian OS用户界面 65
4.2.3 Symbian OS的软件开发 66
4.3 Linux操作系统 66
4.3.1 Linux简介 66
4.3.2 GNU/Linux历史 67
4.3.3 Linux手机系统发展历程 67
4.3.4 Linux手机系统现状 68
4.4 Palm操作系统 68
4.4.1 发展历史 68
4.4.2 Palm OS特点 68
4.4.3 Palm OS版本历史 69
4.4.4 Palm OS软件开发 70
4.5 Android操作系统 70
4.5.1 Android简介 71
4.5.2 Android历史 71
4.5.3 Android软件开发 71
4.6 BlackBerry操作系统 72
4.6.1 BlackBerry简介 72
4.6.2 BlackBerry OS 72
4.7 iPhone操作系统 73
4.7.1 iPhone简介 73
4.7.2 iPhone设备特性 73
4.8 QT 74
4.8.1 QT简介 74
4.8.2 QT程序 74
4.8.3 QT的跨平台性 74
4.9 几种操作系统的比较 75
4.10 本章小结 76
4.11 习题 76
第5章 无线通信技术 77
5.1 无线局域网(WLAN) 77
5.1.1 无线局域网简介 77
5.1.2 无线局域网标准 78
5.1.3 无线局域网的应用 79
5.2 蓝牙(Blue Tooth)技术 81
5.2.1 蓝牙技术简介 81
5.2.2 蓝牙技术的特点 81
5.2.3 蓝牙技术的应用 82
5.3 第二代移动通信技术 82
5.3.1 移动通信技术的发展历程 83
5.3.2 第二代移动通信技术GSM 83
5.4 2.5G-GPRS 83
5.4.1 GPRS概述 83
5.4.2 GPRS应用与发展 84
5.5 第三代移动通信技术 84
5.5.1 第三代移动通信技术概述 85
5.5.2 WCDMA 86
5.5.3 3G业务 87
5.6 本章小结 88
5.7 习题 89
第6章 移动服务架构MSA 90
6.1 MSA简介 90
6.2 MSA规范体系结构 91
6.2.1 J2ME Web服务规范(JSR-172) 91
6.2.2 安全及可信服务API(JSR-177) 92
6.2.3 定位服务API(JSR-179) 92
6.2.4 J2ME的SIP API(JSR-180) 92
6.2.5 移动终端3D图形API(JSR-184) 93
6.2.6 内容管理者API(JSR-211) 93
6.2.7 J2ME可变2D矢量图形API(JSR-226) 93
6.2.8 移动支付API(JSR-229) 94
6.2.9 移动国际化API(JSR-238) 94
6.3 基于JSR-172的Web服务开发 94
6.3.1 Web服务概述 94
6.3.2 使用JAXP解析XML 95
6.3.3 JAX-RPC 99
6.4 Web服务开发工具——NetBeans简介 101
6.4.1 NetBeans移动开发包 102
6.4.2 NetBeans Web服务简介 102
6.5 本章小节 103
6.6 习题 103
第7章 普适计算概述 104
7.1 计算模式的发展 104
7.2 普适计算的概念 105
7.3 普适计算的特性 107
7.4 主要研究问题 108
7.5 发展现状与研究进展 109
7.6 本章小结 110
7.7 习题 110
第8章 Android开发平台 111
8.1 Android概述 111
8.2 Android开发环境搭建 112
8.3 第一个Android程序 114
8.4 Android程序开发的基本框架 119
8.5 Android应用程序的构成 121
8.6 J2ME程序与Android程序的比较 121
8.7 本章小节 123
8.8 习题 123
第9章 Windows Mobile开发环境 124
9.1 Windows Mobile开发环境的部署 124
9.2 Microsoft ActiveSync安装步骤 131
9.3 安装Windows Mobile 6 SDK 133
9.4 Windows Mobile开发实例 137
9.5 QT与Windows Mobile的结合 142
9.6 本章小结 145
9.7 习题 145
第10章 Symbian开发平台 146
10.1 S60开发环境的搭建 146
10.2 安装ActivePerl 147
10.3 安装JDK 151
10.4 安装Carbide C++ 154
10.5 安装S60 SDK 158
10.6 S60程序开发 161
10.7 Python for S60简介 165
10.8 S60学习方法简介 166
10.9 本章小结 167
10.10 习题 167
第11章 Openmoko开发平台 168
11.1 Openmoko简介 168
11.2 Openmoko支持平台 168
11.3 Openmoko基于qemu的环境搭建 169
11.4 Openmoko环境更新 175
11.5 Openmoko构建过程产生的目录树 176
11.6 构建一个简单的应用程序 177
11.7 本章小结 178
11.8 习题 178
第12章 J2ME开发平台 179
12.1 JAVA ME移动开发平台的历史由来及发展 179
12.1.1 Java版本的演进 179
12.1.2 各种Java版本的定位 180
12.1.3 不同Java版本的虚拟机 180
12.2 JAVA ME体系结构及概念 181
12.2.1 J2ME系统体系结构 181
12.2.2 CDC和CLDC简介 182
12.3 MIDP体系 182
12.4 JAVA ME开发环境及开发流程 187
12.4.1 JAVA ME主流开发工具介绍 187
12.4.2 Eclipse与.EclipseME移动开发环境的搭建 187
12.4.3 JAVA ME开发流程与部署 194
12.5 第一个JAVA ME程序——HelloWorld 197
12.6 JAVA ME平台的开发组件 199
12.6.1 图形用户界面开发及API 200
12.6.2 如何使用Display类 207
12.6.3 使用Screen类和滚动条 208
12.6.4 使用命令按钮响应用户操作 209
12.6.5 使用文本框输入信息 212
12.6.6 使用报警显示提示信息 213
12.6.7 向用户提供选择——列表 214
12.6.8 显示或改变值的大小——标尺 216
12.6.9 有效地校验用户输入 216
12.6.10 记录管理系统开发及API 218
12.6.11 网络数据访问开发及API 223
12.6.12 无线消息开发及API 225
12.7 本章小结 226
12.8 习题 226
习题参考答案 227
参考文献 248