《Microsoft Mobile移动应用开发宝典》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:(美)Andy Wigley,Daniel Moth,Peter Foot著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2008
  • ISBN:7302171312
  • 页数:523 页
图书介绍:

第Ⅰ部分 移动应用程序开发基础 3

第1章 .NET Compact Framework移动平台 3

1.1 Visual Studio移动应用程序开发快速入门 3

1.1.1 Visual Studio版本的选择 4

1.1.2 其他软件 5

1.1.3 目标平台:Pocket PC,Smartphone还是Windows CE 6

1.1.4 Windows CE与Windows Mobile的差异 8

1.1.5 选择.NET Compact Framework的版本 12

1.2 .NET Framework 2.0与.NET Compact Framework 2.0的差异 17

1.2.1 应用程序配置文件 19

1.2.2 ClickOnce 20

1.2.3 Ngen.exe 20

1.2.4 远程功能 20

1.2.5 序列化 20

1.2.6 打印 20

1.2.7 Web窗体 21

1.3 .NET Compact Framework 1.0版和2.0版的差异 21

1.3.1 Windows窗体 22

1.3.2 显示与布局的管理 23

1.3.3 数据 24

1.3.4 通信 24

1.3.5 COM互操作 25

1.3.6 图形编程 25

1.3.7 安全 25

1.3.8 线程 25

1.3.9 性能监视 25

1.4 .NET Compact Framework 3.5版简介 26

1.5 使用社区资源 27

1.5.1 Microsoft patterns & practices移动应用程序构建块 27

1.5.2 OpenNETCF Smart Device Framework 28

1.6 总结 28

第2章 构建Windows窗体GUI 29

2.1 了解2.0版本Windows窗体的改进 30

2.2 使用桌面应用程序开发流程 31

2.3 设备屏幕与设备窗体的映射 33

2.3.1 屏幕的布局 34

2.3.2 窗体的关闭 34

2.3.3 窗体的导航 37

2.4 探究几个重要的Windows窗体控件 40

2.4.1 Panel 41

2.4.2 TabControl 42

2.4.3 Menu(软按键)与ToolBar 42

2.4.4 Microsoft.WindowsCE.Forms 44

2.4.5 创建自己的控件 46

2.5 输入的处理 47

2.5.1 点选 47

2.5.2 SIP和QWERTY硬件键盘 48

2.5.3 硬件按钮 50

2.6 考虑屏幕的物理因素 50

2.6.1 方向(与大小) 50

2.6.2 分辨率 52

2.6.3 Microsoft patterns & practices Orientation-Aware控件 54

2.6.4 可选择式设计方案 56

2.7 针对Smartphone进行开发 57

2.7.1 控件行为 57

2.7.2 导航范式 58

2.7.3 InputModeEditor 58

2.7.4 利用Smartphone项目的IntelliSense 59

2.8 针对Windows CE设备进行开发 59

2.9 总结 60

第3章 使用SQL Server 2005 Compact Edition和其他数据存储 61

3.1 使用SQL Server 2005 Compact Edition数据库 61

3.1.1 使用Visual Studio 2005创建数据库 62

3.1.2 使用SQL Server 2005 Management Studio创建数据库 63

3.1.3 连接到已存在的数据库 65

3.1.4 创建表、索引和外键 65

3.1.5 揭秘SqlCeException 70

3.2 在项目中创建与数据的连接 72

3.2.1 创建项目数据源 72

3.2.2 强类型的DataSet和SqlCeResultSet的设计与编程 74

3.3 构建数据绑定GUI 93

3.3.1 使用可视化工具构建Quick UI 93

3.3.2 BindingSource控件编程 95

3.3.3 细节窗体的数据绑定 100

3.3.4 使用SqlCeResultSet进行数据绑定 104

3.3.5 高级数据绑定 107

3.3.6 设置DataGrid控件的数据格式 112

3.4 在不使用数据库的情况下保存数据 113

3.4.1 DataSet对象的序列化 114

3.4.2 对象的序列化 115

3.5 总结 119

第4章 捕获错误,测试与调试 121

4.1 连接到目标 121

4.1.1 设备 122

4.1.2 仿真器 124

4.1.3 最佳选择 127

4.2 编译时错误 127

4.3 异常处理——与完整版.NET Framework一致 130

4.4 运行时异常 133

4.4.1 异常起因的诊断 133

4.4.2 这是您的失误 136

4.4.3 避免异常抛出 137

4.4.4 合理进行异常处理与恢复 138

4.4.5 保卫边界(全局异常处理:最后的防线) 139

4.5 全局异常处理 142

4.5.1 完整版.NET Framework中的GEH 142

4.5.2 .NET Compact Framework 1.0中的GEH 142

4.5.3 .NET Compact Framework 2.0中的GEH 143

4.5.4 选择GEH的处理方法:单方法与多方法的比较 143

4.6 不容忽视的重要异常 144

4.6.1 WebException 145

4.6.2 SocketException 146

4.6.3 SqlCeException 146

4.6.4 InvalidOperationException 146

4.6.5 MissingMethodException 147

4.6.6 MissingManifestResource-Exception 147

4.6.7 TypeLoadException 148

4.7 日志文件 148

4.7.1 加载程序日志 149

4.7.2 互操作日志 150

4.7.3 网络日志 150

4.7.4 错误日志 151

4.7.5 终结器日志(3.5版) 151

4.7.6 远程性能监视器 151

4.8 手段 152

4.8.1 断点 152

4.8.2 跟踪点 154

4.8.3 Debug.WriteLine 155

4.8.4 将追踪信息写入文件 156

4.9 单元测试 157

4.9.1 社区项目 157

4.9.2 部署到“我的电脑” 158

4.9.3 Patterns and Practices 158

4.9.4 Visual Studio 2008 158

4.10 总结 158

第5章 理解.NET Compact Framework与性能优化 160

5.1 开发常识 160

5.2 理解精简版CLR引擎 161

5.2.1 JIT编译器 162

5.2.2 垃圾回收器 164

5.2.3 从1.0版到2.0版的改进 166

5.3 .NET Compact Framework性能统计表 167

5.3.1 激活性能计数器 167

5.3.2 查看数据 167

5.3.3 性能计数器描述 168

5.3.4 远程性能监视器 174

5.4 以编码方式检测性能 178

5.5 性能指导 180

5.5.1 窍门 180

5.5.2 梳理思绪 184

5.6 总结 184

第6章 完成应用程序:打包与部署 185

6.1 实现帮助 185

6.1.1 创建基于HTML的帮助 186

6.1.2 在代码中启动帮助主题 188

6.1.3 母目录 188

6.1.4 Smartphone设备上的帮助 189

6.2 锁定程序 190

6.2.1 kiosk模式 190

6.2.2 硬件按钮 191

6.2.3 用户接口的锁定 192

6.2.4 第三方解决方案 192

6.3 部署运行库 192

6.4 生成设备安装程序 194

6.4.1 Visual Studio安装程序工具 194

6.4.2 设备安装程序项目类型 194

6.4.3 文件添加与目标设置 194

6.4.4 添加快捷方式 195

6.4.5 写入注册表设置 195

6.4.6 压缩 195

6.5 安全策略与代码签名 195

6.5.1 代码签名 197

6.5.2 设计规范与Mobile2Market 197

6.6 全局程序集缓存 198

6.6.1 对程序集进行强命名 198

6.6.2 何时以及如何使用全局程序集缓存 199

6.6.3 本地CESetup.dll 199

6.6.4 测试.cab文件 202

6.7 生成桌面安装程序 202

6.7.1 添加您的.cab项目 203

6.7.2 添加其他应用程序文件 203

6.7.3 使设备端的安装自动进行 203

6.7.4 添加自定义安装操作 204

6.7.5 运行安装程序 205

6.8 总结 205

第Ⅱ部分 移动应用程序高级开发 209

第7章 与后端服务器的数据交换 209

7.1 数据同步应用程序架构设计 209

7.1.1 无连接客户端的一般性设计 210

7.1.2 考虑失时效性数据 211

7.1.3 选择同步技术 211

7.2 使用Web服务进行数据同步 212

7.2.1 对Web服务客户端进行身份验证 212

7.2.2 在偶尔连接的客户端上使用Web服务 216

7.2.3 压缩Web服务净荷 224

7.3 使用SqlClient直接访问SQL Server 229

7.3.1 理解与桌面.NET Framework的不同 230

7.3.2 System.Data.SqlClient的编程 231

7.3.3 在.NET Compact Framework中使用事务 236

7.4 使用SQL Server 2005 Compact Edition远程数据访问进行数据同步 237

7.4.1 理解RDA的提取与推送 238

7.4.2 RDA服务器的设置 239

7.4.3 将数据提取到本地数据库中 244

7.4.4 对提取表做更改 249

7.4.5 将更改推送回远程数据库 249

7.4.6 在远程数据库上执行命令 251

7.4.7 RDA排错技巧 252

7.5 使用“SQL Server合并复制”复制数据 252

7.5.1 SQL Server CE“合并复制”架构 253

7.5.2 合并复制的设置 254

7.5.3 合并复制的编程 261

7.6 总结 263

第8章 网络 265

8.1 理解网络与移动设备的复杂性 265

8.2 使用Web服务 266

8.3 理解System.Net 266

8.3.1 WebRequest 266

8.3.2 套接字 268

8.4 使用IrDA与Bluetooth 273

8.5 使用串口 273

8.6 理解System.Messaging 276

8.7 总结 281

第9章 连接 282

9.1 理解Windows Mobile的连接 282

9.2 使用桌面间接连接 284

9.3 语音与数据呼叫 286

9.3.1 语音呼叫 286

9.3.2 数据呼叫的建立 287

9.3.3 Microsoft patterns & practices网络监视应用程序构建块 292

9.4 适配器的开启与关闭 293

9.4.1 蜂窝电话 293

9.4.2 WiFi 297

9.4.3 Bluetooth 297

9.4.4 SMS侦听 298

9.5 总结 300

第10章 移动应用程序安全编程 301

10.1 良好安全性的实现 302

10.1.1 执行安全审查 302

10.1.2 为何不能对保密信息进行硬编码 302

10.1.3 保密信息隐藏技术的优与劣 303

10.1.4 良好安全性的实现需要用户的输入 304

10.2 凭据与其他保密信息的安全存储 305

10.2.1 保护SQL Server CE数据库中的数据 306

10.2.2 使用Microsoft patterns & practices应用程序构建块进行安全方案编程 307

10.3 数据加密 317

10.3.1 使用AES对称算法的加密 317

10.3.2 使用RSA非对称算法的加密 321

10.4 网络连接的保护 327

10.4.1 安装在基于Windows Mobile的设备上的根证书 328

10.4.2 使用自签名证书 329

10.5 用户输入的有效性验证 332

10.6 边界安全:设备访问的防护 333

10.7 应用程序的签名 335

10.7.1 理解Windows Mobile的安全策略 336

10.7.2 基于Windows Mobile的设备配置 339

10.8 总结 340

第11章 线程 341

11.1 为什么使用线程 341

11.2 理解底层机制 342

11.2.1 Windows CE 343

11.2.2 System.Threading 344

11.3 及时响应用户接口的维护 346

11.3.1 消息泵 347

11.3.2 耗时的任务 347

11.3.3 演示示例 347

11.3.4 不理想的解决方案 349

11.3.5 使用线程来解决问题 349

11.3.6 BackgroundWorker 354

11.4 线程活动的同步与数据访问 355

11.4.1 竞态条件 355

11.4.2 监视器 357

11.4.3 线程安全 358

11.4.4 再论死锁 359

11.4.5 ManualResetEvent 360

11.5 ThreadPool 361

11.6 理解线程与程序的关闭 362

11.6.1 后台线程 362

11.6.2 线程的终止 363

11.7 使用.NET计时器 364

11.8 总结 365

第12章 图形编程 366

12.1 图像、文本与图形的绘制 366

12.1.1 理解绘制的基本要素 368

12.1.2 图像的绘制 369

12.1.3 图像的缩放 370

12.1.4 背景的绘制 371

12.1.5 图形与文本的绘制 372

12.1.6 直线段的绘制 374

12.2 不同分辨率的处理 375

12.3 文本的旋转 377

12.4 使用双缓冲技术来减轻闪烁现象 380

12.5 使用高级格式化技术 384

12.5.1 使用渐变填充进行绘制 384

12.5.2 透明背景图片的绘制 385

12.5.3 Alpha混合图像的绘制 387

12.6 总结 392

第13章 Direct3D Mobile 393

13.1 Direct3D快速入门 393

13.1.1 在程序中使用Direct3D 393

13.1.2 Direct3D设备对象 393

13.1.3 绘制过程 394

13.1.4 使Direct3D程序运行起来 396

13.2 走进三维空间 396

13.2.1 三角形的渲染 397

13.2.2 理解坐标与视图 399

13.2.3 三维物体的移动 399

13.2.4 从程序员到导演 400

13.2.5 矩阵 400

13.2.6 透视与变换 401

13.2.7 变换与动画 402

13.2.8 复杂变换的添加 403

13.2.9 纹理的添加 404

13.2.10 复杂物体的创建 406

13.2.11 多个同类物体的绘制 407

13.2.12 光照 408

13.2.13 网格 410

13.2.14 网格的光照与材质 411

13.3 移动设备上的Direct3D 413

13.3.1 Direct3D与事件 413

13.3.2 屏幕方向改变的管理 413

13.3.3 Direct3D绘图性能 414

13.3.4 平台差异的处理 414

13.3.5 电量的消耗 414

13.4 总结 415

第14章 平台互操作 416

14.1 理解平台调用服务 416

14.1.1 封送 418

14.1.2 NativeMethods 421

14.1.3 Media示例 422

14.1.4 对托管代码进行回调 425

14.2 理解COM互操作 433

14.2.1 COM库的导入 434

14.2.2 接口的手动定义 434

14.2.3 ActiveX控件 439

14.3 总结 439

第15章 自定义控件的构建 440

15.1 现有控件的扩展 440

15.2 创建自定义控件 441

15.2.1 UserControl 442

15.2.2 Control类 443

15.3 设计时体验编程 446

15.3.1 属性 446

15.3.2 添加到Visual Studio 2005工具箱 457

15.4 总结 459

第16章 国际化支持 461

16.1 全球化带来的问题 461

16.2 区域性 463

16.2.1 CultureInfo 464

16.2.2 再论全球化问题 466

16.3 使用语言翻译(本地化) 468

16.3.1 资源文件的创建 468

16.3.2 资源的读取 469

16.3.3 区域性特定的资源与附属程序集 471

16.3.4 实际的文本翻译工作 472

16.4 总结 473

第17章 Windows Mobile的开发 474

17.1 Pocket Outlook 474

17.1.1 个人信息管理 475

17.1.2 消息 481

17.2 状态与通知 484

17.3 图片 486

17.4 GPS 488

17.5 配置 490

17.5.1 以编码方式对设备进行配置 490

17.5.2 配置文件设置的部署 490

17.6 电话 491

17.7 Windows Mobile的早期版本 491

17.8 总结 491

第Ⅲ部分 .NET Compact Framework 3.5新功能 495

第18章 .NET Compact Framework 3.5与Visual Studio 2008概览 495

18.1 .NET Compact Framework 3.5简介 496

18.2 Visual Studio 2008简介 498

18.3 使用.NET Compact Framework 3.5进行开发 500

18.3.1 Compact WCF编程 500

18.3.2 语言集成查询编程 511

18.3.3 System.IO.Compression编程 517

18.4 Visual Studio 2008 Team System中的单元测试 519

18.4.1 在Visual Studio 2008中编写单元测试 519

18.4.2 单元测试的运行 522

18.5 总结 523