前言 1
第1章 BREW平台简介 1
1.1 BREW的历史和简介 1
1.2 BREW技术特点 1
目录 1
1.3 BREW应用及运营商支持 3
1.4 主流移动应用平台的比较 4
第2章 BREW开发工具与开发环境 6
2.1 BREW开发环境介绍 6
2.1.1 BREW SDK的安装 6
2.1.2 BREW扩展的安装 6
2.2.1 建立一个新的BREW工程 13
2.2 第一个BREW应用程序 13
2.2.2 程序的架构说明 15
2.2.3 运行应用程序 20
2.2.4 BREW程序调试 22
2.3 其他开发工具和资源 25
第3章 BREW平台基本技术剖析 26
3.1 BREW平台架构和开发所用的语言 26
3.1.1 BREW平台架构 26
3.1.2 BREW开发所用的语言 27
3.2 BREW事件处理 27
3.2.1 BREW中的事件类型 27
3.2.2 BREW事件处理机制 28
3.2.3 BREW事件处理实例 29
3.3 BREW的面向对象机制 30
3.3.1 BREW基于引用计数的接口 31
3.3.2 BREW接口的继承和多态 31
3.4 BREW回调机制 33
3.5 本章小结 34
第4章 BREW应用程序管理 35
4.1 IShell接口功能划分 35
4.1.1 应用程序管理功能 35
4.1.2 对话框、消息框和提示功能 36
4.1.4 通知功能 37
4.1.3 获取设备和应用程序配置信息 37
4.1.5 资源文件和文件处理功能 38
4.1.6 定时器功能 39
4.1.7 IShell提供的其他功能 39
4.2 BREW的数据类型 39
4.2.1 BREW中的数据结构 39
4.2.2 BREW中各种定义和变量的命名方式 40
4.2.3 BREW中的AEECLSID机制 40
4.3 助手函数 41
第5章 BREW图形用户接口 42
5.1 IDisplay和IGraphics接口 42
5.1.1 IDisplay接口 42
5.1.2 IGraphiscs接口 49
5.2 IImage接口的使用 55
5.2.1 使用IImage接口绘制图像 56
5.2.2 使用IImage接口播放动画 58
5.3 IBitmap和IDIB接口的使用 60
5.3.1 使用IBitmap接口进行绘图 60
5.3.2 使用IDIB接口操作位图数据 65
5.3.3 使用ITransform变换位图数据 69
5.4 IMenuCtl接口的使用 72
5.4.1 使用IMenuCtl接口的标准菜单控件 73
5.4.2 使用IMenuCtl接口的图标视图菜单控件 77
5.5 ITextCtl接口的使用 79
5.5.1 接口函数说明 80
5.5.2 使用实例 81
5.6 IStatic接口的使用 83
5.6.1 接口函数说明 84
5.6.2 使用实例 85
5.7 IDialog接口的使用 87
5.7.1 创建对话框 87
5.7.2 使用对话框 90
5.8 本章小结 92
第6章 BREW中数据的持久性 93
6.1 基本的文件I/O 93
6.1.1 文件管理接口IFileMgr 93
6 1.2 文件操作接口IFile 94
6.1.3 文件管理实例——高分榜 95
6.2 数据库管理 98
6.2.1 数据库管理接口IDBMgr 98
6.2.2 IDatabase接口 99
6.2.3 数据库IDBRecord 100
6.2.4 数据库管理实例——高分榜 101
6.3 BREW中流的概念 103
6.4 本章小结 105
第7章 BREW网络接口应用 106
7.1 网络编程基本知识 106
7.2 INetMgr接口 106
7.3 ISocket接口 109
7.4 BREW网络接口应用实例——网络连通测试程序 112
7.5 本章小结 116
第8章 BREW网络浏览器接口 117
8.1 IWebOpts及其扩展接口 117
8.1.1 IWebOpts接口 117
8.1.2 IWeb接口 118
8.1.3 IWebResp接口 120
8.2 IHtmlViewer浏览器接口 121
8.3 网络浏览器应用实例 125
9.1.2 BREW支持的声音格式 129
9.1.1 声音技术的概述 129
9.1 声音技术基本知识 129
第9章 BREW声音接口 129
9.2 ISound接口 130
9.2.1 使用ISound接口播放音调 130
9.2.2 使用ISound接口的振动功能 132
9.3 ISoundPlayer接口 132
9.3.1 ISoundPlayer接口的基本知识 132
9.3.2 ISound接口的回调通知 133
9.3.3 使用ISoundPlayer接口 134
9.4.1 IMedia接口状态机 136
9.4.2 使用IMedia接口 136
9.4 IMedia接口及扩展接口 136
9.5 BREW媒体接口应用实例——连续播放的声音 138
9.6 来电中断和恢复的声音处理方式 140
9.7 本章小结 141
第10章 其他常用接口 142
10.1 定位接口 142
10.1.1 定位功能的基本知识 142
10.1.2 BREW的定位接口IPosDet的使用 144
10.2 TAPI 146
10.2.1 TAPI的短信功能 147
10.2.2 TAPI的电话功能 149
10.3.1 加密和解密算法的基本知识 151
10.3 安全控制接口 151
10.3.2 BREW中的安全控制 152
10.4 BREW的高级技术——API钩子 156
10.5 本章小结 160
第11章 BREW中资源的使用 161
11.1 使用字符串资源 161
11.1.1 使用资源编辑器编辑字符串资源 161
11.1.2 其他字符串的使用方式 162
11.2 使用图像资源 163
11.2.1 使用资源编辑器编辑图像资源 163
11.2.2 使用文件载入图像资源 165
11.3.1 声音资源的使用 166
11.3 使用其他资源 166
11.3.2 其他资源的使用方式 167
11.3.3 使用资源编辑器载入数据文件 167
11.3.4 从资源文件直接构造接口指针 168
11.4 本章小结 169
第12章 其他主题 170
12.1 字符串及操作 170
12.1.1 字符串连接函数 170
12.1.2 字符串查找和比较操作函数 171
12.1.3 字符串转换函数 172
12. 2 内存管理及操作 174
12.2.1 使用IHeap接口管理和操作内存 174
12.2.2 使用助手函数管理和操作内存 175
12.3 定时器 176
12.4 浮点数和随机数操作 179
12.4.1 浮点数操作 179
12.4.2 随机数操作 180
12.5 BREW程序优化 181
12.5.1 优化的基本知识 181
12.5.2 优化应用程序内存使用 182
12.5.3 优化应用程序大小 184
12.5.4 优化应用程序的速度 184
12.6 本章小结 185
13.1.1 ISprite接口的基本功能介绍 186
第13章 BREW游戏主题 186
13.1 ISprite接口介绍 186
13.1.2 使用ISprite接口 190
13.2 不使用ISprite接口的游戏技术 194
13.2.1 地图的实现 194
13.2.2 Sprite的实现 197
13.3 BREW游戏的开发问题 199
13.3.1 BREW游戏与PC游戏的区别 199
13.3.2 手持设备作为游戏载体的缺点 199
13.3.3 设计游戏时需要注意的问题 199
14.1.1 程序的设计 201
14.1 综合应用——图片的浏览和下载 201
第14章 BREW手机应用开发实战 201
14.1.2 程序的架构 202
14.1.3 程序的实现 203
14.1.4 服务器端程序参考实现 225
14.1.5 程序优化和扩展 228
14.2 综合应用——大场景动作类游戏 229
14.2.1 程序的设计 230
14.2.2 程序的架构 231
14.2.3 程序的实现 231
14.2.4 程序优化和扩展 277
14.3.2 程序的实现 280
14.3.1 缓冲技术简介 280
14.3 示例三——缓冲技术实现的坦克大战游戏 280
14.3.3 程序的优化和扩展 296
14.4 本章小结 297
附录 298
附录A 使用C++开发BREW应用 298
附录B BREW扩展 307
附录C MIF文件编辑器 312
C.1 BREW类和MIF 312
C.2 MIF编辑器的作用 312
附录D 设备配置器 317
附录E ARM编译器以及BREW程序下载到手机真实环境中运行 324