《Palm OS编程宝典 第2版》PDF下载

  • 购买积分:19 如何计算积分?
  • 作  者:(美)Lonnon R. Foster著;汪斐等译
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2006
  • ISBN:7115136963
  • 页数:682 页
图书介绍:本书详细讲解了Palm OS编程,涵盖了使用C/C++进行Palm OS开发的各个方面。

目录 3

第1部分 Palm OS入门 3

第1章 理解Palm OS平台 3

1.1 Palm OS的理念 3

1.2 桌面和手持应用程序设计之比较 4

1.2.1 对高性能的期望 4

1.2.2 有限的输入方式 5

1.2.3 狭小的屏幕 5

1.2.4 电池寿命和运算能力 6

1.2.5 有限的内存 6

1.2.6 用RAM做数据持久存储 6

1.3 与桌面相连接 6

1.4 硬件版本之比较 7

1.5 展望未来 13

1.6 总结 13

第2章 理解Palm OS 14

2.1 Palm OS手持设备如何使用电力 14

2.2 运行Palm OS应用程序 15

2.2.1 响应启动码(Launch Code) 15

2.2.2 事件(Event)处理 16

2.3 管理内存 16

2.3.1 动态RAM 17

2.3.2 存储RAM 18

2.4 使用资源 20

2.5 设计程序的用户界面 21

2.5.1 窗体(Form) 21

2.5.3 菜单(Menu) 22

2.5.2 提示(Alert) 22

2.5.4 表格(Table) 23

2.5.5 列表(List) 23

2.5.6 弹出式列表触发器(Pop-up Trigger) 24

2.5.7 按钮(Button) 24

2.5.8 重复按钮(Repeating Button) 24

2.5.9 选择触发器(Selector Trigger) 24

2.5.10 单选按钮(Push Button) 25

2.5.11 复选框(Check Box) 25

2.5.12 滑动条(Slider) 25

2.5.15 文本域(Field) 26

2.5.16 Graffiti状态指示器(Shift Indicator) 26

2.5.14 窗体位图(Form Bitmap) 26

2.5.13 标签(Label) 26

2.5.17 滚动条(Scroll Bar) 27

2.5.18 自定义控件(Gadget) 27

2.6 与其他设备通信 28

2.6.1 串行通信 28

2.6.2 TCP/IP 28

2.6.3 蓝牙(Bluetooth) 29

2.6.4 网页剪辑(Web Clipping) 29

2.6.5 电话 30

2.6.6 IrDA 30

2.6.7 数据交换 30

2.7 Palm OS版本比较 30

2.7.1 2.0版的变化 31

2.7.2 3.0版的变化 31

2.7.6 3.5版的变化 32

2.7.5 3.3版的变化 32

2.7.3 3.1版的变化 32

2.7.4 3.2版的变化 32

2.7.7 4.0版的变化 33

2.7.8 5.0版的变化 33

2.8 总结 34

第2部分 创建Palm OS应用程序 37

第3章 开发工具介绍 37

3.1 使用CodeWarrior for Palm OS 37

3.1.1 熟悉IDE 39

3.1.2 改变目标设置 46

3.1.3 在CodeWarrior中编译和链接 48

3.2 使用GNU PRC-Tools 48

3.2.1 使用PRC-Tools编译和链接 50

3.2.2 使用make自动构建 51

3.3 使用Falch.net DeveloperStudio 54

3.3.1 熟悉IDE 55

3.3.2 在DeveloperStudio中编译和链接 61

3.4 总结 61

第4章 编写第一个Palm OS应用程序 62

4.1 创建Hello World 1 62

4.1.1 包含头文件 63

4.1.2 进入应用程序 64

4.1.3 启动应用程序 65

4.1.4 关闭应用程序 66

4.1.5 处理事件 66

4.1.6 建立窗体 68

4.2 创建Hello World 2 69

4.1.7 响应窗体事件 69

4.2.1 定义资源常量 70

4.2.2 响应窗体事件 73

4.2.3 处理菜单事件 74

4.2.4 显示提示和使用文本域 76

4.3 在Palm OS中使用内存 77

4.4 整合所有代码 81

4.5 总结 87

第5章 调试程序 88

5.1 使用Palm OS模拟器 88

5.1.1 控制POSE 90

5.1.2 初次运行POSE 91

5.1.3 安装ROM映像 92

5.1.4 安装应用程序 94

5.1.5 保存和恢复配置 95

5.1.6 调整POSE的设置 95

5.1.7 掌握Gremlin自动测试工具 97

5.1.8 模拟HotSync同步操作 100

5.1.9 模拟扩展卡 101

5.1.10 捕获屏幕截图 103

5.1.11 处理POSE的错误 103

5.2 使用Palm OS仿真器(Simulator) 104

5.2.1 启动仿真器 105

5.2.2 装载ROM映像 106

5.2.3 安装应用程序和数据 106

5.2.4 运行Gremlins自动测试工具 106

5.2.5 查看数据库、内存与事件 107

5.3 进行源码级调试 109

5.3.1 用CodeWarrior调试 109

5.2.6 保存和装载存储快照 109

5.3.2 用GDB调试 112

5.3.3 用DeveloperStudio调试 114

5.4 使用Palm Reporter跟踪应用程序 116

5.5 复位Palm OS手持设备 118

5.6 使用开发者Graffiti快捷命令 118

5.7 使用Palm OS错误管理器 119

5.8 总结 120

第3部分 Palm OS编程 123

第6章 资源的创建与理解 123

6.1 遵循Palm OS用户界面指南 123

6.1.2 突出常用功能 124

6.1.1 创建快速的应用程序 124

6.1.3 设计易用的程序 125

6.1.4 保持Palm OS风格 127

6.2 使用Constructor工具创建资源 130

6.3 使用PilRC创建资源 139

6.3.1 创建应用程序资源 139

6.3.2 为资源指定常量 143

6.3.3 查看Hello World程序的资源文件 143

6.4 使用DeveloperStudio创建资源 145

6.5 总结 154

第7章 创建窗体和菜单 155

7.1 使用Constructor创建窗体 155

7.1.1 设置对象的通用属性 157

7.1.2 设置对象的特有属性 158

7.2 使用PilRC创建窗体 168

7.2.1 创建窗体资源 168

7.2.2 在窗体中添加对象 169

7.3 使用DeveloperStudio创建窗体 177

7.4 使用Constructor创建菜单 180

7.5 使用Rez创建菜单 182

7.6 使用PilRC创建菜单 186

7.7 使用DeveloperStudio创建菜单 188

7.8 介绍Librarian——一个应用程序的例子 189

7.8.1 在列表视图中显示多条记录 190

7.8.2 在记录视图中显示书籍的详细信息 191

7.8.3 在编辑视图中编辑记录 191

7.8.4 介绍Librarian的菜单 192

7.9 总结 194

第8章 用户界面元件编程 195

8.1 提示对话框编程 195

8.2 窗体编程 197

8.2.1 切换到新的窗体 197

8.2.2 使用FrmDoDialog函数显示模式对话框 198

8.2.3 使用FrmPopupForm函数显示模式对话框 200

8.2.4 更新窗体 201

8.3 窗体中对象的编程 203

8.3.1 处理窗体对象的事件 204

8.3.2 取得对象的指针 206

8.3.3 隐藏和显示窗体对象 207

8.4 复选框和单选按钮的编程 210

8.5.1 选择日期和时间 211

8.5 选择触发器编程 211

8.5.2 选择颜色 213

8.5.3 调节亮度和对比度 215

8.6 文本域编程 215

8.6.1 为文本域设置内存句柄 215

8.6.2 修改文本域 216

8.6.3 从文本域中获取文本 217

8.6.4 设置文本域的焦点 218

8.6.5 设置文本域的属性 219

8.7 自定义控件编程 220

8.8 列表和弹出式列表编程 225

8.8.1 获取列表数据 225

8.8.2 操作列表 226

8.8.3 动态列表编程 227

8.8.4 处理弹出式列表 228

8.9 菜单编程 229

8.9.1 使用MenuEraseStatus函数 230

8.9.2 隐藏菜单项 230

8.9.3 命令工具栏编程 231

8.10 总结 234

第9章 系统元素编程 235

9.1 检查所支持的功能 235

9.1.1 确定操作系统的版本 236

9.1.2 检查其他个别功能 237

9.2 操作文本 238

9.2.1 使用字体函数 239

9.2.2 使用字符串函数 242

9.2.3 使用字符宏 243

9.3 处理手写笔事件 245

9.4 处理按键事件 248

9.5 查找电话号码 251

9.6 启动应用程序 252

9.6.1 调用系统的应用程序启动器 252

9.6.2 直接启动应用程序 253

9.6.3 全局发送启动码 255

9.6.4 创建自己的启动码 255

9.7 产生随机数 255

9.8 管理电源 256

9.9 识别设备 257

9.10 使用剪贴板 258

9.11 总结 259

第10章 图形和声音编程 261

10.1 管理绘图区 262

10.1.1 理解窗口 262

10.1.2 保存和恢复绘图状态 266

10.1.3 取得和设置色深 267

10.1.4 使用颜色表 271

10.2 绘制图形和文本 273

10.2.1 设置传输模式 273

10.2.2 设置前景色、背景色和文字颜色 274

10.2.3 绘制像素 275

10.2.4 绘制直线 275

10.2.5 绘制矩形 276

10.2.6 绘制文本 279

10.2.7 绘制位图 279

10.2.8 改变用户界面的颜色 281

10.3 高分辨率屏幕编程 284

10.3.1 使用高密度显示功能参数组 284

10.3.2 检测可用的屏幕密度 285

10.3.3 设置和取得坐标系统 285

10.3.4 在坐标系统之间转换 286

10.4 播放声音 287

10.4.1 播放简单声音 287

10.4.2 播放采样声音 288

10.5 总结 290

第11章 闹钟和时间编程 291

11.1 设定闹钟 291

11.1.1 设定一个闹钟 292

11.1.2 响应闹钟 293

11.1.3 响应其他启动码 295

11.2 操作时间值 296

11.2.1 获取和设定时间值 296

11.2.2 转换时间值 297

11.2.3 改变时间值 298

11.3 遵循用户的日期和时间设置 298

11.4 引起用户的注意 300

11.4.1 请求注意 301

11.4.2 响应提醒管理器 303

11.4.3 管理引起注意的尝试 306

11.4.4 阻止提醒指示器出现 306

11.5 总结 306

第12章 表格编程 308

12.1.1 理解表格如何工作 309

12.1 创建简单的表格 309

12.1.2 初始化表格 311

12.1.3 处理表格事件 322

12.1.4 隐藏行和列 322

12.2 创建更复杂的表格 324

12.2.1 将表格与数据关联 325

12.2.2 滚动表格 339

12.2.3 处理表格的文本域 349

12.3 总结 353

第4部分 信息存储 357

第13章 存取数据 357

13.1 理解数据管理器 357

13.1.1 记录数据库 358

13.1.2 资源数据库 359

13.2 数据库操作 360

13.2.1 创建数据库 360

13.2.2 打开数据库 362

13.2.3 关闭数据库 363

13.2.4 查找数据库 363

13.2.5 删除数据库 365

13.2.6 取得和修改数据库信息 365

13.2.7 创建应用程序信息块 368

13.3 存储应用程序配置 371

13.4 使用功能内存 374

13.5 总结 375

第14章 操作记录 377

14.1 使用记录 377

14.1.1 深入Librarian例子程序的记录 378

14.1.2 比较记录 382

14.1.3 查找记录 387

14.1.4 创建记录 389

14.1.5 删除记录 391

14.1.6 读取记录 393

14.1.7 修改记录 393

14.1.8 随版本更改数据库结构 402

14.1.9 排序记录 406

14.1.10 取得和修改记录信息 407

14.1.11 分类记录 408

14.1.12 实现私密记录 415

14.1.13 调整记录大小 416

14.2 使用资源 416

14.2.1 查找资源 418

14.2.2 创建资源 419

14.2.3 删除资源 420

14.2.4 读取资源 420

14.2.5 取得和修改资源信息 422

14.2.6 调整资源大小 422

14.3 实现全局查找功能 422

14.3.1 处理sysAppLaunchCmdSaveData 423

14.3.2 处理sysAppLaunchCmdFind 423

14.3.3 处理sysAppLaunchCmdGoto 426

14.4 总结 429

第15章 使用辅助存储器 431

15.1 理解扩展管理器 431

15.2 理解辅助存储器 432

15.2.2 运行辅助存储器上的程序 433

15.2.1 组织文件和目录 433

15.3 使用虚拟文件系统 434

15.3.1 检验VFS管理器的存在 435

15.3.2 监测扩展卡的插入和拔出 435

15.3.3 取得卷引用 438

15.3.4 获取和设置卷标 439

15.3.5 查找卷信息 440

15.3.6 创建目录 440

15.3.7 创建文件 442

15.3.8 删除文件和目录 444

15.3.9 打开和关闭文件 447

15.3.10 取得和设置文件信息 447

15.3.11 读取文件数据 449

15.3.12 定位文件指针 452

15.3.13 写数据到文件 454

15.3.14 查找文件 456

15.3.15 处理Palm OS数据库 457

15.4 总结 458

第5部分 手持设备的外部通信 463

第16章 通过交换管理器共享数据 463

16.1 使用交换管理器 464

16.1.1 注册数据类型 465

16.1.2 发送数据 469

16.1.3 自定义数据接收对话框 480

16.1.4 接收数据 483

16.1.5 显示传送的记录 489

16.1.6 调试传送功能 489

16.1.7 发送应用程序和数据库 490

16.2 理解红外库 492

16.3 总结 493

第17章 使用串口 495

17.1 理解Palm OS串行通信 495

17.2 使用串行管理器 497

17.2.1 使用新式串行管理器 498

17.2.2 使用旧式串行管理器 510

17.3 总结 512

第18章 网络通信 514

18.1 理解TCP/IP网络 514

18.2 用Palm OS网络库编程 515

18.2.2 打开网络库 517

18.2.1 获得网络库引用 517

18.2.3 解析主机名和地址 518

18.2.4 查找服务端口 522

18.2.5 打开套接字 524

18.2.6 连接套接字 524

18.2.7 发送和接收数据 525

18.2.8 断开套接字 528

18.2.9 关闭套接字 529

18.2.10 关闭网络库 529

18.3 总结 530

第19章 创建网页剪辑应用程序 531

19.1 理解网页剪辑 531

19.1.1 理解网页剪辑的安全性 532

19.1.2 设计网页剪辑应用程序和网页剪辑 533

19.2.1 组织HTML文件 534

19.2 构建网页剪辑应用程序 534

19.2.2 定义Header标签 535

19.2.3 格式化文本 536

19.2.4 链接到其他页面和应用程序 537

19.2.5 构造查询表单 541

19.2.6 添加图片 545

19.2.7 使用网页剪辑应用程序构建器 546

19.2.8 考察一个网页剪辑应用程序的例子 548

19.3 生成网页剪辑 550

19.3.1 定义Header标签 550

19.3.2 为桌面浏览器创建剪辑页面 551

19.3.3 链接到外部网页剪辑 551

19.3.4 添加图片 551

19.3.5 考察一个网页剪辑的例子 552

19.4 测试网页剪辑应用程序 555

19.5 总结 556

第6部分 与桌面计算机同步 559

第20章 学习管道基础 559

20.1 理解管道 560

20.2 设计管道 563

20.3 安装管道 564

20.3.1 手工安装管道 564

20.3.2 创建自动管道安装 567

20.4 在HotSync日志中记录动作 569

20.5 总结 571

第21章 创建管道 572

21.1 使用管道向导 572

21.1.2 选择手持端应用程序 573

21.1.1 选择管道类型 573

21.1.3 选择数据传输类型 574

21.1.4 选择管道的功能特性 574

21.1.5 确认类名和文件名 575

21.2 实现管道入口点 576

21.2.1 实现GetConduitInfo 577

21.2.2 实现GetConduitName 579

21.2.3 实现GetConduitVersion 579

21.2.4 实现OpenConduit 579

21.2.5 实现Configuration入口点 582

21.3 使用Palm通用管道基础类 587

21.3.1 遵循通用管道控制流 588

21.3.2 描述桌面记录格式 589

21.3.3 实现数据存储和读取 591

21.3.4 CPalmRecord的数据转换 598

21.3.5 同步应用程序信息块 607

21.4 使用Palm MFC基础类 607

21.4.1 遵循MFC管道控制流 608

21.4.2 实现Monitor类 609

21.4.3 实现Table类 610

21.4.4 实现Schema类 612

21.4.5 实现Record类 613

21.4.6 实现Link Converter类 616

21.5 使用同步管理器API 618

21.5.1 注册和注销管道 619

21.5.2 打开和关闭手持设备数据库 619

21.5.3 遍历数据库记录 621

21.5.4 读取和写入记录 623

21.5.6 维持连接 624

21.5.5 删除记录 624

21.6 总结 625

第7部分 高级主题 629

第22章 导向轮编程 629

22.1 Sony Jog Dial编程 630

22.1.1 理解JogAssist 632

22.1.2 绕过JogAssist工作 633

22.2 HandEra Jog Wheel编程 638

22.3 Treo Rocker Switch编程 639

22.4 总结 640

23.1 创建大型应用程序 641

23.1.1 突破32KB的屏障 641

第23章 拾遗 641

23.1.2 将应用程序分段 643

23.2 为应用程序增加自定义字体 648

23.3 动态创建用户界面 652

23.4 应用程序本地化 654

23.5 使用文件流(File Streaming)API 659

23.5.1 打开文件流 660

23.5.2 关闭文件流 662

23.5.3 获取文件流错误 662

23.5.4 删除文件流 662

23.5.5 在文件流中定位 663

23.5.6 读写文件流数据 663

23.6 总结 664

术语表 665