《.NET Compact Framework 移动开发指南》,即将与大家见面

 

有人曾经描述过这样一幅画面:当你离开办公室,你可以发送信息给家中的信息家电,于是家中的空调提前调节到你喜欢的温度,咖啡机也开始为你煮一壶可口的咖啡,这一切都是为了让你从进家门的一刻起就感受到舒适和体贴。然而在今天,这一切不但在IBM中国研究中心的实验室中都已变成了现实,而且移动办公、移动商务、移动通讯、移动媒体、移动娱乐等实实在在的应用也正在逐步为我们每个人所熟悉。在光明前途所带来的前景的伴随下,对许多开发人员来说,移动开发也越发显得充满神秘,令人向往。

目前移动设备三大操作系统分别是诺基亚的Symbian、微软的Windows Mobile和索尼的Palm OS,而作为三大操作系统平台之一的Windows Mobile,是微软利用在桌面端应用的优势而推出的一种从桌面到移动的平台方案。从微软桌面端应用的情况来看,Windows Mobile不但将在企业级应用中占有更多的优势,而且占有相当大比重的Windows环境下的开发人员,能以更低的转型成本转移到Windows Mobile平台下进行移动应用开发。本书带着普及Windows Mobile移动应用开发技术的使命应运而生。

 

本书的组织结构和主要内容

本书以移动设备三大操作系统平台之一的Windows Mobile为基础,介绍基于.NET Compact Framework 2.0的应用开发。全书共分为6篇。第1篇主要介绍了Windows Mobile平台、.NET Compact Framework和开发工具Visual Studio 2005,让初学者了解Windows Mobile的发展历史以及搭建和熟悉.NET Compact Framework开发平台。第2篇主要介绍了在C/S架构的移动应用程序中,如何利用.NET Compact Framework进行GUI设计和客户端应用的编程,使初学者能够迅速利用.NET Compact Framework来设计开发移动应用系统。第3篇主要介绍了.NET全新的数据访问模型ADO.NET和XML处理技术以及基于.NET Compact Framework的移动设备数据存储的主流实现技术,包括介绍基于C/S架构的应用程序如何访问远程SQL Server数据库;利用SQL Server CE数据库和XML技术存储本地数据,以及本地数据如何实现与远程数据库服务器同步的问题,使开发人员具备设计移动数据应用解决方案的能力。第4篇主要介绍了移动Web应用程序的开发以及移动智能设备所支持的网络技术如Web Service、TCP和IrDA等开发,使开发人员具备设计移动通讯解决方案的能力。第5篇主要介绍了.NET Compact Framework移动应用高级功能,如P/Invoke、POOM、资源与本地化、多线程编程、性能优化和移动安全策略等的开发和设计,使开发人员能够设计出功能更加强大、系统更加健壮的移动应用系统。第6篇则从实际出发,针对数据库应用、网络应用和游戏开发精选了移动CRM系统、移动蚂蚁MobileAnt和掌上扑克游戏二十一点3个经典的移动应用设计开发案例,以讲解应用开发技巧和传授实际经验为主题,在详细介绍利用Visual Studio 2005进行设计与开发的同时,将移动应用设计与开发的理念和思路融入其中,使读者不仅从技术上提高一个层次,更能在移动应用设计思想上更上一层楼。

 

这本书是否适合你

本书内容由浅入深,紧密结合实际,通过介绍大量典型的移动应用技术编程实例,演示.NET Compact Framework应用的开发过程和编程技巧,能够使没有.NET Compact Framework开发经验甚至没有Windows开发经验的程序员也能够轻松上手,非常适合软件开发或移动开发初学者阅读。

作为移动设备三大操作系统平台之一的Windows Mobile,由于微软在桌面端应用领域所占据的绝对优势,Windows Mobile不但在企业级应用中占有更多的优势,而且占有相当大比重的Windows环境下的开发人员能以更低的转型成本转移到Windows Mobile平台下进行移动应用开发。如果你是Windows环境下的开发人员并希望能够尽快且成功地转移到移动开发领域的话,本书非常适合你阅读。

Windows Mobile将熟悉的Windows桌面扩展到了个人设备中,众多的Windows开发者可以在熟悉的环境下进行各种应用的开发。.NET Compact Framework是.NET Framework全功能版的子集,实现了约30%的.NET Framework全功能版类库,此外,还包含了特定于移动开发和嵌入式开发的功能和类。使得熟悉.NET环境的开发人员能够利用已有的技术知识和开发经验,迅速地在移动设备上建立起移动应用系统。同时也使得开发人员能够迅速地将现有的.NET桌面应用移植到Windows Mobile智能设备上。如果你是熟悉.NET开发环境或正从事.NET应用开发的开发人员,并希望在移动设备上快速建立起移动应用的话,本书也非常适合你阅读。

如果你是企业的CIO,在企业信息化建设中需要或考虑整合移动设备的话,本书同样适合你阅读。本书通过全面介绍基于.NET Compact Framework和涉及移动解决方案所包括的绝大部分领域的应用开发,向有开发经验和正在从事移动应用开发的开发人员展示移动应用的前景,让开发人员了解移动设备作为一种处理终端能够怎样参与业务的处理过程,以及基于.NET Compact Framework的移动应用系统能够如何辅助解决和满足企业信息化中产生的需求。

 

本书的目标

撰写本书,目的是为了帮助读者熟悉.NET Compact Framework开发环境和移动开发过程,最终帮助读者在Windows Mobile移动设备上开发出成熟的移动应用系统。阅读本书,读者对基于.NET Compact Framework的移动应用开发将逐步达到:
• 熟悉.NET Compact Framework开发环境,熟练地编译和调试Pocket PC应用程序。
• 熟悉.NET Compact Framework所提供的各种类库,掌握.NET Compact Framework所提供和支持的各种功能的实现方法。
• 成功开发出不但功能强大而且健壮安全的移动应用系统。
• 规划设计出成熟的移动应用解决方案。

 

 ……


颜友宁
2006年8月5日 星期六

 

 

   

1   开发环境简介

1  Windows Mobile发展简史 

2  .NET Compact Framework简介 

2.1  概述      5

2.2  公共语言运行库   6

2.3  .NET Compact Framework类库 6

2.3.1  与窗体相关的类       6

2.3.2  数据和XML 8

2.3.3  XML Web Service     8

2.3.4  GDI支持   8

2.3.5  Base Class  8

2.3.6  IrDA支持  8

2.3.7  访问Windows注册表      9

2.3.8  Bluetooth支持   9

2.3.9  Visual Basic支持       9

2.3.10  COM组件互操作      9

2.3.11  安全性     9

2.3.12  远程处理支持  10

2.4  .NET Compact Framework不包括的功能 10

2.4.1  方法重载   10

2.4.2  缺少的控件       10

2.4.3  XML功能  11

2.4.4  有限的数据库支持   11

2.4.5  二进制序列化   11

2.4.6  安全性       12

2.4.7  XML Web Service     12

2.4.8  不支持打印       12

2.4.9  不支持GDI+     12

2.5  小结      12

3  Visual Studio 2005简介 

3.1  概述      13

3.2  模板      14

3.2.1  设备应用程序   14

3.2.2  控件库       14

3.2.3  类库   15

3.2.4  控制台应用程序       15

3.2.5  空项目       15

3.3  管理项目      16

3.4  配置项目      17

3.5  提供的控件   18

3.6  设备仿真器   19

3.7  远程工具      20

3.8  CAB设计器  20

3.9  使用Visual Studio 2005       22

3.9.1  创建新项目       22

3.9.2  构造用户界面   23

3.9.3  设置属性   24

3.9.4  编写代码   24

3.9.5  配置项目   25

3.9.6  生成应用程序   25

3.9.7  调试应用程序   26

3.9.8  部署应用程序   26

3.10  小结    28

4  搭建开发环境

4.1  概述      29

4.2  安装Visual Studio 2005       30

4.3  安装ActiveSync   34

4.4  安装IIS服务器    34

4.5  安装SQL Server   34

4.6  安装SQL Server CE     35

4.7  小结      38

 

2   移动界面开发

5  移动用户界面设计  

5.1  概述      41

5.2  用户界面设计      41

5.2.1  结构设计   42

5.2.2  交互设计   42

5.2.3  视觉设计   42

5.3  界面设计标准      43

5.3.1  窗口标题   44

5.3.2  菜单   45

5.3.3  SIP     46

5.3.4  关闭应用程序   47

5.3.5  使用图标   47

5.3.6  共享Pocket Outlook数据 47

5.3.7  鼠标指针   48

5.3.8  系统帮助   48

5.3.9  使用公共对话框       48

5.3.10  限制应用运行多个实例  48

5.4  界面设计经验      49

5.4.1  界面设计   49

5.4.2  输入设计   51

5.4.3  使用习惯   53

5.4.4  兼容性       54

5.5  小结      54

6  Windows窗体

6.1  概述      55

6.2  Windows窗体      55

6.2.1  窗体属性   56

6.2.2  窗体方法   56

6.2.3  窗体事件   56

6.2.4  窗体背后的代码       57

6.3  设计窗体      59

6.3.1  参考线       60

6.3.2  停靠和定位控件       60

6.3.3  拆分器控件       61

6.3.4  设置Tab键顺序       61

6.4  使用窗体      61

6.4.1  重命名窗体       61

6.4.2  设置启动窗体   62

6.4.3  没有启动窗体时的启动设置   63

6.4.4  显示窗体   63

6.4.5  摆脱窗体   63

6.4.6  滚动窗体   65

6.5  使用对话框   65

6.5.1  使用MessageBox对话框  65

6.5.2  使用InputBox对话框      68

6.5.3  使用自定义对话框   70

6.6  小结      72

7  控件

7.1  概述      73

7.2  BindingSource控件      73

7.2.1  绑定操作   74

7.2.2  新增操作   76

7.2.3  删除操作   76

7.2.4  查找操作   76

7.3  Button控件   77

7.3.1  Button控件Click事件编写代码 78

7.4  CheckBox控件     78

7.4.1  CheckBox控件CheckStateChanged事件编写代码   79

7.5  ComboBox控件    79

7.5.1  增加ComboBox数据项    80

7.5.2  删除ComboBox数据项    81

7.5.3  访问ComboBox数据项    81

7.6  ContextMenu控件       81

7.7  DataGrid控件       82

7.8  DateTimePicker控件    84

7.9  DocumentList控件      85

7.10  DomainUpDown控件 86

7.11  HardwareButton控件  88

7.12  HScrollBar控件  89

7.13  ImageList控件    90

7.14  InputPanel控件   91

7.14.1  显示SIP   91

7.14.2  隐藏SIP   92

7.15  LinkLabel控件    92

7.16  ListBox控件       93

7.16.1  增加ListBox数据项       94

7.16.2  删除ListBox数据项       94

7.16.3  访问ListBox数据项       94

7.17  ListView控件     95

7.17.1  配置ListView详细列表视图  96

7.17.2  ListView加载数据     96

7.17.3  ListView使用图像   97

7.18  MainMenu控件   99

7.19  MessageQueue控件   99

7.19.1  创建消息队列  100

7.19.2  向队列发送消息     101

7.19.3  从队列接收消息     102

7.20  MonthCalendar控件   103

7.21  Notification控件 104

7.22  NumericUpDown控件       106

7.23  OpenFileDialog控件   107

7.24  Panel控件   108

7.25  PictureBox控件  109

7.26  ProgressBar控件       111

7.27  RadioButton控件       113

7.28  SaveFileDialog控件    114

7.29  SerialPort控件    115

7.30  Splitter控件 117

7.31  StatusBar控件    118

7.32  TabControl控件  119

7.33  TextBox控件      120

7.34  Timer控件  121

7.35  ToolBar控件       121

7.36  TrackBar控件    122

7.37  TreeView控件    122

7.38  VScrollBar控件  125

7.39  WebBrowser控件      126

7.40  小结    128

8  自定义控件    

8.1  概述      129

8.2  自定义控件类型与创建方式      129

8.3  复合控件      130

8.3.1  创建复合控件   130

8.3.2  添加控件属性   130

8.3.3  添加控件方法   133

8.3.4  使用复合控件   133

8.4  扩展控件      134

8.4.1  创建扩展控件   134

8.4.2  添加控件属性   135

8.4.3  添加集合属性   136

8.4.4  控制属性值       137

8.4.5  属性的错误处理       139

8.4.6  重载控件属性   140

8.4.7  添加控件方法   140

8.4.8  重载控件方法   141

8.4.9  隐藏控件方法   141

8.4.10  添加控件事件  141

8.4.11  重载控件事件  142

8.4.12  使用扩展控件  143

8.5  自绘控件      143

8.5.1  创建自绘控件   144

8.5.2  构造控件界面   145

8.5.3  管理控件界面   146

8.6  自定义组件   146

8.7  小结      148

9  菜单、工具栏和状态栏     

9.1  概述      149

9.2  建立菜单      149

9.2.1  在设计时构建菜单   150

9.2.2  编程实现动态构建菜单   151

9.2.3  设置菜单项复选标记       154

9.2.4  启用和停用菜单项   154

9.2.5  响应菜单Click事件  155

9.2.6  生成菜单   155

9.3  构建弹出式菜单   156

9.3.1  添加ContextMenu控件    156

9.3.2  配置弹出式菜单       157

9.3.3  编程实现弹出式菜单       157

9.3.4  响应弹出式菜单事件       158

9.4  构建工具栏   159

9.4.1  为什么使用工具栏   159

9.4.2  构建工具栏       160

9.4.3  ImageList控件   160

9.4.4  ToolBar控件      161

9.4.5  响应单击按钮   163

9.5  构建状态栏   163

9.5.1  添加StatusBar控件  164

9.5.2  配置状态栏属性       164

9.5.3  为状态栏编程   164

9.6  小结      164

10  文件和目录

10.1  概述    165

10.2  System.IO命名空间  166

10.3  目录管理    167

10.3.1  Directory类和DirectoryInfo     167

10.3.2  系统目录  168

10.3.3  确定目录是否存在  172

10.3.4  创建目录  172

10.3.5  移动目录  173

10.3.6  删除目录  174

10.3.7  获取指定路径下的子目录     174

10.3.8  获取路径下的文件  176

10.3.9  其他目录操作  177

10.4  文件管理    177

10.4.1  File类和FileInfo 178

10.4.2  检查文件是否存在  178

10.4.3  复制文件  178

10.4.4  移动文件  179

10.4.5  删除文件  180

10.4.6  获取文件属性  180

10.4.7  设置文件属性  181

10.5  使用文件    182

10.5.1  创建和打开文件     182

10.5.2  Reader类和Writer     182

10.5.3  向文件写入数据     183

10.5.4  从文件读取数据     184

10.5.5  使用网络远程文件  186

10.6  小结    186

11  图形    

11.1  概述     187

11.2  基础知识     187

11.3  绘制图形     191

11.4  绘制字符串 194

11.5  绘制图像     195

11.6  绘制图形报表     198

11.7  小结     200

3   移动数据开发

12  ADO .NET

12.1  概述    203

12.2  System.Data命名空间       204

12.3  数据供应器 205

12.3.1  SQL Server数据供应器  205

12.3.2  SQL Server CE数据供应器    206

12.3.3  使用System.Data.SqlServerCe命名空间      207

12.4  Connection  207

12.4.1  SqlConnection     208

12.4.2  连接SQL Server     208

12.4.3  SqlCeConnection 208

12.4.4  连接SQL Server CE       209

12.5  Command    209

12.5.1  SqlCommand      210

12.5.2  执行SQL Server命令     210

12.5.3  SqlCeCommand   211

12.5.4  执行SQL Server CE命令      212

12.6  DataReader  212

12.6.1  SqlDataReader     213

12.6.2  SqlCeDataReader 214

12.7  DataAdapter 215

12.7.1  SqlDataAdapter   215

12.7.2  SqlCeDataAdapter       216

12.8  DataSet       217

12.8.1  构造DataSet    217

12.8.2  利用DataAdapter构造DataSet      218

12.8.3  利用XML构造DataSet  218

12.8.4  利用Web Service构造DataSet      218

12.8.5  编程构造DataSet    218

12.8.6  刷新DataSet    219

12.8.7  清除DataSet    219

12.8.8  持久化DataSet       220

12.9  DataTable    222

12.9.1  构造DataTable 222

12.9.2  获得DataSetDataTable对象     223

12.9.3  获得DataTable列对象    223

12.9.4  访问DataTable数据       224

12.9.5  查询DataTable数据       225

12.10  DataRow   226

12.10.1  增加行记录   226

12.10.2  修改行记录   227

12.10.3  查看行记录   227

12.11  DataColumn      227

12.11.1  获取列对象    228

12.11.2  增加列对象    228

12.12  DataView   229

12.13  小结   230

13  数据绑定 

13.1  概述    231

13.2  绑定控件    231

13.2.1  绑定到控件     231

13.2.2  向控件绑定多数据字段  233

13.2.3  ListBoxComboBox控件设置绑定       233

13.2.4  DataGrid控件设置绑定     235

13.2.5  PictureBox控件设置绑定  236

13.3  数据导航    238

13.4  增加行记录 239

13.5  删除行记录 239

13.6  取消编辑    239

13.7  检验输入    240

13.8  创建主-从窗体   241

13.9  持久化数据 243

13.10  使用BindingContext对象 244

13.11  小结   244

14  SQL Server CE简介

14.1  概述    245

14.2  SQL Server CE体系结构   246

14.3  配置SQL Server CE   247

14.3.1  配置SQL Server CE服务器   247

14.3.2  验证选择  253

14.3.3  架设分发服务器     253

14.3.4  创建发布服务器     256

14.4  使用SQL Server CE   258

14.4.1  测试连接  259

14.4.2  加密数据  259

14.4.3  查询分析器     259

14.5  SQL Server CE使用许可   260

14.6  小结    260

15  SQL Server 服务器数据访问    

15.1  概述    261

15.2  如何访问SQL Server数据库    261

15.3  使用SqlConnection连接数据库       262

15.4  使用SqlCommand查询数据库 263

15.5  SQL语句传递参数       264

15.6  ExecuteReader方法    265

15.7  重载ExecuteReader方法   266

15.8  使用存储过程    270

15.9  DataSetDataAdapter组件     273

15.10  使用事务   275

15.11  SQL错误处理   277

15.12  小结   278

16  SQL Server CE本地数据访问

16.1  概述    279

16.2  数据库基本操作 280

16.2.1  创建新的数据库     280

16.2.2  保护数据库     283

16.2.3  更改数据库中的数据     284

16.2.4  读取数据库数据     285

16.3  远程数据访问    286

16.3.1  PULL操作       287

16.3.2  PUSH操作      289

16.3.3  通过IIS进行身份验证   290

16.4  合并复制    294

16.5  冲突    298

16.6  数据同步设计策略    299

16.7  小结    300

17  XML编程     

17.1  概述    301

17.2  XML基础   301

17.2.1  使用XmlReader      304

17.2.2  使用属性  309

17.3  DOM编程   313

17.3.1  读取元素  314

17.3.2  写入元素  315

17.4  通过DataSet处理XML     315

17.5  XML Schema      317

17.6  XML序列化       318

17.7  使用XPath表达式     321

17.8  使用XML配置文件  321

17.8.1  读取XML配置信息       323

17.8.2  写入XML配置信息       324

17.9  小结    325

18  注册表编程

18.1  概述    327

18.2  Windows Mobile注册表    327

18.2.1  注册表结构     327

18.2.2  注册表子树     328

18.2.3  注册表值项     329

18.3  使用注册表 329

18.3.1  创建注册表子项     330

18.3.2  读取注册表子项     330

18.3.3  创建注册表值项     331

18.3.4  读取注册表值项     332

18.3.5  删除注册表子项     333

18.3.6  删除注册表值项     334

18.3.7  注册表数据类型     334

18.4  注册表应用实例 337

18.5  注册表安全 338

18.6  小结    338

 

4   移动网络开发

19  移动Web开发

19.1  概述    341

19.2  移动Web网站    341

19.2.1  移动Web网站布局 341

19.2.2  移动Web网站文件类型 343

19.2.3  移动Web网站路径 344

19.2.4  移动Web网站中的共享代码文件夹    345

19.2.5  移动Web应用程序生命周期 345

19.2.6  移动Web页面生命周期 347

19.2.7  自适应错误报告     348

19.3  ASP.NET移动控件    349

19.4  移动Web窗体设计    350

19.4.1  简易的移动Web窗体    350

19.4.2  放置多个移动Web窗体 351

19.4.3  响应控件事件  352

19.4.4  显示菜单  354

19.4.5  显示文本  355

19.4.6  允许用户打电话     356

19.4.7  用户输入  357

19.4.8  输入验证  360

19.4.9  自动分页  361

19.4.10  设备筛选器   361

19.4.11  DeviceSpecificChoice      362

19.5  自定义ASP.NET移动控件       362

19.5.1  用户控件  363

19.5.2  自定义控件     365

19.5.3  通过继承扩展控件功能  366

19.6  移动Web应用的国际化    367

19.6.1  编码支持  367

19.6.2  资源文件  368

19.6.3  使用资源文件  369

19.7  移动Web网站安全性       371

19.7.1  Windows身份验证与授权     371

19.7.2  Passport身份验证   372

19.7.3  基于Cookie的身份验证 372

19.7.4  窗体身份验证  372

19.8  小结    374

20  Web Service

20.1  概述    375

20.2  理解Web Service       376

20.2.1  查找Web Service    376

20.2.2  获取Web Service说明   378

20.2.3  确定Web Service特征   378

20.3  Web Service限制       382

20.4  创建Web Service       382

20.4.1  创建Web Service项目   382

20.4.2  修改默认的类名     384

20.4.3  添加Web方法 384

20.4.4  测试Web Service    384

20.5  创建Web Service客户端   387

20.5.1  添加Web引用 387

20.5.2  创建Web Service实例   387

20.5.3  调用Web Service方法   388

20.6  Web Service传递数据       388

20.6.1  传递数组  388

20.6.2  传递结构体     389

20.6.3  传递对象  391

20.6.4  传递DataSet    393

20.6.5  通过Web Service更新数据   395

20.7  Web Service异步调用       396

20.7.1  使用Polling进行异步调用     396

20.7.2  使用Callback进行异步调用  398

20.7.3  终止异步调用  399

20.8  小结    400

21  网络编程

21.1  概述    401

21.2  使用HTTP协议 401

21.2.1  关于互联  402

21.2.2  使用统一资源标识符     402

21.2.3  WebRequestHTTPWebRequest  403

21.2.4  NetworkStream       403

21.2.5  接收Web页面 403

21.2.6  Web请求的例外处理     405

21.2.7  Web服务器发送数据 405

21.2.8  HTTP异步请求      407

21.2.9  使用代理发送HTTP请求     410

21.2.10  安全的HTTP请求       411

21.3  使用TCP对象   412

21.3.1  建立TCP服务器    412

21.3.2  建立TCP客户端    422

21.3.3  异步TCP通讯 425

21.4  使用IrDA对象   426

21.4.1  IrDA    426

21.4.2  建立IrDA服务器   427

21.4.3  建立IrDA客户端   431

21.5  小结    432

 

5   高级移动应用开发

22  使用非托管代码     

22.1  概述    435

22.2  函数声明    437

22.3  使用非托管代码的原因    438

22.4  非托管代码编程实例 438

22.4.1  使用SIP   438

22.4.2  获取Pocket PC设备电量      440

22.4.3  Today视图的工具栏上加入应用程序图标     446

22.4.4  播放声音  455

22.5  小结    458

23  使用POOM 

23.1  概述    459

23.2  Pocket Outlook对象模型   459

Pocket Outlook .NET组件    460

23.3  访问POOM 460

23.4  使用任务对象    461

23.4.1  Tasks属性       462

23.4.2  Task对象 462

23.4.3  检索所有任务  463

23.4.4  检索所选任务  463

23.4.5  显示任务  464

23.4.6  增加任务  465

23.4.7  修改任务  466

23.5  使用联系人对象 467

23.5.1  Contacts属性  467

23.5.2  Contact对象    467

23.5.3  检索所有联系人     468

23.5.4  检索所选联系人     469

23.5.5  显示联系人     470

23.5.6  增加联系人     471

23.5.7  修改联系人     471

23.6  使用约会对象    472

23.6.1  Appointments属性  473

23.6.2  Appointment对象    473

23.6.3  检索所有约会  473

23.6.4  检索指定日期的约会     474

23.6.5  显示约会  475

23.6.6  增加约会  476

23.6.7  修改约会  477

23.7  小结    478

24  多线程编程

24.1  概述    479

24.2  Windows CE进程和线程   479

24.2.1  Windows CE进程   480

24.2.2  Windows CE线程   480

24.3  .NET Compact Framework线程       481

24.4  多线程程序设计 482

24.5  简单的多线程示例    482

24.6  改进多线程示例 484

24.6.1  创建线程  484

24.6.2  终止线程  485

24.6.3  工作线程  486

24.6.4  线程优先级     487

24.7  线程池 489

24.8  Timer      491

24.9  线程内访问界面控件 494

24.10  死锁风险   495

24.11  线程同步   496

24.11.1  从多线程内部访问数据       499

24.11.2  MonitorMutex对象  500

24.12  小结   504

25  资源与本地化

25.1  概述    505

25.2  内嵌资源    505

25.3  资源文件    507

25.4  Visual Studio 2005中的资源文件     509

25.5  区域与本地化设置    511

25.6  附属程序集 513

25.7  加载本地化资源 514

25.8  窗体和控件本地化设置    514

25.9  小结    516

26  性能优化

26.1  概述    517

26.2  Windows窗体及其控件以及图形绘制优化    517

26.2.1  BeginUpdateEndUpdate方法     517

26.2.2  绘制后台图像  518

26.3  数据和字符串使用优化    520

26.3.1  枚举类型  520

26.3.2  String字符串   520

26.4  XML操作优化   520

26.5  小结    522

27  移动安全

27.1  概述    523

27.2  安全风险    524

27.2.1  用户的PIM管理工具    524

27.2.2  失窃和丢失     525

27.2.3  个人设备的拥有权  525

27.2.4  恶意软件  526

27.2.5  骇客和黑客     526

27.3  安全实践    526

27.4  身份验证    528

27.5  数据加密    530

27.6  连接加密    531

27.6.1  应用层加密     531

27.6.2  信息服务加密  531

27.6.3  网络加密选项  531

27.7  可靠的数据处理 532

27.8  安全性管理 533

27.8.1  设备替换  533

27.8.2  配置管理  534

27.8.3  病毒防护  534

27.8.4  防护程序  535

27.8.5  可信赖系统的数字签名  535

27.8.6  瘦客户机架构  535

27.9  小结    535

6   移动开发实战

28  掌上扑克游戏二十一点开发

28.1  概述    539

28.2  掌上二十一点的功能 539

28.2.1  扑克牌面绘制  539

28.2.2  游戏规则的算法实现     541

28.3  界面设计    543

28.4  功能实现    544

28.5  小结    550

29  移动蚂蚁MobileAnt开发

29.1  概述    551

29.2  移动蚂蚁MobileAnt的功能      551

29.2.1  断点续传  552

29.2.2  多任务下载管理     553

29.2.3  多协议下载     553

29.2.4  基本身份验证访问  553

29.3  界面设计    554

29.4  功能实现    556

29.4.1  公共设置模块  556

29.4.2  下载任务类     562

29.4.3  添加下载任务  573

29.4.4  断点续传  576

29.4.5  显示下载日志  579

29.5  小结    581

30  基于SQL Server CE 2.0的移动CRM系统开发

30.1  概述    583

30.2  移动MIS系统工作原理    584

30.3  开发环境    585

30.3.1  应用开发  585

30.3.2  数据库开发     585

30.4  系统设计    586

30.4.1  功能需求  586

30.4.2  系统架构  587

30.4.3  数据建模  587

30.5  功能实现    588

30.5.1  用户验证  588

30.5.2  用户登录  591

30.5.3  数据采集  593

30.5.4  数据查询  598

30.5.5  数据统计  600

30.5.6  数据同步  605

30.6  小结    607

 




  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值