本书以C# 语言、Visual Studio .NET 2003为开发环境,深入介绍了Windows CE应用程序开发的实用技术。本书分为基础篇和应用篇两部分。基础篇主要介绍了Windows CE概述、C#程序设计基础、XML基础、SQL CE数据库。应用篇主要通过4个实例程序介绍Windows CE程序开发,这些实例是基于XML存储数据的图书管理系统、基于SQL CE存储数据的学生信息管理系统、Windows CE Web应用--MobileQQ、Smartphone手机程序示例。
本书系统性强、内容丰富、图文并茂,侧重实用性。完整的源代码可从http://www.tup.com.cn网站上下载,并直接编译执行。
本书可作为高等院校本科生、专科生计算机相关专业的教材,也可供计算机软件、嵌入式软件开发人员参考。
基于C#的Windows CE程序开发实例教程出版说明 本套规划教材的系列名称根据学科基础和岗位群方向设置,为各高职高专院校提供“自助餐”形式的教材。各院校在选择课程需要的教材时,专业课程可以根据岗位群选择系列;专业基础课程可以根据学科方向选择各类的基础课系列。例如,数控技术方向的专业课程可以在“数控技术系列”选择;数控技术专业需要的基础课程,属于计算机类课程的可以在“计算机基础教育系列”和“计算机应用系列”选择,属于机械类课程的可以在“机械基础系列”选择,属于电子信息类课程的可以在“电子信息基础系列”选择。依此类推。
为方便教师授课和学生学习,清华大学出版社正在建设本套教材的教学服务体系。本套教材先期选择重点课程和专业主干课程,进行立体化教材建设:加强多媒体教学课件或电子教案、素材库、学习盘、学习指导书等形式的制作和出版,开发网络课程。学校在选用教材时,可通过邮件或电话与我们联系获取相关服务,并通过与各院校的密切交流,使其日臻完善。
高职高专教育正处于新一轮改革时期,从专业设置、课程体系建设到教材编写,依然是新课题。希望各高职高专院校在教学实践中积极提出意见和建议,并向我们推荐优秀选题。反馈意见请发送到E-mail: gzgz@tup.tsinghua.edu.cn。清华大学出版社将对已出版的教材不断地修订、完善,提高教材质量,完善教材服务体系,为我国的高职高专教育出版优秀的高质量的教材。高职高专教育教材编审委员会 前 言
基于C#的Windows CE程序开发实例教程目前,对于我国的软件行业专业人员来说,市场需求与软件行业学历教育培养数量之间有着很大的差距,适合企业用人标准的优秀软件人才极度匮乏。
嵌入式应用无疑是当前最热门、最有发展前途的IT应用领域之一。嵌入式系统用在一些特定的专用设备上,通常这些设备的硬件资源(如处理器、存储器等)非常有限,并且对成本很敏感,有时对实时响应要求很高。特别是随着消费家电的智能化,嵌入式更显重要。像我们常常见到的手机、PDA、电子字典、可视电话、VCD/DVD/MP3 Player、数码相机(DC) 、数码摄像机(DV) 、U-Disk、机顶盒(Set Top Box) 、高清电视(HDTV) 、游戏机、智能玩具、交换机、路由器、数控设备或仪表、汽车电子、家电控制系统、医疗仪器、航天航空设备等都是典型的嵌入式系统。
微软 Windows CE是一种开放且多样化的32位嵌入式操作系统,其设计目的是为符合广泛的智能设备的需求,例如从诸如工业控制器、通信集线器和收款机系统(POS)等企业工具,到诸如摄影机、电话和家庭娱乐设备等电子消费性产品,为自动控制、视听娱乐、移动计算、终端、数据收集、数据共享及联网等各个应用领域提供一个稳定、实时及多任务的操作系统。Windows CE .NET被广泛应用于工业自动化控制器、互联网应用设备、常驻型网关器、个人数字助理等各种设备。
Visual C#(读作“C sharp" )是Visual Studio .NET中引入的一种新的编程语言。C#从 C和C++演变而来,是一种简单的、现代的、类型安全的和面向对象的语言。C#语法简洁,不允许直接操作内存,没有指针,关键字更加明了。在面向对象设计方面,C#中的每种类型都可以当作对象,C#只允许单继承,也没有全局变量和全局常数,所有的一切都必须封装在一个类中,使代码具有更好的可读性。设计C#是为了建立运行于.NET平台上的、范围广泛的企业级应用程序。用Visual C#编写的代码被编译为托管代码,这意味着它将受益于公共语言运行库的服务。这些服务包括语言互操作性、垃圾回收、增强的安全性以及改进的版本支持。
本书可作为高等院校本科生、专科生计算机相关专业的教材,也可供计算机软件、嵌入式软件开发人员参考。本书中所介绍的实例都是在Windows 2003及Windows Visual Studio .NET 2003环境下调试运行通过的。
需要本书实例的读者请到http://www.tup.com.cn下载。
由于水平有限,书中难免存在不妥之处,请读者提出宝贵意见。编 者
第1章 Windows CE概述3
1.1 嵌入式系统的概念3
1.1.1 嵌入式系统的由来3
1.1.2 嵌入式系统的特点4
1.1.3 嵌入式系统的种类4
1.2 嵌入式处理器5
1.3 嵌入式操作系统6
1.3.1 嵌入式系统发展过程中的嵌入式操作系统6
1.3.2 嵌入式操作系统的特点7
1.3.3 嵌入式操作系统的发展状况8
1.4 Windows CE操作系统9
1.5 Windows CE程序开发工具12
1.6 习题13
第2章 C#程序设计基础14
2.1 认识C#14
2.1.1 简单的Windows应用程序14
2.1.2 代码分析15
2.2 变量与数据类型15
2.2.1 变量与常量15
2.2.2 简单数据类型17
2.2.3 结构类型21
2.2.4 枚举类型23
2.2.5 数据类型转换24
2.2.6 表达式26
2.3 流程控制37
2.3.1 选择语句38
2.3.2 迭代语句41
2.3.3 跳转语句45
2.3.4 异常处理语句46
2.4 方法与数组47
2.4.1 方法47
2.4.2 方法参数50
2.4.3 数组52
2.5 面向对象编程54
2.5.1 类与对象55
2.5.2 继承67
2.5.3 多态74
2.6 习题82
基于C#的Windows CE程序开发实例教程目 录第3章 XML基础83
3.1 XML概述83
3.1.1 Internet的历史83
3.1.2 XML语言的出现83
3.1.3 XML的好处85
3.1.4 XML发展前景87
3.1.5 一个简单的XML案例88
3.1.6 XML的成功应用--RSS88
3.2 XML语法91
3.2.1 标记语法91
3.2.2 文档部分92
3.2.3 元素93
3.2.4 属性95
3.2.5 注释96
3.2.6 XML存取数据96
3.3 工具的使用97
3.4 习题98
第4章 SQL CE数据库99
4.1 认识SQL CE99
4.1.1 嵌入式数据库和SQL Server CE基本介绍99
4.1.2 ActiveSync数据同步100
4.2 Windows CE下SQL CE程序开发初步102
4.2.1 项目创建102
4.2.2 运行程序104
4.3 ADO .NET106
4.4 查询分析器114
4.5 习题118应 用 篇第5章 图书管理系统(基于XML存储数据)121
5.1 图书管理系统基本功能121
5.1.1 XML存储数据121
5.1.2 图书管理系统功能模块121
5.2 程序的实现123
5.2.1 项目创建123
5.2.2 主窗体的设计124
5.2.3 添加用户信息XML文件127
5.2.4 用户登录模块的实现130
5.2.5 添加图书窗体的实现134
5.2.6 编辑图书窗体的实现138
5.2.7 主窗体mainForm的实现141
5.2.8 主菜单功能的实现147
5.3 习题150
第6章 学生信息管理系统(基于SQL CE存储数据)151
6.1 学生信息管理系统基本功能151
6.1.1 SQL CE存储数据151
6.1.2 学生信息管理系统功能模块151
6.2 程序的实现152
6.2.1 项目创建152
6.2.2 主窗体的设计153
6.2.3 主菜单功能的实现156
6.2.4 添加学生窗体165
6.2.5 编辑学生窗体的实现167
6.2.6 查询窗体的实现169
6.2.7 主窗体mainForm的实现170
6.2.8 程序的运行176
6.3 习题178
第7章 Windows CE Web 应用--MobileQQ179
7.1 ASP.NET应用程序开发基础179
7.1.1 ASP.NET Web应用程序的组成180
7.1.2 ASP.NET Web应用程序的开发流程181
7.2 ASP.NET 移动Web应用程序的开发181
7.2.1 ASP.NET移动控件182
7.2.2 ASP.NET移动Web应用程序与ASP.NET Web
应用程序的兼容性182
7.3 ASP.NET移动Web应用程序MobileQQ的实现183
7.3.1 MobileQQ的分析及设计规范183
7.3.2 MobileQQ数据层203
7.3.3 MobileQQ业务层的实现219
7.3.4 MobileQQ用户界面层226
7.4 实验和练习232
7.4.1 实验1: 新建解决方案232
7.4.2 实验2: 向解决方案中添加新项目233
7.4.3 实验3: 添加对项目组件的引用234
7.4.4 实验4: 添加对.NET组件的引用235
7.4.5 实验5: 创建一个ASP.NET移动Web应用程序项目235
7.4.6 实验6: 向ASP.NET移动Web应用程序项目
添加Web窗体235
7.4.7 实验7: 向ASP.NET移动Web应用程序项目
添加用户控件237
7.4.8 实验8: 自定义定时刷新控件TimerForm238
第8章 Smartphone手机程序示例241
8.1 认识Smartphone程序241
8.1.1 Smartphone简要介绍241
8.1.2 开发环境的搭建242
8.1.3 编写HelloWorld程序243
8.2 发送短信程序245
8.2.1 发送短信的原理245
8.2.2 程序实现246
8.3 习题248
参考文献249第1章 Linux操作系统的安装与启动
1.1 Linux简介
1.1.1 Linux的诞生
1.1.2 Linux操作系统的组成
1.1.3 Linux的特点与应用
1.1.4 Linux的发行版本
1.2 Linux的安装方式
1.3 搭建Linux学习环境
1.3.1 Linux学习环境的搭建方式
1.3.2 安装与使用VMware虚拟机
1.4 安装Red Hat Enterprise Linux 5
1.5 Linux的启动与登录
1.5.1 Linux的启动
1.5.2 Linux的注销与关机
习题
实训1-1 安装与使用VMware Workstation 6.0
实训1-2 安装Red Hat Enterprise Linux 5
第2章 Linux的桌面管理
2.1 Linux桌面环境简介
2.2 GNOME的桌面与面板
2.2.1 桌面
2.2.2 面板
2.3 GNOME的菜单系统
2.3.1 “应用程序”菜单
2.3.2 “位置”菜单
2.3.3 “系统”菜单
2.4 磁盘文件管理
2.4.1 使用“计算机”窗口管理磁盘文件
2.4.2 用文件浏览器管理磁盘文件
2.5 归档管理
2.6 GNOME控制中心
2.6.1 会话
2.6.2 可移动驱动器和介质
2.6.3 屏幕与桌面设置
2.6.4 配置文件管理器
2.6.5 网络代理
基于C#的Windows CE程序开发实例教程目 录2.7 用户与用户组管理
2.7.1 用户管理器简介
2.7.2 创建与管理用户
2.7.3 创建与管理用户组
2.8 安全级别与网络配置
2.8.1 网络配置
2.8.2 配置防火墙
2.9 Linux服务管理
2.10 打印机管理
2.10.1 Linux打印系统简介
2.10.2 配置与管理CUPS打印系统
2.10.3 安装打印机驱动程序
2.10.4 使用Web方式添加配置打印机
2.10.5 使用打印机配置窗口添加配置打印机
2.11 安装中文字体
2.12 系统监视
习题
实训2 Linux桌面环境基本操作
第3章 Linux命令行操作基础
3.1 Linux文件系统简介
3.2 Linux Shell简介
3.3 Linux图形界面与文本界面的切换
3.4 Linux文件系统的目录结构
3.5 文件类型与文件属性
3.5.1 Linux的文件类型
3.5.2 Linux的文件属性
3.5.3 设置修改文件的扩展属性
3.6 Linux常用命令
3.6.1 目录操作命令
3.6.2 文件操作命令
3.6.3 日期时间操作
3.6.4 磁盘信息查询
3.6.5 硬件信息查询
3.7 使用vi编辑器
3.8 建立与使用文件系统
3.8.1 创建分区
3.8.2 在分区建立文件系统
3.8.3 挂载和使用文件系统
3.9 使用移动存储设备
3.9.1 在Linux中使用软盘
3.9.2 在Linux中使用光盘
3.9.3 使用USB存储设备
习题
实训3 Linux命令行操作基础
第4章 软件包管理
4.1 RPM软件包管理
4.1.1 RPM简介
4.1.2 使用rpm命令
4.2 TAR归档管理
习题
实训4 Linux软件包管理
第5章 Linux应用软件
5.1 Linux常用软件简介
5.2 互联网应用
5.2.1 Firefox Web浏览器
5.2.2 安装使用Evolution邮件客户端软件
5.2.3 使用gFTP文件传输软件
5.2.4 使用MultiGet文件下载器
5.2.5 使用wget下载文件
5.2.6 安装使用LumaQQ聊天软件
5.3 OpenOffice.org办公软件
5.3.1 OpenOffice.org 简介
5.3.2 安装OpenOffice.org 2.1中文版
5.3.3 使用OpenOffice.org 2.1
5.4 媒体播放器
5.4.1 媒体播放软件简介
5.4.2 安装使用MPlayer播放器
5.4.3 安装使用xine播放器
5.5 图形图像处理
5.5.1 gThumb图像浏览器
5.5.2 GIMP图形图像处理软件
5.6 光盘刻录
5.6.1 使用CD/DVD创建者
5.6.2 安装使用NeroLINUX刻录软件
习题
实训5 Linux常用的应用软件
第6章 Linux服务与进程管理
6.1 Linux的启动过程
6.1.1 Linux的启动过程
6.1.2 inittab配置文件
6.2 Linux的服务管理
6.2.1 服务的启动脚本
6.2.2 服务的启动与停止
6.2.3 配置服务的启动状态
6.3 Linux的进程管理
6.3.1 进程与作业
6.3.2 进程的启动
6.3.3 管理系统的进程
习题
实训6 服务与进程管理
第7章 Linux用户与用户组管理
7.1 用户与用户组文件
7.2 管理用户账户与密码
7.2.1 用户账号管理
7.2.2 用户密码管理
7.3 用户组管理
习题
实训7 用户与用户组管理
第8章 Linux网络连接配置
8.1 网络配置
8.1.1 配置主机名
8.1.2 配置网卡
8.1.3 路由配置与管理
8.1.4 配置客户端名称解析
8.2 安装与配置ADSL拨号
8.2.1 安装PPPoE拨号软件
8.2.2 配置ADSL拨号
8.3 常用网络调试命令
8.4 网络故障排查的基本方法
习题
实训8 配置网络接口卡
第9章 Linux远程管理
9.1 使用telnet远程登录
9.2 使用ssh远程登录
9.3 从Windows平台远程登录Linux
习题
实训9 Linux远程管理
第10章 Linux日志与安全管理
10.1 Linux日志管理
10.1.1 Linux日志系统简介
10.1.2 配置管理日志服务
10.1.3 配置管理系统日志
10.1.4 登录连接日志与进程统计日志
10.1.5 Linux日志维护工具
10.1.6 syslog-ng日志系统简介
10.2 Linux安全管理策略
习题
实训10 Linux的日志管理
第1章 VRML网页概述1
1.1 浏览VRML网页1
1.1.1 安装Cosmo Player插件1
1.1.2 浏览VRML网页3
1.2 网络上的VRML11
1.3 VRML的空间坐标系13
1.4 VRML网页源码的结构与规则14
习题116
第2章 空间背景与实物造型17
2.1 空间背景的基本概念17
2.2 空间背景结点18
2.3 空间背景网页实例19
2.4 几何造型实物结点结构22
2.5 几何造型域结点22
2.6 外观域结点25
2.7 网页实例28
习题230
第3章 文本造型和视点31
3.1 文本造型结点结构31
3.2 文本造型域结点结构31
3.3 字型域结点32
3.4 文本造型网页实例33
3.5 文本方向和对齐方式实例34
3.6 视点设置结点结构36
3.7 视点结点使用规则37
3.8 多视点文本造型网页实例38
3.9 给已有网页添加视点实例39
习题342
第4章 坐标系变换结点43
4.1 结点结构43
4.2 使用规则43
4.3 倾斜文本造型网页实例44
4.4 "Hello!World!”网页实例45
4.5 "UFO”网页实例50
4.6 “小屋”网页实例54
习题468
VRML虚拟现实网页设计目 录第5章 大气效果结点69
5.1 结点结构69
5.2 使用规则69
5.3 “校园”网页实例70
习题580
第6章 浏览者信息和模块化81
6.1 浏览者信息结点结构81
6.2 浏览者信息结点使用规则81
6.3 浏览者信息结点实例81
6.4 “校园”网页中加大浏览者步高89
6.5 模块化90
6.6 内联92
6.7 “校园”网页中加入石凳92
习题697
第7章 光照效果结点98
7.1 点光照效果结点99
7.2 平行光照效果结点100
7.3 锥光照效果结点101
7.4 “校园”网页中创建道路并加入交通灯和广告板102
习题7117
第8章 声音和朝向结点118
8.1 声音结点结构118
8.2 声音结点使用规则119
8.3 声音结点实例119
8.4 “校园”网页中加入“音箱”对象文件124
8.5 朝向结点结构127
8.6 朝向结点使用规则127
8.7 朝向结点实例128
8.8 “校园”网页中加入“校牌”对象文件133
习题8136
第9章 链接物结点138
9.1 Anchor结点结构138
9.2 HTML到VRML的链接139
9.3 制作链接到“校园”网页的HTML网页“Hello" 139
9.4 实现从“校园”网页到“Hello”网页的链接139
9.5 实现从“校园”网页到“小屋”网页的链接143
9.6 实现从“小屋”网页到“校园”网页的链接145
习题9148
参考文献149