第1章 BlackBerry开发平台简介 1
1.1 RIM公司及BlackBerry 1
1.2 BlackBerry开发平台 3
1.2.1 BlackBerry Web开发 4
1.2.2 BlackBerry Widget开发 5
1.2.3 BlackBerry Java开发 6
1.2.4 BlackBerry主题和动画图形开发 6
1.2.5模拟器 7
1.2.6 Java代码签名工具 7
第2章 BlackBerry开发平台搭建 8
2.1环境安装 8
2.1.1 BlackBerry JDE Plug-In for Eclipse安装 8
2.1.2升级到BlackBerry Java SDK 6.0 13
2.2 Hello World的开发 15
2.2.1建立BlackBerry项目 16
2.2.2创建包 17
2.2.3创建主程序 18
2.2.4对应用进行测试 21
2.3主程序代码解析 26
2.4应用的调试 28
2.4.1使用模拟器进行调试 28
2.4.2使用真机进行调试 30
2.5应用的签名 33
2.5.1签名介绍 33
2.5.2签名申请 34
2.5.3密钥安装 36
2.6应用的部署 39
2.6.1通过桌面管理器部署应用 39
2.6.2通jad文件部署应用 40
2.6.3通javaloader部署应用 41
第3章 用户界面开发基础 42
3.1用户界面开发技术 42
3.1.1 Java/BlackBerry UI技术 43
3.1.2 J2ME/MIDP UI技术 43
3.1.3 Widget技术 44
3.1.4 Browser技术 45
3.1.5 SVG Tiny技术 46
3.2 Hello World界面程序 47
3.2.1创建应用 47
3.2.2主程序 51
3.2.3创建屏幕 52
3.2.4关闭屏幕 53
3.2.5为程序添加图标 54
3.3 Field字段 55
3.3.1将字段添加至屏幕 56
3.3.2字段样式 57
3.3.3使用字段 58
3.3.4事件处理 60
3.4 Manager布局管理器 61
3.4.1垂直布局管理器和水平布局管理器 62
3.4.2排列UI组件 62
3.5 Screen屏幕 63
3.5.1 Screen类 64
3.5.2显示Screen的几种方法 65
3.5.3对话框 67
3.5.4菜单项 68
3.5.5事件处理 69
3.6更多UI开发提示 72
3.6.1设置屏幕的背景色 72
3.6.2 invokeLater延时显示 72
3.6.3后台更新屏幕显示 73
第4章 定制用户界面组件 75
4.1定制字段 75
4.1.1如何定制字段 75
4.1.2超文本按钮 76
4.1.3图形命令按钮和媒体播放器 81
4.1.4进度动画字段 84
4.1.5小结 86
4.2定制布局管理器 87
4.2.1如何定制布局管理器 87
4.2.2标签页 87
4.2.3等宽摆放字段的布局管理器 92
4.2.4可滚动的纵向按钮列表 93
4.2.5不换行的单行文本输入域 97
4.2.6指定宽度并且有边框的输入域 98
4.3九宫格 100
4.3.1九宫格实现的初步分析 100
4.3.2九宫格程序系统结构 101
4.3.3九宫格系统实现 105
第5章 把Midlet移植到BIackBerry 107
5.1使用rapc直接转换Midlet 107
5.2在BlackBerry开发环境中导入Midlet项目 109
5.3键盘适配 113
5.3.1键盘类型 113
5.3.2左右软键的处理 115
5.3.3滚轮操作的映射 117
5.3.4其他按键操作 118
第6章 网络连接 120
6.1连接HTTP或Socket的5种方式 120
6.2中国移动的WAP网关连接技巧 124
6.3中国电信的WAP网关连接分析 126
6.4自动选择网关的解决方案 126
6.5网络连接常用到的API示例 128
第7章 触摸屏编程 130
7.1触摸屏编程和设计的要求 130
7.2触摸屏应用界面的示例 131
7.3屏幕视图方位切换 134
7.4触摸事件类型 140
第8章 Widget开发 142
8.1一个Widget应用 142
8.2 Widget应用扩充 146
8.2.1 Widget类扩充 148
8.2.2 Widget扩充发布 154
第9章 多媒体开发 159
9.1创建播放应用 159
9.1.1播放器 159
9.1.2第一个播放程序 161
9.1.3获取支持的音频格式 161
9.1.4装载媒体资源 161
9.1.5音量调节 162
9.1.6发送与接收播放器事件 163
9.1.7播放MP3实例 163
9.2多种媒体播放方式 171
9.2.1播放视频 172
9.2.2播放流媒体 174
9.2.3在浏览器中播放音频 175
9.2.4在浏览器中播放视频 176
9.3拍照功能 176
9.3.1设定照片规格 176
9.3.2启动摄像头 177
9.3.3照相 178
9.4视频录制 179
9.4.1选定视频格式及编码 179
9.4.2录制与存储视频 180
9.4.3回放视频 183
9.4.4音频录制 183
第10章 数据存储与共享 185
10.1使用RMS进行存储 185
10.2使用RunTimeStore进行存储 187
10.3使用PersistentStore进行存储 188
10.4使用SQLite进行存储 189
10.5使用全局事件来进行应用交互 191
第11章 蓝牙编程 193
11.1蓝牙概念与体系结构 193
11.1.1蓝牙API介绍 193
11.1.2蓝牙协议 194
11.1.3蓝牙功能简表 195
11.1.4蓝牙客户端与服务端模式 195
11.2蓝牙客户端 195
11.2.1搜索蓝牙设备 196
11.2.2搜索服务 198
11.2.3获取连接URL 200
11.2.4建立连接 200
11.3蓝牙客户端的三种连接方式 200
11.3.1 SPP连接方式 201
11.3.2 L2CAPConnection连接方式 202
11.3.3 OBEX连接方式 202
11.4蓝牙服务端 204
11.4.1启动蓝牙SPP服务 205
11.4.2启动蓝牙L2CAP服务 206
11.4.3启动蓝牙OBEX服务 207
第12章 BES MDS数据推送 209
12.1推送介绍 209
12.2 ECL介绍 211
12.3 ECL环境配置 212
12.4 ECL测试过程 213
12.4.1启动MDS模拟器 213
12.4.2启动手机模拟器 215
12.4.3在手机模拟器上安装客户端软件 215
12.4.4执行推送命令 216
12.4.5在手机模拟器上查看推送信息 217
12.4.6修改Excel表的内容 218
12.4.7再次执行推送命令 218
12.4.8查看新的内容 218
12.5手机端代码导入Eclipse 219
12.6核心代码分析 222
12.6.1推送架构 222
12.6.2 ECL系统架构 222
12.6.3 ECL服务器代码分析 223
12.6.4 ECL客户端代码分析 227
12.7常见问题处理 232
第13章 BES MDS推送分析 234
13.1概述 234
13.2 MDS推送介绍 234
13.2.1 MDS推送架构 234
13.2.2数据推送命令格式 235
13.2.3数据推送关键代码 237
13.2.4客户端接收关键代码 240
13.2.5异步确认消息接收代码 243
13.3推送细节分析 244
13.3.1 MDS推送的整体时序 245
13.3.2推送请求到达MDS/BES服务器 246
13.3.3推送请求检查 247
13.3.4 MDS/BES中的推送队列 249
13.3.5手持设备端对推送数据的处理 252
13.3.6异步确认消息 253
13.4数据推送的可靠性 257
13.4.1应用依赖和非应用依赖的比较和选择 257
13.4.2 MDS接收线程限制的处理 257
13.4.3 MDS推送队列限制的处理 258
13.4.4手持设备端接收队列的处理 259
13.4.5应用依赖的客户端 259
13.4.6异步确认消息处理 259
13.5 OS 5.0新的推送API 260
第14章 BIS推送服务 263
14.1 BIS推送介绍 263
14.2免费与付费选项 265
14.3 Push Service SDK介绍 266
14.4工作原理与系统要求 267
14.5申请Push Service账号 268
14.6基础软件安装 269
14.7安装B1ackBerry Push Service SDK 270
14.8配置B1ackBerry Push Service SDK服务器 274
14.9编译客户端应用 275
14.10 BIackBerry Push Service测试 276
第15章 BIS推送分析 282
15.1整体架构 282
15.2服务器端分析 288
15.2.1开发包的组成 288
15.2.2推送代码分析 289
15.2.3推送API的构成 293
15.3客户端分析 296
15.3.1客户端注册与订阅 297
15.3.2推送数据的响应 302
15.4创建自己的服务器端应用 304
15.4.1创建推送项目 304
15.4.2创建推送应用 308
15.4.3推送应用测试 311
15.5创建自己的客户端应用 311
15.5.1创建客户端项目 312
15.5.2增加注册代码 313
15.5.3增加消息侦听代码 315
15.5.4客户端测试 315
第16章 消息提醒 317
16.1应用程序图标 317
16.2 LED灯 318
16.3振动 319
16.4提示音 319
16.5消息指示器(Indicator) 320
16.6在系统的消息图标中加入应用程序 321
第17章 BlackBerry系统属性 325
第18章 BlackBerry 6及BlackBerry Java SDK 6.0介绍 331
18.1 BlackBerry 6中的新功能 331
18.2 BlackBerry Java SDK 6.0中新的变化 332
18.2.1用户界面 332
18.2.2手机交互的支持 338
18.2.3图形和动画 340
18.2.4基于位置的服务(LBS) 341
18.2.5多媒体 343
18.2.6应用程序集成 343
18.2.7网络连接 345
18.3系统需求 346