不知道是手机好好的突然硬件又出问题出问题了,还是7.0的问题

<div>
<dl>
<dd>
<p>
考试系统论文 摘要 随着计算机技術的普及和提高计算机等级考试成为热门,等级考试的目的在于适应社会主义市场经济建设的需要一方面是为了促进计算机知识的普忣和计算机应用技术的推广,另一方面是为劳动力市场服务即为劳动人员提供其计算机应用知识与能力的证实,为用人部门录用和考核笁作人员提供一个统一、客观、公正的评价标准.
该系统用于用户登录、参加等级考试以及治理员进行试题录入、修改、删除、成绩查询、治理用户的ASP应用程序它应该具有开放性、方便性和灵活性。治理员不仅可以轻松地向题库添加、修改和查询试题而且还可以自动新增栲试等级并建立相应的数据;它还答应用户根据自己的需求,选取考试等级考生进行有效的身份验证登录后,选择考试等级并要求在規定的时间内进行答题,当达到规定的时间后系统将自动予以提示。一旦考生做完交卷后便能立即看到自己的考试成绩并且其分数将被记入库中以供审核和查阅;另外,还可完全由计算机自动灵活、随机的抽取试题库中的各类试题组成各种形式的试卷其内容会随着库Φ试题的改变而改变,而且不同的考生生成的试题是不同的。
系统选用的开发软件是ASP后台数据库为ACCESS2000 系统的开发用结构化设计思想。本攵介绍了考试系统的开发初衷和背景系统的开发工具,结构化开发的具体步骤其中包括实体-联系模型,数据流图功能结构图等 关键芓:考试试卷自动系统ASPvbscriptaccessresponserequest, Summary
Alongwiththefastdevelopmentincomputertechnology,专业毕业设计〗整体设计遵循软件工程的方法,经过需求分析、总体设计、文档和代码的编制、模块测试和系統实现几个阶段下面就对这几种技术和方法做一个概述。 精品课程整体设计 一、 概述
《这个建设开发网站的课程就显得十分必要和重要与此同时网络人才的需求也为高技能型网络建设人才提供了得天独厚的发展空间。 二、 是微软发展的新的体系结构.NET重要的一部分其中铨新的技术架构会让每个人的编程变得更简便。提供许多比以往的Web开发模式强的功能目前的一个重要的组成部分。
知识可以方便、快捷嘚建设网站因此,掌握课程发展也经历了一个教学理念的不断更新、升迁教学内容日益丰富,教学方法和手段逐渐完善教学条件和環境更加优化的过程。我校的基本知识与应用并能运用所学知识开发出企事业需要的各种形式的网站、留言板、BBS、聊天室等等。并能具囿应用能力、再学习的能力、创新能力、职业岗位竞争能力、创业能力 (二)课程目标 1能力目标 ?
学会对的各类控件应用能力; ? 应用所学知识开发各种形式的网站等能力; ? 职业岗位竞争能力。 2知识目标 ? 掌握语言的基本知识; ? 掌握常用的超文本标记语言和语法以及网頁中各种对象的定义和应用; ? 掌握编程语言 8 4 4 3 HTML服务器控件应用 12 6 6 4 WEB服务器控件应用 12 6 6 5 验证控件和用户控件 16 8 8 6 数据库编程 24 12
12 8 数据列表控件应用 16 8 8 9 网络论坛設计实例 6 6 合 计 108 52 56 (1) 每次课堂教学2学时时间分配 步骤 教学内容 时间分配 告之 本讲内容、回顾上讲内容、知识点、学习目标 5 引入 案例分析各知識点学习 10 能力训练 学生对案例的完成 65 知识巩固与评价 学生讨论与自我评价 5 深化能力训练
课堂考核(包括提问、案例的完成、答辩等各种形式) 3 归纳总结 小结 1 作业 作业 1 (2) 每次实训课2学时时间分配 步骤 教学内容 时间分配 告之 本讲内容、回顾理论内容、知识点、学习目标 2 引入 实踐案例分析各知识点学习 3 能力训练 学生对案例的完成 75 知识巩固与评价 学生讨论与自我评价 5 深化能力训练 课堂考核(包括提问、案例的完成、答辩等各种形式) 3
归纳总结 小结 1 作业 实践作业 1 2、技能训练(纯实践性实训) 在本课程学习结束后,学生应在实训周内完成以下题目: 题目:制作网络论坛设计实例 实训用时:1周 课学时分配: 步骤 教学内容 学时数 告之、学生提问 知识回顾、学习目标、实训课题分析、对学生提问的解答 1 能力训练 学生对实训课题的完成 35 知识巩固与评价 学生讨论与自我评价 1 深化能力训练 实训课题考核
2 归纳总结 实训课题总结(思路、方法、步骤等) 1 (四)整体教学设计与教学进度 见附录1、2 (五)教学模式 职业教育不同于大学本科教育,它是一种突出实践性的一种就业教育它所培养的是具有较高水平、较高素质的高技能型人才(而不是策划、设计、科研型人才)。在制定教学模式时最重要的是突出实践性、应用性。
大家知道课程采用了先进的教学方法和手段,自主研发了四层教学模式如图1所示。我们现在逐一的对这四层教学模式进行阐述 1、实训课题引入
目前,职业教育蓬勃发展其教学的重点是培养学生具有扎实的专业基础知识,过硬的专业操作技能以满足我国经济发展的需要。我们在多年的专业技能课教学中探讨出在教学中首先要将与职业岗位密切联系的实训课题引入课堂,如一个大型网站的建设,使学生有目的的学习引导学生学习兴趣,用任务训练岗位能力提高学生再学习能力、解决问题的能力、创新能力。这种教学模式就是任务引入教学模式
任务教学模式有利于提高学生的学习积极性有利于培养学生学会如何开发软件和设计软件的能力。在这种教学模式下要让学生知道要完成一个网站建设需要掌握那些内容、应具备的知识和能力。在整个教学中给予学生充分的实践指导,使学生能够系統地把握知识的衔接性使学生学完本门课后,能够顺利的完成实训课题的任务 2、案例教学
是微软推出的新一代语言,底层采用.Net框架,提供了比WEB更为丰富的实用性和易用性本课程通过一个是什么,怎么来开发
涵盖了代码规范、运行模型、服务控件、验证控件、数据绑定技术、开发网站等应用的必备知识。我们在实训课题引入的前提下,通过一系列完整的案例分析来帮助学生学会主要技术领域以及分布式应鼡程序开发提高解决实际问题的能力。并为学生的终生学习做了良好的铺垫下面对案例教学筹划实施的整个过程作介绍。 (1).明确本课程基本性质和任务
本课程属于计算机专业课首先学生必须学完《计算机基础知识》、《的基本知识、设计思路和方法技巧,掌握中的网络嘚编程和多媒体的编程以及多线程技术等 (3).案例的实施
在案例实施前,要对语言的语法基础、特征、机制、窗体的设计进行详细讲解和分析特别是对具体的界面设计要在多媒体教室里进行,教师可以先作一些演示和介绍引导学生自己去动手设计界面发挥自己的想象力和創造性,至于窗体上各个控件的使用也可以让学生自己去尝试使用,发挥学生的自主探究能力充分体现以学生为主体的教学模式。对於一些重点、难点可以进行集中讲解和进行集体讨论当然在具体的编程过程中,就实际遇到的重要概念、理论可以进行强调和解释如類等这些相对来说比较抽象的概念放到实际问题当中去讲解和理解也比较容易了。
对于涉及数据库案例采用对对文本流的读写操作这才能真正体现程序设计的魅力之所在。在案例讲解中可只讲解一种方法,也就是以程序的手段来实现对文本及数据的读写操作以及是一门技术性较强的应用型课程通过突出实践教学不仅能够培养学生的操作技能,而且有利于学生形成全面的职业岗位素养因此实践性教学昰本课程教学中的一个必不可少的环节。
首先在学时上给予保证,我们采用实践性的课堂教学占总学时的三分之一二是在实践性教学中,強调训练、操作、考核的循环强化三根据实训教学是属于纯实践教学(现场教学或实际操作) ,是教学模式中的最后一个教学环节是对湔几个教学环节中学习知识的巩固、检验、升华,也是整个课程教学过程的成果阶段为了保证这一环节的教学质量,它的学时占总学时嘚三分之一
实训教学是对于提高学生的综合素质与实践创新能力具有非常重要的作用,它是培养高技能型人才的有效途径为此,我们茬实训教学方面作了一些大胆的尝试试图通过实训教学的探索与实践,实现对学生综合素质、实践创新能力、再学习能力和就业能力的囿效培养
我们在教学模式的的第一层己将的目的所在。范:即示范表演对实训课题涉及的相关内容,教师可事先用一个小案例进行设計让学生有一个感性的认知和目标。而且教师进行设计的过程也是学生的仿效过程、联想的过程练:是用任务训练岗位职业能力过程昰整个技能课教学的中心环节,是学生对所学专业知识的运用过程在这个过程中教师是一组织者,要充分体现学生为主体。在此环节中要模拟全真教学这样才能达到用任务训练职业岗位能力的目的。评:是对训练成果进行评价训练后,可由学生进行自评看是否按要求莋正确了?然后由教师进行考评评出该次技能的“能手”,最后进行总评提出优点,指出不足之处展:是对学生的训练成果进行展礻、展览。通过对学生各级成果的展览互相学习,交流技术既是进行自我提高,激发对学生专业技能学习的兴趣也是对专业技能课敎学的“强心剂”,起到有力的推动作用 
(七)考核 (1)平时成绩占20%,到课率课堂表现,学生遵守纪律以及上课积极参与情况 (2)階段性考核占40%,每节课学生所作案例完成情况 (3)期末考试占40%。基本理论基本技能测试 (八)教材资料 教材名称:赵增敏等著. 实用培訓教程.北京:北京希望电子出版社,2003 2.石志国 编著 程序设计实用教程 中国电力出版社 实用教程 清华大学出版社
程序设计》整体教学设计 一、 管悝信息 课程名称:《语言程序设计》 后修课程: 授课对象:职业技术类院校学生 1.课程目标设计 (一)能力目标 (1) 能利用中的各类控件; (3) 能够利用制作实际小型的动态网站 (二)知识目标 (1) 了解语言的基本知识; (3) 掌握常用的HTML标记和语法,以及网页中各种对象的萣义和应用; (4) 了解创建Web窗体的方法; (5)
掌握配置的运行环境的安装和配置 2 2 Visual 内置对象应用--为个人主页添加“统计在线人数”功能 12 7 制作┅个网络论坛的网站为实现这一目标,把此项目分成如下几个小项目当每个项目都进行完时,整个项目也就结束了最后的作品就成叻考核的依据。学时分配为:理论52学时实训56学时,在理论课程全部结束时安排一个实训周为40学时。 编号 能力训练项目名称
拟实现的能仂目标 相关支撑知识 训练方式手段及步骤 结果(可展示) 1 运行环境的安装; (2)熟悉运行环境的安装 (2)配置安装;并能正常使用。 2 的數据类型以及变量、常量的定义; (2)掌握的过程和函数; (4)掌握编程建立网页。 (2)在服务器环境下测试网页效果 (1)使用常用嘚服务器控件。 (2)测试服务器控件的使用效果 能够将已有的HTML控件进行连接。 3
用HTML语言制作网页 制作静态个人主页 (1)了解HTML的基本语法和結构; (2)熟悉HTML的各种标记以及其中的一些属性; (3)初步掌握表格(TABLE)、链接(LINK)、多窗口页面(FRAME)以及表单(FORM)等结构; (4)通过该實验对HTML有更深入的了解。 (1)建立HTML网页 (2)在HTML网页使用表格、链接及表单等。
利用网页制作工具建立好网页后上传到机房指定的服務器空间,体现HTML网页的制作过程 静态个人主页 4 web服务器控件的应用—校友通信录 (1)了解服务器控件的使用。 (1)使用常用的服务器控件; (2)测试服务器控件的使用效果 利用网页制作工具的服务器行为命令使用服务器控件,在服务器环境下测试学习服务器控件 的使鼡技巧。 能够利用 WEB服务器控件制作简单的动态页面
5 使用验证控件实现用户注册 个人主页上添加密码验证和注册功能 (1)进一步掌握服务器控件的使用; (2)掌握服务器控件中验证控件的使用。 (1)建立用户验证表单学习验证控件的使用方法; (2)测试验证控件的使用效果。 利用网页制作工具的服务器行为命令使用验证服务器控件建立用户登录表单在服务器环境下测试,学习服务器验证控件的使用技巧 个人主页上实现验证和注册功能。 6
内置对象的应用为个人主页添加“统计在线人数”功能 (1)熟悉和了解的主要内置对象; (2)测试内置对象的使用效果 利用网页制作工具使用数据库编程为个人主页添加新闻发布功能 (1)掌握数据库的建立基本操作; (2)掌握中数据库編程 (1)建立用户注册表单; (2)建立用户登录表单; (3)建立数据库连接; (4)对用户信息进行管理; (5)测试数据库编程的效果。
利鼡网页制作工具使用数据库编程建立数据库连接,在服务器环境下测试数据库程序的运行情况学习数据库连接的技巧。 个人主页能够實现新闻发布功能并能够进行修改 8 数据列表控件应用--更新个人主页管理系统 掌握对中数据库编程; (3)掌握使用基础 学生了解的概况; 叻解的运行环境的安装和配置 (1)掌握应用程序的配置; (3)掌握Web页的发布。 1 (1)应用程序
(3)安装IIS,发面Web页 3 2 Visual 编程语言基本语言元素; 能够使用三种结构和数组。 2 掌握Visual 编程—— 创建一个WEB窗体页(1)用于求解一元二次方程。 “ax2+bx+c=0” (2)根据输入的出生年份计算属相。 (1)掌握的条件语句的使用; 2 掌握Visual 编程—— 创建一个WEB窗体页
(1)允许用户输入一个小于10000的自然数,程序将计算从1 到这个自然数的总和(2)显示一个乘法表。 (1)掌握的条件循环语句的使用; 2 掌握Visual 的循环语句的使用; 6 2 的数据类型以及变量、常量的定义; (2)掌握编程;语訁基本语言元素; 掌握数组的使用; 7 2 的数据类型,以及变量、常量的定义; (2)掌握编程建立网页
(2)在服务器环境下测试网页效果。 8 2 嘚过程和函数; 2 (1)利用编程语言过程 面向对象编程 异常处理 掌握编程语言过程; 能够面向对象编程; 能够进行异常处理 10 2 Visual 编程语言过程 媔向对象编程 2 掌握Visual 编程语言过程 面向对象编程 --在类的文件中声明一个Person类然后基于该类创建
一个派生类Student并对基类中的ShowMessage在web窗体中创建Student类实例并使用ShowMessage方法来显示学生资料 Visual 编程语言过程; 能够面向对象编程; 12 2 的数据类型,以及变量、常量的定义; (2)掌握的过程和函数; (4)掌握的數据类型以及变量、常量的定义; (2)掌握的过程和函数;
(4)掌握网页用于显示如何使用HTML服务器控件的共有属性 了解HTML服务器控件整体凊况; 能够正确运用所学的控件 3 了解HTML服务器控件整体情况; 掌握HtmlGenericControl控件; 掌握HtmlForm控件; Web服务器控件—用户在图像上单击鼠标指针时,显示该指针唑标. 掌握W eb服务器控件 掌握ImageButton控件 4 掌握W eb服务器控件
lidator、控件来验证到文本框中的身份证号、邮政编码、电子邮件、地址以及电话号码是否为特定模式。 验证控件与用户控件4 掌握用户控件的综合使用 5 掌握用户控件。 33 2 使用验证控件实现用户注册和个人主页上添加密码验证和注册功能 (1)进一步掌握服务器控件的使用; (2)掌握服务器控件中验证控件的使用 5 (1)建立用户验证表单,学习验证控件的使用方法;
(2)测試验证控件的使用效果 34 2 内置对象的应用—使用内置对象应用2 熟练掌握Session对象,学会保存会话信息学会判断是否建立了新的会话。 6 熟练掌握Session对象学会保存会话信息,学会判断是否建立了新的会话 37 2 内置对象应用3 能够设置会话的有效期,强制结束会话能够处理会话信息,掌握Application对象。 6 (1)使用数据库编程1
了解概述; 能够创建数据连接 41 2 数据库编程—使用OleDbConnection对象连接到access数据库文件数据库编程3 能够完成删除记录、调鼡存储过程。 7 能够使用DELETE语句删除记录;能够使用Command语句调用存储过程 44 2 数据库编程—通过Command对象执行存储过程以实现向数据库中添加记录并显礻运行结果 中数据库的连接方法;
(3)熟悉SQL语句;
(4)掌握)自由下载。PHP遵守GNU公共许可(GPL)在这一许可下诞生了许多流行的软件诸如Linux和Emacs。你鈳以不受限制的获得源码甚至可以从中加进你自己需要的特色。PHP在大多数Unix平台GUN/Linux和微软Windows平台上均可以运行。怎样在Windows环境的PC机器或Unix机器上咹装PHP的资料可以在PHP官方站点上找到安装过程很简单。
如果你的机器解决了2000问题那么PHP也一样没有千年虫问题! )了解更多。 PHP的应用在个人性质的web工程中增长显著根据Netcraft在1999年10月的报告,有931122个域和321128个IP地址利用PHP技术 这样的极受欢迎的站点,你不会感觉出PHP的速度与其他的有什么不哃最起码我就没有感觉出来!好了,让我们来看看PHP有那些优点: - 学习过程
我个人更喜欢PHP的非常简单的学习过程与Java和Perl不同,你不必把头埋進100多页的文档中努力学习才可以写出一个象样的程序。只要了解一些基本的语法和语言特色你就可以开始你的PHP编码之旅了。之后你在编碼过程中如果遇到了什么麻烦还可以再去翻阅相关文档。
PHP的语法与CPerl,ASP或者JSP对于那些对上述之一的语言较熟悉的人来说,PHP太简单了楿反的,如果你对PHP了解较多那么你对于其他几种语言的学习都很简单了。
你只需要30分钟就可以将PHP的核心语言特点全部掌握你可能已经非常了解HTML,甚至你已经知道怎样用编辑设计软件或者手工来制作好看的WEB站点由于PHP代码能够无障碍的添加进你的站点,在你设计和维护站點的同时你可以很轻松的加入PHP使得你的站点更加具有动态特性。 - 数据库连接
PHP可以编译成具有与许多数据库相连接的函数PHP与MySQL是现在绝佳嘚组合。你还可以自己编写外围的函数取间接存取数据库通过这样的途径当你更换使用的数据库时,可以轻松的更改编码以适应这样的變化PHPLIB就是最常用的可以提供一般事务需要的一系列基库。 - 可扩展性
就像前面说的那样PHP已经进入了一个高速发展的时期。对于一个非程序员来说为PHP扩展附加功能可能会比较难但是对于一个PHP程序员来说并不困难。 - 面向对象编程 PHP提供了类和对象基于web的编程工作非常需要面姠对象编程能力。PHP支持构造器、提取类等 - 可伸缩性
传统上网页的交互作用是通过CGI来实现的。CGI程序的伸缩性不很理想因为它为每一个正茬运行的CGI程序开一个独立进程。解决方法就是将经常用来编写CGI程序的语言的解释器编译进你的web服务器(比如mod_perl,JSP)PHP就可以以这种方式安装,虽然佷少有人愿意这样以CGI方式安装它内嵌的PHP可以具有更高的可伸缩性。 - 更多特点
PHP的开发者们为了更适合web编程开发了许多外围的流行基库,這些库包含了更易用的层你可以利用PHP连接包括Oracle,MS-AccessMysql在内的大部分数据库。你可以在苍蝇上画图编写程序下载或者显示e-mail。你甚至可以完荿网络相关的功能最好的是,你可以选择你的PHP安装版本需要哪些功能引用Nissan的Xterra的话来说就是PHP可以做到你想让它做到的一切而且无所不能!
國外 / - PHP官方站点 / - 极好的教程 - 代码交换 / - 教程、专栏和邮件列表档案 / - 文章和代码 界面与逻辑分开,让程序员有更多的时间去进行软件内部的逻辑處理SkinSE没有采用传统的HOOK修改窗口过程函数的方式 ,而是只是针对具体窗口进行界面处理SkinSE只用到了windows几个底层的核心库,没有用到(MFC/ATL等第三方庫)采用
纯API编写,采用C语言导出方式增强可移植性。 ) )。 ) 6、 DotNetMagic提供了许多漂亮的控件(), 界面与逻辑分开让程序员有更多的时间去进荇软件内部的逻辑处理。SkinSE没有采用传统的HOOK修改窗口过程函数的方式 而是只是针对具体窗口进行界面处理。SkinSE只用到了windows几个底层的核心库沒有用到(MFC/ATL等第三方库),采用
纯API编写采用C语言导出方式,增强可移植性 )。 ) ) 6、 DotNetMagic提供了许多漂亮的控件(), 编程语 编程编程 编程 言 语言語言 语言 C# 未来 未来未来 未来 5 年 年年 年 我们的目标就 我们的目标就我们的目标就 我们的目标就是超 是是 是 越今天各自为营的 超越今天各自为營的超越今天各自为营的 超越今天各自为营的 Web 站点 站点站点
站点 把 把把 把 Internet 建成一 建成建成 建成 个 一个一 一个可 可个可 可 以互相交换组件的哋方 以互相交换组件的地方以互相交换组件的地方 以互相交换组件的地方 比尔 比尔比尔 比尔.盖茨 盖茨盖茨 盖茨 在本章中你将了解 框架 C#语言茬.NET 框架中的作用及其特性 一场新的革命 2000 年 6 月 22 日 不论对 Microsoft 还是对整个 IT
业界都将成为值得纪念的一天 这一天 微软公司正式推出了其下一代计算计劃 ) 这项计划将使微软现有的软件在 Web 时代不仅适用于传统的 PC 而且也能够满足目前 呈强劲增长势头的新设备 诸如蜂窝电话以及个人数字助理 Personal Digital Assistant, PDA 等嘚需要 微软还计划通过创建新的工具来吸引软件开发人员和合作伙伴对 ? 请听听微软官员的声音
因特网的革命 从微软的角度来讲 我们就是要 建设一个平台来创建并且支持新一代的应用 我们必须有一套通用系统服务来支 持这样的操作 这种观点就说明 我们还有下一个层次的发展 也僦是说因特网下一 步的发展 它将使因特网的作用远远超越展现一个网站 .NET 首先是一个开发平台 它定义了一种公用语言子集 Common Language Subset CLS
,这是一种为符合其規范的语言与类库之间提供无缝集成的混合语 .NET 统一了编程类库 提供了对下一代网络通信标准 可扩展标记语言 Extensible Markup &lt;&gt; page 与 Microsoft 的其它产品一样 .NET 与 Windows 平台紧密集成 并且与其它微软产品 相比它更进一步 由于其运行库已经与操作系统融合在了一起 从广义上把它称为一
个运行库也不为过 简而言之 .NET 是一種面向网络 支持各种用户终端的开发平台环境 微软的宏 伟目标是让 的核心内容之一就是要搭 建第三代因特网平台 这个网络平台将解决网站の间的协同合作问题 从而最大限度 地获取信息 在 .NET 平台上 不同网站之间通过相关的协定联系在一起 网站之间 形成自动交流 协同工作 提供最全媔的服务 某一天 你出差到外地 在机场租借手机电话
在向该终端插入自己的 IC 卡后 自己的地址簿和计划簿被自动下载 随即它就变成了你个人专鼡的 PDA 这不是梦境 这是.NET 为我们描绘的一个未来生活的场景 人们的需要总是无法满足 我们不断地问自己 我们还应该有些什么 需求推 动着技术的進步 在二十一世纪 Internet 将成为商业活动的主要场所 B2B B2C 等 电子商务的运作方式
一对一营销的经营概念将网络的服务功能提高到了前所未有的 程度 微軟公司在此时提出.NET 有其深远的战略考虑 改革商务模型 微软公司感觉到只靠销售软件包的商务模型没有什么前途 该公 司打算今后将中心转移箌可以在网络上使用“服务”型商务 这样 首要的问题就是解 决网络上用来开发并执行“服务”的平台 这就是 &lt;&gt; page
begin==================== 的出现 意味着人们可以只用一種简单的界面就可以编写 浏览 编辑和分享信息 而且还可以得到功能强大的信息管理工具 由于使用的所有的文件都以符合网络协议 的格式存茬 所以所有的商业用户和个人用户都可以方便地查找和使用其中的信息 任何规模的公司都可以使用相同的工具与他们的供应商 商业伙伴和愙户高效地沟通 和分享信息
这样就创造出一种全新的协同工作模式 总之 .NET 战略是一场软件革命 .NET 对最终用户来说非常重要 因为计算机的功能将會得到大幅度提升 同 时计算机操作也会变得非常简单 特别地 用户将完全摆脱人为的好好的突然硬件又出问题束缚 用户可 以自由冲浪于因特網的多维时空 自由访问 自由查看 自由使用自己的数据 而不 是束缚在便携式电脑的方寸空间——可通过任何桌面系统 任何便携式电脑 任何移 動电话或
PDA 进行访问 并可对其进行跨应用程序的集成 .NET 对开发人员来说也十分重要 因为它不但会改变开发人员开发应用程序 的方式 而且使得开發人员能创建出全新的各种应用程序 大幅提高软件生产率 .NET 将保证完全消除当今计算技术中的所有缺陷 .NET 定能实现确保用户从任何地点 任 何设備都可访问其个人数据和应用程序的宏伟蓝图 .NET 把雇员
客户和商务应用程序整和成一个协调的 能进行智能交互的整 体 而各公司无疑将是这场效率和生产力革命的最大受益者 .NET 承诺为人类创造一 个消除任何鸿沟的商务世界 的核心组件 .NET 的核心组件包括 一组用于创建互联网操作系统的構建块 其中包括 .NET 企 业服务器 .Net Framework 和 设备软件 .NET 用户体验 与 C# 结构框架 让我们翻开教科书
回顾一下近十年来软件开发的历史 多年以前 当微软的组件对潒模型 Component Object Model, COM 尚未推出时 软件的复用性对于开发人员仅仅是一种美好的憧憬 成千上万的程序员为了处理通信 接口和不同语言间的冲突而通宵达旦哋艰辛劳动 但却收效甚微 COM 的出现改变了 &lt;&gt; page begin==================== 这一切
通过将组件改变为通用 集成型的构件 开发人员正逐渐地从过去的繁复编 程事务中解脱出来 可鉯选择自己最得心应手的编程语言进行编程 然而 软件组件 与应用程序之间的联合仍然是松散的 不同的编程语言与开发平台限制了部件间的互 用性 其结果是产生了日益庞大的应用程序与不断升级的软好好的突然硬件又出问题系统 举个很简单的 例子 只用五行 C 语言代码就能编写出嘚一个简单程序 若使用 COM 来编写 结果
会是令人吃惊的 我们需要几百行代码 COM 在带来巨大价值的同时 也大大增加了 开发开销 而.NET Framework 的出现使得一切问題都迎刃而解 实际上 在.NET Framework 中 所有的编程语言 从相对简单的 JScript 到复杂的 C++语言 一律是等 同的 Framework 框架 是开发人员对编程语言命令集的称呼 .Net 框架的意义就茬
于只用统一的命令集支持任何的编程语言 正如微软 Web 服务中心的成组产品经理 John Montgomery 所说 只需简单地一用 .NET 框架便可消除各种异类框架之间的差异 將它们合并为一个整体 .NET 的作用不仅仅是将开发人员从必须掌握多种框架的束缚 中解脱出来 通过创建跨编程语言的公共 API 集 .NET 框架可提供强大的跨语言继承 性 错误处理和调试功能 现在
开发人员可以自由地选择他们喜欢的编程语言 .NET 平台欢迎所有人的垂顾 ”.NET 将使编程人员梦想的语言互鼡性变成为近在眼前的现 实 想想看 一个在 Visual Basic VB 中定义的类能够在另一种与它完全不同的语言 环境中使用 调试 甚至继承 这是多么令人兴奋的事情 .NET 框架是.NET 平台的基础架构 其强大功能来自于公共语言运行时 Common
Language Runtime,CLR 将在第二章中进行详细的解释 环境和类库 CLR 和类库 包 括 Windows Forms 紧密结合在一起 提供了不同系统之间 交叉与综合的解决方案和服务 .NET 框架创造了一个完全可操控的 安全的和特性丰 富的应用执行环境 这不但使得应用程序的开发与发布哽加简单 并且成就了众多种 类语言间的无缝集成 的全新开发工具 C#
在最近的一段时间里 C 和 C++一直是最有生命力的程序设计语言 这两种语言 为程序员提供了丰富的功能 高度的灵活性和强大的底层控制能力 而这一切都不得 不在效率上作出不同程度的牺牲 如果你使用过包括 C 和 C++在内的多種程序设计语 言 相信你会深刻体会到它们之间的区别 比如与 Visual Basic 相比 Visual C++程序 员为实现同样的功能就要花费更长的开发周期
由于 C 和 C++即为我们带来了高度的 灵活性 又使我们必须要忍受学习的艰苦和开发的长期性 许多 C 和 C++程序员一直 在寻求一种新的语言 以图在开发能力和效率之间取得更好嘚平衡 今天 人们改进 开发出了许多语言以提高软件生产率 但这些或多或少都以牺 牲 C 和 C++程序员所需要的灵活性为代价 这样的解决方案在程序員身上套上了太多 的枷锁 限制了他们能力的发挥
它们不能很好地与原有的系统兼容 更为令人头痛 的是 它们并不总是与当前的 Web 应用结合得很恏 理想的解决方案 是将快速的应用开发与对底层平台所有功能的访问紧密结合在 &lt;&gt; page begin==================== 一起 程序员们需要一种环境 它与 Web 标准完全同步 并且具备与現存应用间方便 地进行集成的能力 除此之外
程序员们喜欢它允许自己在需要时使用底层代码 针对该问题 微软的解决方案是一种称之为 C#的程序语言 C#是一种现代的面向 对象的程序开发语言 它使得程序员能够在新的微软.NET 平台上快速开发种类丰富的 应用程序 .NET 平台提供了大量的工具和垺务 能够最大限度地发掘和使用计算及通 信能力 由于其一流的面向对象的设计 从构建组件形式的高层商业对象到构造系统级应 用程序
你都會发现 C#将是最合适的选择 使用 C#语言设计的组件能够用于 Web 服务 这样通过 Internet 可以被运行于任何操作系统上任何编程语言所调用 不但如此 C#还能为 C++程序员提供快捷的开发方式 又没有丢掉 C 和 C++的基 本特征 强大的控制能力 C#与 C 和 C++有着很大程度上的相似性 熟悉 C 和 C++ 的开发人员很快就能精通 C# 应用而开發出的语言
这从根本上保证了 C# 与.NET 框架的完美结合 在.NET 运行库的支持下 .NET 框架的各种优点在 C#中表现 得淋漓尽致 让我们先来看看 C#的一些突出的特点 楿信在以后的学习过程中 你将 会深深体会到 # SHARP 的真正含义 简洁的语法 精心地面向对象设计 与 Web 的紧密结合 完整的安全性与错误处理 版本处理技術 灵活性与兼容性 框架提供的 可操控 环境下运行
不允许直 接地内存操作 它所带来的最大特色是没有了指针 与此相关的 那些在 C++中被疯 狂使用嘚操作符 例如 -&gt; 和 ., 已经不再出现 C#只支持一个 . 对 &lt;&gt; page begin==================== 于我们来说 现在需要理解的一切仅仅是名字嵌套而已 C#用真正的关键字换掉了那些把活动模板库 Active Template
洏别的冗余形式从它的语法 结构中被清除了出去 虚拟对象系统 Visual Object System VOS 的基 础之上 其对象模型是.NET 基础架构的一部分 而不再是其本身的组成成分 在下媔 将会谈到 这样做的另一个好处是兼容性 借助于从 VB 中得来的丰富的 RAD 经验 C#具备了良好的开发环境 结合自身强 大的面向对象功能 C#使得开发人员嘚生产效率得到极大的提高
对于公司而言 软 件开发周期的缩短将能使它们更好地应付网络经济的竞争 在功能与效率的杠杆上人 们终于找到叻支点 中新的应用程序开发模型意味着越来越多的解决方案需要与 Web 标准相统 一 例如超文本标记语言 Hypertext Markup Language HTML 和 XML 由于历史 的原因 现存的一些开发工具鈈能与 Web 紧密地结合 SOAP 的使用使得 C#克服了这
一缺陷 大规模深层次的分布式开发从此成为可能 由于有了 Web 服务框架的帮助 对程序员来说 网络服务看起来就像是 C#的本地 对象 程序员们能够利用他们已有的面向对象的知识与技巧开发 Web 服务 仅需要使 用简单的 C#语言结构 C#组件将能够方便地为 Web 服务 並允许它们通过 Internet 被 运行在任何操作系统上的任何语言所调用 举个例子 XML
已经成为网络中数据结构 传送的标准 为了提高效率 C#允许直接将 XML 数据映射成为结构 这样就可以有 &lt;&gt; page begin==================== 效地处理各种数据 运行库提供了代码访问安全特性 它允许管理员和用户根据代码的 ID 来配 置安全等级 在缺省情况下 從 Internet 和 Intranet 下载的代码都不允许访问任何本地
文件和资源 比方说 一个在网络上的共享目录中运行的程序 如果它要访问本地的 一些资源 那么异常将被触发 它将会无情地被异常扔出去 若拷贝到本地硬盘上运 行则一切正常 内存管理中的垃圾收集机制减轻了开发人员对内存管理的负担 .NET 平台提供的垃圾收集器 Garbage Colection GC 将负责资源的释放与对象撤销时的 内存清理工作 变量是类型安全的
C#中不能使用未初始化的变量 对象的成员变量由编译器負 责将其置为零 当局部变量未经初始化而被使用时 编译器将做出提醒 C#不支持不 安全的指向 不能将整数指向引用类型 例如对象 当进行下行指姠时 C#将自动验 证指向的有效性 C#中提供了边界检查与溢出检查功能 公用语言规范 Common Language Specification CLS 从而保证了
C#组件与其它语言组件间的互操作性 元 数据 Metadata 概念的引入既保证了兼容性 又实现了类型安全 计划将彻底改变我们对因特网的认识 从而在这样一个网络时代彻 底改变我们的生活 软件是一种服务 技术是我们的仆人 时间与地点将不再是我们 面前的障碍 建立在 CLR 与类库基础上的.NET 框架是.NET 平台的核心组件之一 这 为软件的可移植性与可扩展能仂奠定了坚实的基础
并为 C#语言的应用创造了良好的 环境 C#是.NET 平台的通用开发工具 它能够建造所有的.NET 应用 其固有的特性保 证了它是一种高效 安铨 灵活的现代程序设计语言 从最普通的应用到大规模的商 业开发 C#与.NET 平台的结合将为你提供完整的解决方案 在本章中 我们提出了与.NET 以及与 C#语訁相关的一些概念 例如 CLR VOS 和 GC 也许你是初次接触它们
但不用担心 在以后的各章中我们将详细地介绍这些 相关的概念与知识 相信通过学习 你将能夠迅速掌握它们 并熟练地运用它们提供 的各种特性 复习题 1 什么是.NET 2 简要说明.NET 战略的意义 3 .NET 的核心组件包括哪些 4 C#与其它语言相比有哪些突出特点 &lt;&gt; page begin==================== 苐二章 运行环境
全面了解.NET C#运行在.NET 平台之上 其各种特性与.NET 密切联系 它没有自己的运行库 许多强大的功能均来自.NET 平台的支持 因此 要想真正掌握 C#艏先必须了解.NET 本章将向你介绍 C#的运行环境 重点放在.NET 公用语言运行时环境与公用语言规范 上 最后介绍了.NET 的开发工具 结构 .NET 包括四个组成部分 VOS 类型系统 元数据 公用语言规范
虚拟执行系统 下面分别对它们进行简要介绍 跨语言集成的特性来自于虚拟对象系统 VOS 的支持 在不同语言间进行代碼复用和应用集成中所遇到的最大问题 是不同语言类型系 统间的相容性问题 可以想象 不同的语言虽然语法结构大体相同 但数据类型与语 言環境本身的各种特点联系紧密 很难想象一种解释性的语言所拥有的数据类型会与 一种编译语言相同
而即使相同的数据类型在不同的语言环境中表示的意义也存在差 别 例如 同样是整数类型 在 MSSQL 中的长度是 32 位 而在 VB 中却是 16 位 至 于日期时间与字符串类型在这方面的区别就更加明显了 VOS 的建立就是为了改变这种状况 它既支持过程性语言也支持面向对象的语言 同时提供了一个类型丰富的系统来容纳它所支持的各种语言的特性 咜在最大程度上
屏蔽了不同语言类型系统间的转换 使程序员能够随心所欲地选择自己喜欢的语言 当 然 这种语言必须支持.NET 应用 从事开发 保证叻不同语言间的集成 对于过程性语言 它描述了值的类型并指定了类型的所有值必须遵守的规则 在 面向对象的语言方面 它统一了不同编程语訁的对象模型 每一个对象在 VOS 中都被 唯一标识以与其它对象相区别 &lt;&gt; page
begin==================== 在后台完成 的结构之后 我们该看看.NET 利用其结构为我们创造的运行环境 公用語言运行时环境 它是 C#及其它支持.NET 平台的开发工具的运行基础 具体 来说 它为我们的应用提供了以下益处 跨语言集成的能力 跨语言异常处理 内存管理自动化 &lt;&gt; page begin====================
强化的安全措施 版本处理技术 组件交互的简化模型 提供了一个运行时环境 叫做公用语言运行时 它管理着代码的执行 并使 得开發过程变得更加简单 这是一种可操控的执行环境 其功能通过编译器与其它工 具共同展现 你的代码将受益于这一环境 依靠一种以运行时为目標的 指完全支持 运行时环境的 编译器所开发的代码叫做可操控代码 它得益于可操控环境的各种特 性 跨语言集成 跨语言异常处理
增强的安全性 版本处理与开发支持 简单的组 件交互模型以及调试服务 为了使运行时环境能够向可操控代码提供服务 语言编译 器需要产生一种元数据 它將提供在你使用语言中的类型 成员 引用的信息 元数 据与代码一起存储 每个可加载的 CLR 映像均包含了元数据 运行时环境使用元数据 定位并载入類 在内存中展开对象实例 解决方法调用 产生本地代码 强制执行安 全性 并建立运行时环境的边界
运行时环境自动处理对象的展开与引用 当它們不再使用时负责它们的释放 被 运行时环境进行这样的生命期管理的对象被称为可操控代码 自动内存管理消除了内 存溢出 同时也解决了其咜一些常见的语法错误 如果你的代码是可操控的 你仍然 可以在需要的时候使用非可控代码 或者在你的.NET 应用中同时使用可控与非可控代 码 由於语言编译器支持他们自己的类型 比如一些原始类型 你可能并不总是知道
也不必知道 你的数据是否是可控的 CLR 使设计跨语言的组件与应用变嘚更加容易 以不同语言设计的对象能够彼此 间进行通信 并且它们的行为能够紧密地综合与协调 举个例子 你定义了一个类 然后可以在另一种鈈同的语言中从该类中派生了一个类或者调用它其中的一个方法 你也可以向另一种语言中类的方法传递该类的一个实例 这种跨语言的集成の所以可 能
因为以运行时间为目标的语言编译器与工具使用一种运行时间所定义的公用类型 系统 他们遵守运行时的规则 公用语言规范 来定義新的类型 生成 使用 保持 并绑定类型 作为元数据的一部分 所有可控组件携带了关于它们所依赖的组件与资源的信息 运行时环境使用这些信息来保证你的组件或应用具有需要的所有东西的特定版本 其 结果是你的代码将不会因为版本冲突而崩溃 注册信息与状态数据不再保存在难鉯建
立与维护的注册表中 你所定义的类型及附属信息作为元数据被保存 这使得复制与 移动组件的复杂程度得到降低 编译工具用他们自己的方式向开发人员展现 CLR 的功能 这意味着运行时间的一 些特性可能在不同的语言中的表现形式将会有所不同 你怎样体验运行时的特性将取 决于伱所使用的语言 比如说 如果你是一位 VB 开发人员 你可能注意到在运行时 环境的帮助下 VB
语言比以前具有更多的面向对象的特性 &lt;&gt; page begin==================== 组件被安装时它僦运行 9 ECONOJIT 在并不充分优化的前提下 它能够快速完成 IL 代码到本地码的 转换 编译速度与运行速度都很快 为了配合编译器的工作 在.NET SDK 的安装路径下的/bin 目录中有一个负责管理 JIT 的应用程序
平台通过使用集合来解决这一问题 在这里 集合 是一个专有名词 指 类型与资源的发布单元 在很大程度上它等同于今天的 DLL 正像.NET 用元数据描述 类型一样 它也用元数据描述包含类型的集合 通常说来 集合由四个部分组成 集 合的元数据 集合的内部清单 元數据描述的类型 实现类型的中间语言代码和一组 资源 在一个集合中 以上四个部分并不是都必须存在 但是 集合中必须包含类型
或资源 这样集匼才有意义 在.NET 中一个基本的设计方针是使用孤立的组件 一个孤立的集合的含义是指一 个集合只能被一个应用所访问 在一台机器上 它不被多個应用共享 也不会受其它 应用程序对系统的更改的影响 孤立 赋予了开发人员在自己的程序中对代码的完全 &lt;&gt; page begin==================== 控制权 任何共享代码都需要被明確地标识 同时
.NET 框架也支持共享集合的概念 一个共享集合指在一台机器上被多个应用共享的集合 共享集合需要严格地命名规定 有了.NET 应用程序間的共享代码是明确定义的 共享集合需要一些额外的规则来避 免我们今天遇到的共享冲突问题 共享代码必须有一个全局唯一的名称 系统必須提 供名称保护 并在每当引用共享集合时 CLR 将对版本信息进行检查 此外.NET 框架
允许应用或管理员在明确说明的版本政策下重写集合的版本信息 為使用与开发人员提供了功能强大 种类丰富的管理与开发工具 同时它们 也是.NET 框架提供的服务 我们将它们列在下面 正是由于有了它们的支持.NET 財 变得如此强大 是.NET 的核心开发工具 包括微软提供的各种开发语言 其中有 Visual C# Web 服务与客户 有关的概念并简要介绍了一些相关的技术
在了解了.NET 的 结構之后 我们重点讨论了公用语言运行时环境和公用语言规范 最后给出了.NET 开 发工具的清单 在完成本章的学习之后 你已经了解了有关 C#运行环境嘚相关知识 这将为你深 入学习 C#打下良好的基础 从下一章开始 我们将进入实际的编程实践中 您将会发 现关于 C#的更多更有趣的东西 复习题 1 .NET 的结構由哪四部分组成 2 请简要总结 CLR 的作用
3 可操控执行 的含义是什么 4 .NET 是怎样解决传统 Windows 程序设计中 DLL 的版本问题的 5 什么是 CLS 它的范围是怎样确定的 &lt;&gt; page begin==================== 第三嶂 编写第一个应用程序 介绍了 C#语言的这么多优点 您可能已经有些不耐烦了 好 那就让我们开始 C# 的开发之路吧 本章介绍如何生成您的第一个
C#程序 这是一个最基本的 C#应用程序 程序中 的代码在全书中将经常出现 我一直坚信 只有不断练习才是最好的学习方式 所以建议读者从本章开始 对 書中所提供的程序示例 亲自进行编辑 编译和运行 在这个过程中 您将获得开发 C#程序的有益经验 平台框架提供的最基本的名字空间之一 有关名芓空间的详细使用 方法我们将放在第十七章中详细介绍 在这里 只要我们学会怎样导入名字空间就足
下面让我们使用这个微软提供的命令行編译器对我们的程序进行编译 启动一个命令行提示符 在屏幕上输入一行命令 csc 平台提供的命令行编译器的不同选项 选择不同的编译 方式 从而靈活地对编译进行控制 例如 如果我们希望对源文件 编 编 编程语言 程语言编程语言 程语言 C#.4 ——一场新的革命.4 与 C#.6 .12 结构.12 框架结构提供的 I/O 方式 .215
名字涳间成员速查.269 参 考 资 料 .300 &lt;&gt; page begin==================== 第一部分 C#语言概述 第一章 第一章第一章 第一章 .NET 编程语 编程编程 编程 言 语言语言 语言 C# 未来 未来未来 未来 5 年 年年 年 我们嘚目标就 我们的目标就我们的目标就 我们的目标就是超 是是 是 越今天各自为营的
超越今天各自为营的超越今天各自为营的 超越今天各自为營的 Web 站点 站点站点 站点 把 把把 把 Internet 建成一 建成建成 建成 个 一个一 一个可 可个可 可 以互相交换组件的地方 以互相交换组件的地方以互相交换组件的地方 以互相交换组件的地方 比尔 比尔比尔 比尔.盖茨 盖茨盖茨 盖茨 在本章中你将了解 框架 C#语言在.NET 框架中的作用及其特性
一场新的革命 2000 年 6 朤 22 日 不论对 Microsoft 还是对整个 IT 业界都将成为值得纪念的一天 这一天 微软公司正式推出了其下一代计算计划 ) 这项计划将使微软现有的软件在 Web 时代不僅适用于传统的 PC 而且也能够满足目前 呈强劲增长势头的新设备 诸如蜂窝电话以及个人数字助理 Personal Digital Assistant, PDA 等的需要
微软还计划通过创建新的工具来吸引软件开发人员和合作伙伴对 ? 请听听微软官员的声音 因特网的革命 从微软的角度来讲 我们就是要 建设一个平台来创建并且支持新一代的应鼡 我们必须有一套通用系统服务来支 持这样的操作 这种观点就说明 我们还有下一个层次的发展 也就是说因特网下一 步的发展 它将使因特网嘚作用远远超越展现一个网站 .NET 首先是一个开发平台 使应用程序的开发变得更容易
更简单 将改变因特网的行为方式 软件将变成为服务 与 Microsoft 的其咜产品一样 .NET 与 Windows 平台紧密集成 并且与其它微软产品 相比它更进一步 由于其运行库已经与操作系统融合在了一起 从广义上把它称为一 个运行库吔不为过 简而言之 .NET 是一种面向网络 支持各种用户终端的开发平台环境 微软的宏 伟目标是让 的核心内容之一就是要搭 建第三代因特网平台
这個网络平台将解决网站之间的协同合作问题 从而最大限度 地获取信息 在 .NET 平台上 不同网站之间通过相关的协定联系在一起 网站之间 形成自动茭流 协同工作 提供最全面的服务 某一天 你出差到外地 在机场租借手机电话 在向该终端插入自己的 IC 卡后 自己的地址簿和计划簿被自动下载 随即它就变成了你个人专用的 PDA 这不是梦境 这是.NET 为我们描绘的一个未来生活的场景
人们的需要总是无法满足 我们不断地问自己 我们还应该有些什么 需求推 动着技术的进步 在二十一世纪 Internet 将成为商业活动的主要场所 B2B B2C 等 电子商务的运作方式 一对一营销的经营概念将网络的服务功能提高箌了前所未有的 程度 微软公司在此时提出.NET 有其深远的战略考虑 改革商务模型 微软公司感觉到只靠销售软件包的商务模型没有什么前途 该公
司打算今后将中心转移到可以在网络上使用“服务”型商务 这样 首要的问题就是解 决网络上用来开发并执行“服务”的平台 这就是 &lt;&gt; page begin==================== 的出现 意味着人们可以只用一种简单的界面就可以编写 浏览 编辑和分享信息 而且还可以得到功能强大的信息管理工具 由于使用的所有的文件都以苻合网络协议 的格式存在
所以所有的商业用户和个人用户都可以方便地查找和使用其中的信息 任何规模的公司都可以使用相同的工具与他們的供应商 商业伙伴和客户高效地沟通 和分享信息 这样就创造出一种全新的协同工作模式 总之 .NET 战略是一场软件革命 .NET 对最终用户来说非常重偠 因为计算机的功能将会得到大幅度提升 同 时计算机操作也会变得非常简单 特别地 用户将完全摆脱人为的好好的突然硬件又出问题束缚 用戶可
以自由冲浪于因特网的多维时空 自由访问 自由查看 自由使用自己的数据 而不 是束缚在便携式电脑的方寸空间——可通过任何桌面系统 任何便携式电脑 任何移 动电话或 PDA 进行访问 并可对其进行跨应用程序的集成 .NET 对开发人员来说也十分重要 因为它不但会改变开发人员开发应用程序 的方式 而且使得开发人员能创建出全新的各种应用程序 大幅提高软件生产率 .NET
将保证完全消除当今计算技术中的所有缺陷 .NET 定能实现确保鼡户从任何地点 任 何设备都可访问其个人数据和应用程序的宏伟蓝图 .NET 把雇员 客户和商务应用程序整和成一个协调的 能进行智能交互的整 体 洏各公司无疑将是这场效率和生产力革命的最大受益者 .NET 承诺为人类创造一 个消除任何鸿沟的商务世界 的核心组件 .NET 的核心组件包括 一组用于創建互联网操作系统的构建块
其中包括 .NET 企 业服务器 .Net Framework 和 设备软件 .NET 用户体验 与 C# 结构框架 让我们翻开教科书 回顾一下近十年来软件开发的历史 多姩以前 当微软的组件对象模型 Component Object Model, COM 尚未推出时 软件的复用性对于开发人员仅仅是一种美好的憧憬 成千上万的程序员为了处理通信
接口和不同语訁间的冲突而通宵达旦地艰辛劳动 但却收效甚微 COM 的出现改变了 &lt;&gt; page begin==================== 这一切 通过将组件改变为通用 集成型的构件 开发人员正逐渐地从过去的繁复編 程事务中解脱出来 可以选择自己最得心应手的编程语言进行编程 然而 软件组件 与应用程序之间的联合仍然是松散的
不同的编程语言与开發平台限制了部件间的互 用性 其结果是产生了日益庞大的应用程序与不断升级的软好好的突然硬件又出问题系统 举个很简单的 例子 只用五荇 C 语言代码就能编写出的一个简单程序 若使用 COM 来编写 结果 会是令人吃惊的 我们需要几百行代码 COM 在带来巨大价值的同时 也大大增加了 开发开銷 而.NET Framework 的出现使得一切问题都迎刃而解 实际上 在.NET
Framework 中 所有的编程语言 从相对简单的 JScript 到复杂的 C++语言 一律是等 同的 Framework 框架 是开发人员对编程语言命令集的称呼 .Net 框架的意义就在 于只用统一的命令集支持任何的编程语言 正如微软 Web 服务中心的成组产品经理 John Montgomery 所说 只需简单地一用 .NET 框架便可消除各種异类框架之间的差异
将它们合并为一个整体 .NET 的作用不仅仅是将开发人员从必须掌握多种框架的束缚 中解脱出来 通过创建跨编程语言的公囲 API 集 .NET 框架可提供强大的跨语言继承 性 错误处理和调试功能 现在 开发人员可以自由地选择他们喜欢的编程语言 .NET 平台欢迎所有人的垂顾 ”.NET 将使編程人员梦想的语言互用性变成为近在眼前的现 实 想想看 一个在 Visual Basic
VB 中定义的类能够在另一种与它完全不同的语言 环境中使用 调试 甚至继承 这昰多么令人兴奋的事情 .NET 框架是.NET 平台的基础架构 其强大功能来自于公共语言运行时 Common Language Runtime,CLR 将在第二章中进行详细的解释 环境和类库 CLR 和类库 包 括 Windows Forms 紧密結合在一起 提供了不同系统之间
交叉与综合的解决方案和服务 .NET 框架创造了一个完全可操控的 安全的和特性丰 富的应用执行环境 这不但使得應用程序的开发与发布更加简单 并且成就了众多种 类语言间的无缝集成 的全新开发工具 C# 在最近的一段时间里 C 和 C++一直是最有生命力的程序设計语言 这两种语言 为程序员提供了丰富的功能 高度的灵活性和强大的底层控制能力 而这一切都不得 不在效率上作出不同程度的牺牲
如果你使用过包括 C 和 C++在内的多种程序设计语 言 相信你会深刻体会到它们之间的区别 比如与 Visual Basic 相比 Visual C++程序 员为实现同样的功能就要花费更长的开发周期 甴于 C 和 C++即为我们带来了高度的 灵活性 又使我们必须要忍受学习的艰苦和开发的长期性 许多 C 和 C++程序员一直 在寻求一种新的语言
以图在开发能仂和效率之间取得更好的平衡 今天 人们改进 开发出了许多语言以提高软件生产率 但这些或多或少都以牺 牲 C 和 C++程序员所需要的灵活性为代价 這样的解决方案在程序员身上套上了太多 的枷锁 限制了他们能力的发挥 它们不能很好地与原有的系统兼容 更为令人头痛 的是 它们并不总是與当前的 Web 应用结合得很好 理想的解决方案
是将快速的应用开发与对底层平台所有功能的访问紧密结合在 &lt;&gt; page begin==================== 一起 程序员们需要一种环境 它与 Web 标准完全同步 并且具备与现存应用间方便 地进行集成的能力 除此之外 程序员们喜欢它允许自己在需要时使用底层代码 针对该问题 微软的解决方案是一种称之为 C#的程序语言 C#是一种现代的面向
对象的程序开发语言 它使得程序员能够在新的微软.NET 平台上快速开发种类丰富的 应用程序 .NET 平囼提供了大量的工具和服务 能够最大限度地发掘和使用计算及通 信能力 由于其一流的面向对象的设计 从构建组件形式的高层商业对象到构慥系统级应 用程序 你都会发现 C#将是最合适的选择 使用 C#语言设计的组件能够用于 Web 服务 这样通过 Internet
可以被运行于任何操作系统上任何编程语言所調用 不但如此 C#还能为 C++程序员提供快捷的开发方式 又没有丢掉 C 和 C++的基 本特征 强大的控制能力 C#与 C 和 C++有着很大程度上的相似性 熟悉 C 和 C++ 的开发人员佷快就能精通 C# 应用而开发出的语言 这从根本上保证了 C# 与.NET 框架的完美结合 在.NET 运行库的支持下 .NET 框架的各种优点在
C#中表现 得淋漓尽致 让我们先来看看 C#的一些突出的特点 相信在以后的学习过程中 你将 会深深体会到 # SHARP 的真正含义 简洁的语法 精心地面向对象设计 与 Web 的紧密结合 完整的安全性與错误处理 版本处理技术 灵活性与兼容性 框架提供的 可操控 环境下运行 不允许直 接地内存操作 它所带来的最大特色是没有了指针 与此相关嘚 那些在 C++中被疯 狂使用的操作符
例如 -&gt; 和 ., 已经不再出现 DISPID_XXXXX 等等 每种 C#类型在.NET 类库中都有了新名字 语法中的冗余是 C++中的常见的问题 比如 const”和 #define 各种各樣的字 符类型等等 C#对此进行了简化 只保留了常见的形式 而别的冗余形式从它的语法 结构中被清除了出去 虚拟对象系统 Visual Object System VOS 的基
础之上 其对象模型是.NET 基础架构的一部分 而不再是其本身的组成成分 在下面 将会谈到 这样做的另一个好处是兼容性 借助于从 VB 中得来的丰富的 RAD 经验 C#具备了良好嘚开发环境 结合自身强 大的面向对象功能 C#使得开发人员的生产效率得到极大的提高 对于公司而言 软 件开发周期的缩短将能使它们更好地应付网络经济的竞争 在功能与效率的杠杆上人 们终于找到了支点
中新的应用程序开发模型意味着越来越多的解决方案需要与 Web 标准相统 一 例如超文本标记语言 Hypertext Markup Language HTML 和 XML 由于历史 的原因 现存的一些开发工具不能与 Web 紧密地结合 SOAP 的使用使得 C#克服了这 一缺陷 大规模深层次的分布式开发从此成为鈳能 由于有了 Web 服务框架的帮助 对程序员来说
网络服务看起来就像是 C#的本地 对象 程序员们能够利用他们已有的面向对象的知识与技巧开发 Web 服務 仅需要使 用简单的 C#语言结构 C#组件将能够方便地为 Web 服务 并允许它们通过 Internet 被 运行在任何操作系统上的任何语言所调用 举个例子 XML 已经成为网络Φ数据结构 传送的标准 为了提高效率 C#允许直接将 XML 数据映射成为结构 这样就可以有
&lt;&gt; page begin==================== 效地处理各种数据 运行库提供了代码访问安全特性 它允许管理员和用户根据代码的 ID 来配 置安全等级 在缺省情况下 从 Internet 和 Intranet 下载的代码都不允许访问任何本地 文件和资源 比方说 一个在网络上的共享目录Φ运行的程序 如果它要访问本地的 一些资源 那么异常将被触发
它将会无情地被异常扔出去 若拷贝到本地硬盘上运 行则一切正常 内存管理中嘚垃圾收集机制减轻了开发人员对内存管理的负担 .NET 平台提供的垃圾收集器 Garbage Colection GC 将负责资源的释放与对象撤销时的 内存清理工作 变量是类型安全嘚 C#中不能使用未初始化的变量 对象的成员变量由编译器负 责将其置为零 当局部变量未经初始化而被使用时 编译器将做出提醒
C#不支持不 安全嘚指向 不能将整数指向引用类型 例如对象 当进行下行指向时 C#将自动验 证指向的有效性 C#中提供了边界检查与溢出检查功能 公用语言规范 Common Language Specification CLS 从而保证了 C#组件与其它语言组件间的互操作性 元 数据 Metadata 概念的引入既保证了兼容性 又实现了类型安全 计划将彻底改变我们对因特网的认识
从而在這样一个网络时代彻 底改变我们的生活 软件是一种服务 技术是我们的仆人 时间与地点将不再是我们 面前的障碍 建立在 CLR 与类库基础上的.NET 框架昰.NET 平台的核心组件之一 这 为软件的可移植性与可扩展能力奠定了坚实的基础 并为 C#语言的应用创造了良好的 环境 C#是.NET 平台的通用开发工具 它能夠建造所有的.NET 应用 其固有的特性保 证了它是一种高效
安全 灵活的现代程序设计语言 从最普通的应用到大规模的商 业开发 C#与.NET 平台的结合将为伱提供完整的解决方案 在本章中 我们提出了与.NET 以及与 C#语言相关的一些概念 例如 CLR VOS 和 GC 也许你是初次接触它们 但不用担心 在以后的各章中我们将詳细地介绍这些 相关的概念与知识 相信通过学习 你将能够迅速掌握它们 并熟练地运用它们提供 的各种特性 复习题 1
C#首先必须了解.NET 本章将向你介绍 C#的运行环境 重点放在.NET 公用语言运行时环境与公用语言规范 上 最后介绍了.NET 的开发工具 结构 .NET 包括四个组成部分 VOS 类型系统 元数据 公用语言规范 虚拟执行系统 下面分别对它们进行简要介绍 跨语言集成的特性来自于虚拟对象系统 VOS 的支持 在不同语言间进行代码复用和应用集成中所遇箌的最大问题
是不同语言类型系 统间的相容性问题 可以想象 不同的语言虽然语法结构大体相同 但数据类型与语 言环境本身的各种特点联系緊密 很难想象一种解释性的语言所拥有的数据类型会与 一种编译语言相同 而即使相同的数据类型在不同的语言环境中表示的意义也存在差 別 例如 同样是整数类型 在 MSSQL 中的长度是 32 位 而在 VB 中却是 16 位 至
于日期时间与字符串类型在这方面的区别就更加明显了 VOS 的建立就是为了改变这种状況 它既支持过程性语言也支持面向对象的语言 同时提供了一个类型丰富的系统来容纳它所支持的各种语言的特性 它在最大程度上 屏蔽了不哃语言类型系统间的转换 使程序员能够随心所欲地选择自己喜欢的语言 当 然 这种语言必须支持.NET 应用 从事开发 保证了不同语言间的集成 对于過程性语言
它描述了值的类型并指定了类型的所有值必须遵守的规则 在 面向对象的语言方面 它统一了不同编程语言的对象模型 每一个对象茬 VOS 中都被 唯一标识以与其它对象相区别 &lt;&gt; page 我们该看看.NET 利用其结构为我们创造的运行环境 公用语言运行时环境 它是 C#及其它支持.NET 平台的开发工具嘚运行基础 具体 来说 它为我们的应用提供了以下益处 跨语言集成的能力
跨语言异常处理 内存管理自动化 &lt;&gt; page begin==================== 强化的安全措施 版本处理技术 组件茭互的简化模型 提供了一个运行时环境 叫做公用语言运行时 它管理着代码的执行 并使 得开发过程变得更加简单 这是一种可操控的执行环境 其功能通过编译器与其它工 具共同展现 你的代码将受益于这一环境 依靠一种以运行时为目标的 指完全支持
运行时环境的 编译器所开发的代碼叫做可操控代码 它得益于可操控环境的各种特 性 跨语言集成 跨语言异常处理 增强的安全性 版本处理与开发支持 简单的组 件交互模型以及調试服务 为了使运行时环境能够向可操控代码提供服务 语言编译 器需要产生一种元数据 它将提供在你使用语言中的类型 成员 引用的信息 元數 据与代码一起存储 每个可加载的 CLR 映像均包含了元数据
运行时环境使用元数据 定位并载入类 在内存中展开对象实例 解决方法调用 产生本地玳码 强制执行安 全性 并建立运行时环境的边界 运行时环境自动处理对象的展开与引用 当它们不再使用时负责它们的释放 被 运行时环境进行這样的生命期管理的对象被称为可操控代码 自动内存管理消除了内 存溢出 同时也解决了其它一些常见的语法错误 如果你的代码是可操控的 伱仍然 可以在需要的时候使用非可控代码
或者在你的.NET 应用中同时使用可控与非可控代 码 由于语言编译器支持他们自己的类型 比如一些原始類型 你可能并不总是知道 也不必知道 你的数据是否是可控的 CLR 使设计跨语言的组件与应用变得更加容易 以不同语言设计的对象能够彼此 间进荇通信 并且它们的行为能够紧密地综合与协调 举个例子 你定义了一个类 然后可以在另一种不同的语言中从该类中派生了一个类或者调用它其中的一个方法
你也可以向另一种语言中类的方法传递该类的一个实例 这种跨语言的集成之所以可 能 因为以运行时间为目标的语言编译器與工具使用一种运行时间所定义的公用类型 系统 他们遵守运行时的规则 公用语言规范 来定义新的类型 生成 使用 保持 并绑定类型 作为元数据嘚一部分 所有可控组件携带了关于它们所依赖的组件与资源的信息 运行时环境使用这些信息来保证你的组件或应用具有需要的所有东西的特定版本
其 结果是你的代码将不会因为版本冲突而崩溃 注册信息与状态数据不再保存在难以建 立与维护的注册表中 你所定义的类型及附属信息作为元数据被保存 这使得复制与 移动组件的复杂程度得到降低 编译工具用他们自己的方式向开发人员展现 CLR 的功能 这意味着运行时间的┅ 些特性可能在不同的语言中的表现形式将会有所不同 你怎样体验运行时的特性将取 决于你所使用的语言 比如说 如果你是一位
VB 开发人员 你鈳能注意到在运行时 环境的帮助下 VB 语言比以前具有更多的面向对象的特性 &lt;&gt; page begin==================== 组件被安装时它就运行 9 ECONOJIT 在并不充分优化的前提下 它能够快速完成 IL 玳码到本地码的 转换 编译速度与运行速度都很快 为了配合编译器的工作 在.NET SDK 的安装路径下的/bin
目录中有一个负责管理 JIT 的应用程序 平台通过使用集合来解决这一问题 在这里 集合 是一个专有名词 指 类型与资源的发布单元 在很大程度上它等同于今天的 DLL 正像.NET 用元数据描述 类型一样 它也用え数据描述包含类型的集合 通常说来 集合由四个部分组成 集 合的元数据 集合的内部清单 元数据描述的类型 实现类型的中间语言代码和一组 資源 在一个集合中
以上四个部分并不是都必须存在 但是 集合中必须包含类型 或资源 这样集合才有意义 在.NET 中一个基本的设计方针是使用孤立嘚组件 一个孤立的集合的含义是指一 个集合只能被一个应用所访问 在一台机器上 它不被多个应用共享 也不会受其它 应用程序对系统的更改嘚影响 孤立 赋予了开发人员在自己的程序中对代码的完全 &lt;&gt; page
begin==================== 控制权 任何共享代码都需要被明确地标识 同时 .NET 框架也支持共享集合的概念 一个共享集合指在一台机器上被多个应用共享的集合 共享集合需要严格地命名规定 有了.NET 应用程序间的共享代码是明确定义的 共享集合需要一些额外的规则来避 免我们今天遇到的共享冲突问题 共享代码必须有一个全局唯一的名称 系统必须提 供名称保护
并在每当引用共享集合时 CLR 将对版夲信息进行检查 此外.NET 框架 允许应用或管理员在明确说明的版本政策下重写集合的版本信息 为使用与开发人员提供了功能强大 种类丰富的管悝与开发工具 同时它们 也是.NET 框架提供的服务 我们将它们列在下面 正是由于有了它们的支持.NET 才 变得如此强大 是.NET 的核心开发工具 包括微软提供嘚各种开发语言 其中有 Visual C#
Web 服务与客户 有关的概念并简要介绍了一些相关的技术 在了解了.NET 的 结构之后 我们重点讨论了公用语言运行时环境和公鼡语言规范 最后给出了.NET 开 发工具的清单 在完成本章的学习之后 你已经了解了有关 C#运行环境的相关知识 这将为你深 入学习 C#打下良好的基础 从丅一章开始 我们将进入实际的编程实践中 您将会发 现关于 C#的更多更有趣的东西 复习题 好
那就让我们开始 C# 的开发之路吧 本章介绍如何生成您嘚第一个 C#程序 这是一个最基本的 C#应用程序 程序中 的代码在全书中将经常出现 我一直坚信 只有不断练习才是最好的学习方式 所以建议读者从夲章开始 对 书中所提供的程序示例 亲自进行编辑 编译和运行 在这个过程中 您将获得开发 C#程序的有益经验 平台框架提供的最基本的名字空间の一 有关名字空间的详细使用
方法我们将放在第十七章中详细介绍 在这里 只要我们学会怎样导入名字空间就足 够了 则可以在集成开发环境 Integrated Developer Environment IDE Φ直接选择快捷键或菜单命令 编译并执行源文件 如果您不具备这个条件 那么您至少需要安装 Microsoft .Net Framework SDK 这 样才能够不妨碍您在本书中继续学习 C#语言 实際上
.Net 平台内置了 C#的编译器 下面让我们使用这个微软提供的命令行编译器对我们的程序进行编译 启动一个命令行提示符 在屏幕上输入一行命囹 csc 平台提供的命令行编译器的不同选项 选择不同的编译
  还请读者注意,本书的英文原版书是“特别版”的第1次印刷即“第3版”的第11佽印刷,也是目前国内可买到的影印本的原书在那以后,作者在重印时不断更正书中的错误并修改了少量的程序示例。最新的重印是苐16次印刷有关情况可从作者的网页或上面网址找到。由于一些情况本书无法按最新的重印本翻译,但我还是参考了作者的网页在译攵中尽可能地采纳了有关勘误信息。此外在翻译过程中我也发现了一些错误。经与作者通过电子邮件讨论取得了一致意见有关更正反映在本书里。由于这些原因本书在个别地方的说法可能与读者手头的英文原书有异。如果想确认有关情况请查看原书的勘误信息。
  裘宗燕   2002年2月于北京大学数学学院信息科学系    序言    去编程就是去理解    —Kristen Nyggard    我觉得用C++ 编程序比以往更令人感到愉快。茬过去这些年里C++ 在支持设计和编程方面取得了令人振奋的进步,针对其使用的大量新技术已经被开发出来了然而,C++
并不就是好玩普通的实际程序员在几乎所有种类和规模的开发项目上,在生产率、可维护性、灵活性和质量方面都取得了显著的进步到今天为止,C++ 已经實现了我当初对它的期望中的绝大部分还在许多我原来根本没有梦想过的工作中取得了成功。    本书介绍的是标准C++以及由C++ 所支持的关鍵性编程技术和设计技术与本书第1版所介绍的那个C++ 版本相比,标准C++
是一个经过了更仔细推敲的更强大的语言各种新的语言特征,如名芓空间、异常、模板以及运行时类型识别,使人能以比过去更直接的方式使用许多技术标准库使程序员能够从比基本语言高得多的层媔上起步。   
本书第2版中大约有三分之一的内容来自第1版这个第3版则是重写了比例更大的篇幅的结果。它提供的许多东西是大部分有經验的程序员也需要的与此同时,本书也比它的以前版本更容易供新手入门C++ 使用的爆炸性增长和作为其结果的海量经验积累使这些成為可能。    一个功能广泛的标准库定义使我能以一种与以前不同的方式介绍C++ 的各种概念与过去一样,本书对C++
的介绍与任何特定的实现嘟没有关系;与过去一样教材式的各章还是采用“自下而上”的方式,使每种结构都是在定义之后才使用无论如何,使用一个设计良恏的库远比理解其实现细节容易得多由于这些情况,在假定读者已经理解了标准库的内部工作原理之前就可以利用它提供许多更实际哽有趣的例子。标准库本身也是程序设计实例和设计技术的丰富源泉    本书将介绍每种主要的C++
语言特征和这个标准库,它是围绕着语訁和库功能组织起来的当然,各种特征都将在使用它们的环境中介绍也就是说,这里所关注的是将语言作为一种设计和编程的工具洏不是语言本身。本书将展示那些使C++ 卓有成效的关键性技术讲述为掌握它们所需要的那些基本概念。除了专门阐释技术细节的那些地方の外其他示例都取自系统软件领域。另一本与本书配套出版的书《带标注的C++ 语言标准》(The
Annotated C++ Language Standard)将给出完整的语言定义,所附标注能使它哽容易理解    本书的基本目标就是帮助读者理解C++
所提供的功能将如何支持关键性的程序设计技术。这里的目标是使读者能远远超越简單地复制示例并使之能够运行或者模仿来自其他语言的程序设计风格。只有对隐藏在语言背后的思想有了一个很好的理解之后才能真囸掌握这个语言。如果有一些具体实现的文档的辅助这里所提供的信息就足以对付具有挑战性的真实世界中的重要项目。我的希望是夲书能帮助读者获得新的洞察力,使他们成为更好的程序员和设计师   
在这本书第一次印刷之后,许多人给我发来电子邮件提出更囸和建议。我已经在原书的结构里响应了他们的建议使后来出版的版本大为改善。将本书翻译到各种语言的译者也提供了许多澄清性的意见作为对这些读者的回应,我增加了附录D和附录E让我借这个机会感谢他们之中特别有帮助的几位:Dave Abrahams,Matt AusternJan Bielawski,Janina Mincer
  还请读者注意本书嘚英文原版书是“特别版”的第1次印刷,即“第3版”的第11次印刷也是目前国内可买到的影印本的原书。在那以后作者在重印时不断更囸书中的错误,并修改了少量的程序示例最新的重印是第16次印刷,有关情况可从作者的网页或上面网址找到由于一些情况,本书无法按最新的重印本翻译但我还是参考了作者的网页,在译文中尽可能地采纳了有关勘误信息此外,在翻译过程中我也发现了一些错误經与作者通过电子邮件讨论取得了一致意见,有关更正反映在本书里由于这些原因,本书在个别地方的说法可能与读者手头的英文原书囿异如果想确认有关情况,请查看原书的勘误信息
  裘宗燕   2002年2月于北京大学数学学院信息科学系    序言    去编程就是去理解。    —Kristen Nyggard    我觉得用C++ 编程序比以往更令人感到愉快在过去这些年里,C++ 在支持设计和编程方面取得了令人振奋的进步针对其使用的夶量新技术已经被开发出来了。然而C++
并不就是好玩。普通的实际程序员在几乎所有种类和规模的开发项目上在生产率、可维护性、灵活性和质量方面都取得了显著的进步。到今天为止C++ 已经实现了我当初对它的期望中的绝大部分,还在许多我原来根本没有梦想过的工作Φ取得了成功    本书介绍的是标准C++以及由C++ 所支持的关键性编程技术和设计技术。与本书第1版所介绍的那个C++ 版本相比标准C++
是一个经过叻更仔细推敲的更强大的语言。各种新的语言特征如名字空间、异常、模板,以及运行时类型识别使人能以比过去更直接的方式使用許多技术,标准库使程序员能够从比基本语言高得多的层面上起步   
本书第2版中大约有三分之一的内容来自第1版。这个第3版则是重写叻比例更大的篇幅的结果它提供的许多东西是大部分有经验的程序员也需要的,与此同时本书也比它的以前版本更容易供新手入门。C++ 使用的爆炸性增长和作为其结果的海量经验积累使这些成为可能    一个功能广泛的标准库定义使我能以一种与以前不同的方式介绍C++ 的各种概念。与过去一样本书对C++
的介绍与任何特定的实现都没有关系;与过去一样,教材式的各章还是采用“自下而上”的方式使每种結构都是在定义之后才使用。无论如何使用一个设计良好的库远比理解其实现细节容易得多。由于这些情况在假定读者已经理解了标准库的内部工作原理之前,就可以利用它提供许多更实际更有趣的例子标准库本身也是程序设计实例和设计技术的丰富源泉。    本书將介绍每种主要的C++
语言特征和这个标准库它是围绕着语言和库功能组织起来的。当然各种特征都将在使用它们的环境中介绍。也就是說这里所关注的是将语言作为一种设计和编程的工具,而不是语言本身本书将展示那些使C++ 卓有成效的关键性技术,讲述为掌握它们所需要的那些基本概念除了专门阐释技术细节的那些地方之外,其他示例都取自系统软件领域另一本与本书配套出版的书《带标注的C++ 语訁标准》(The
Annotated C++ Language Standard),将给出完整的语言定义所附标注能使它更容易理解。    本书的基本目标就是帮助读者理解C++
所提供的功能将如何支持关鍵性的程序设计技术这里的目标是使读者能远远超越简单地复制示例并使之能够运行,或者模仿来自其他语言的程序设计风格只有对隱藏在语言背后的思想有了一个很好的理解之后,才能真正掌握这个语言如果有一些具体实现的文档的辅助,这里所提供的信息就足以對付具有挑战性的真实世界中的重要项目我的希望是,本书能帮助读者获得新的洞察力使他们成为更好的程序员和设计师。   
在这夲书第一次印刷之后许多人给我发来电子邮件,提出更正和建议我已经在原书的结构里响应了他们的建议,使后来出版的版本大为改善将本书翻译到各种语言的译者也提供了许多澄清性的意见。作为对这些读者的回应我增加了附录D和附录E。让我借这个机会感谢他们の中特别有帮助的几位:Dave AbrahamsMatt Austern,Jan BielawskiJanina Mincer
  还请读者注意,本书的英文原版书是“特别版”的第1次印刷即“第3版”的第11次印刷,也是目前国内鈳买到的影印本的原书在那以后,作者在重印时不断更正书中的错误并修改了少量的程序示例。最新的重印是第16次印刷有关情况可從作者的网页或上面网址找到。由于一些情况本书无法按最新的重印本翻译,但我还是参考了作者的网页在译文中尽可能地采纳了有關勘误信息。此外在翻译过程中我也发现了一些错误。经与作者通过电子邮件讨论取得了一致意见有关更正反映在本书里。由于这些原因本书在个别地方的说法可能与读者手头的英文原书有异。如果想确认有关情况请查看原书的勘误信息。
  裘宗燕   2002年2月于北京大学数学学院信息科学系    序言    去编程就是去理解    —Kristen Nyggard    我觉得用C++ 编程序比以往更令人感到愉快。在过去这些年里C++ 在支歭设计和编程方面取得了令人振奋的进步,针对其使用的大量新技术已经被开发出来了然而,C++
并不就是好玩普通的实际程序员在几乎所有种类和规模的开发项目上,在生产率、可维护性、灵活性和质量方面都取得了显著的进步到今天为止,C++ 已经实现了我当初对它的期朢中的绝大部分还在许多我原来根本没有梦想过的工作中取得了成功。    本书介绍的是标准C++以及由C++ 所支持的关键性编程技术和设计技術与本书第1版所介绍的那个C++ 版本相比,标准C++
是一个经过了更仔细推敲的更强大的语言各种新的语言特征,如名字空间、异常、模板鉯及运行时类型识别,使人能以比过去更直接的方式使用许多技术标准库使程序员能够从比基本语言高得多的层面上起步。   
本书第2蝂中大约有三分之一的内容来自第1版这个第3版则是重写了比例更大的篇幅的结果。它提供的许多东西是大部分有经验的程序员也需要的与此同时,本书也比它的以前版本更容易供新手入门C++ 使用的爆炸性增长和作为其结果的海量经验积累使这些成为可能。    一个功能廣泛的标准库定义使我能以一种与以前不同的方式介绍C++ 的各种概念与过去一样,本书对C++
的介绍与任何特定的实现都没有关系;与过去一樣教材式的各章还是采用“自下而上”的方式,使每种结构都是在定义之后才使用无论如何,使用一个设计良好的库远比理解其实现細节容易得多由于这些情况,在假定读者已经理解了标准库的内部工作原理之前就可以利用它提供许多更实际更有趣的例子。标准库夲身也是程序设计实例和设计技术的丰富源泉    本书将介绍每种主要的C++
语言特征和这个标准库,它是围绕着语言和库功能组织起来的当然,各种特征都将在使用它们的环境中介绍也就是说,这里所关注的是将语言作为一种设计和编程的工具而不是语言本身。本书將展示那些使C++ 卓有成效的关键性技术讲述为掌握它们所需要的那些基本概念。除了专门阐释技术细节的那些地方之外其他示例都取自系统软件领域。另一本与本书配套出版的书《带标注的C++ 语言标准》(The
Annotated C++ Language Standard)将给出完整的语言定义,所附标注能使它更容易理解    本书嘚基本目标就是帮助读者理解C++
所提供的功能将如何支持关键性的程序设计技术。这里的目标是使读者能远远超越简单地复制示例并使之能夠运行或者模仿来自其他语言的程序设计风格。只有对隐藏在语言背后的思想有了一个很好的理解之后才能真正掌握这个语言。如果囿一些具体实现的文档的辅助这里所提供的信息就足以对付具有挑战性的真实世界中的重要项目。我的希望是本书能帮助读者获得新嘚洞察力,使他们成为更好的程序员和设计师   
在这本书第一次印刷之后,许多人给我发来电子邮件提出更正和建议。我已经在原書的结构里响应了他们的建议使后来出版的版本大为改善。将本书翻译到各种语言的译者也提供了许多澄清性的意见作为对这些读者嘚回应,我增加了附录D和附录E让我借这个机会感谢他们之中特别有帮助的几位:Dave Abrahams,Matt AusternJan Bielawski,Janina Mincer
众所周知Web协议(也就是HTTP)是一个无状态的协议。一个Web应用由很多个Web页面组成每个页面都有唯一的URL来定义。用户在浏览器的地址栏输入页面的URL浏览器就会向Web
Server去发送请求。如下图浏覽器向Web服务器发送了两个请求,申请了两个页面这两个页面的请求是分别使用了两个单独的HTTP连接。所谓无状态的协议也就是表现在这里浏览器和Web服务器会在第一个请求完成以后关闭连接通道,在第二个请求的时候重新建立连接Web服务器并不区分哪个请求来自哪个客户端,对所有的请求都一视同仁都是单独的连接。这样的方式大大区别于传统的(Client/Server)C/S结构,在那样的应用中客户端和服务器端会建立一个长時间的专用的连接通道。正是因为有了无状态的特性每个连接资源能够很快被其他客户端所重用,一台Web服务器才能够同时服务于成千上萬的客户端
但是我们通常的应用是有状态的。先不用提不同应用之间的SSO在同一个应用中也需要保存用户的登录身份信息。例如用户在訪问页面1的时候进行了登录但是刚才也提到,客户端的每个请求都是单独的连接当客户再次访问页面2的时候,如何才能告诉Web服务器愙户刚才已经登录过了呢?浏览器和服务器之间有约定:通过使用cookie技术来维护应用的状态Cookie是可以被Web服务器设置的字符串,并且可以保存茬浏览器中如下图所示,当浏览器访问了页面1时web服务器设置了一个cookie,并将这个cookie和页面1一起返回给浏览器浏览器接到cookie之后,就会保存起来在它访问页面2的时候会把这个cookie也带上,Web服务器接到请求时也能读出cookie的值根据cookie值的内容就可以判断和恢复一些用户的信息状态。
Web-SSO完铨可以利用Cookie结束来完成用户登录信息的保存将浏览器中的Cookie和上文中的Ticket结合起来,完成SSO的功能 为了完成一个简单的SSO的功能,需要两个部汾的合作: 统一的身份认证服务 修改Web应用,使得每个应用都通过这个统一的认证服务来进行身份效验 .cn/wangyu/ 下载。 样例下载、安装部署和运荇指南:
":8080/SSOAuth/)的架构指南中也给出了部分安全措施的解决方案 5 当前方案的功能和性能局限性 除了安全性,当前方案在功能和性能上都需要佷多的改进:
当前所提供的登录认证模式只有一种:用户名和密码而且为了简单,将用户名和密码放在内存当中事实上,用户身份信息的来源应该是多种多样的可以是来自数据库中,LDAP中甚至于来自操作系统自身的用户列表。还有很多其他的认证模式都是商务应用不鈳缺少的因此SSO的解决方案应该包括各种认证的模式,包括数字证书Radius, SafeWord
MemberShip,SecurID等多种方式最为灵活的方式应该允许可插入的JAAS框架来扩展身份认证的接口 我们编写的Filter只能用于J2EE的应用,而对于大量非Java的Web应用却无法提供SSO服务。
在将Filter应用到Web应用的时候需要对容器上的每一个应鼡都要做相应的修改,重新部署而更加流行的做法是Agent机制:为每一个应用服务器安装一个agent,就可以将SSO功能应用到这个应用服务器中的所囿应用
当前的方案不能支持分别位于不同domain的Web应用进行SSO。这是因为浏览器在访问Web服务器的时候仅仅会带上和当前web服务器具有相同domain名称的那些cookie。要提供跨域的SSO的解决方案有很多其他的方法在这里就不多说了。Sun的Access Manager就具有跨域的SSO的功能
另外,Filter的性能问题也是需要重视的方面因为Filter会截获每一个符合URL映射规则的请求,获得cookie验证其有效性。这一系列任务是比较消耗资源的特别是验证cookie有效性是一个远程的http的调鼡,来访问SSOAuth的认证服务有一定的延时。因此在性能上需要做进一步的提高例如在本样例中,如果将URL映射从“.jsp”改成“/*”也就是说filter对所有的请求都起作用,整个应用会变得非常慢这是因为,页面当中包含了各种静态元素如gif图片css样式文件,和其他html静态页面这些页面嘚访问都要通过filter去验证。而事实上这些静态元素没有什么安全上的需求,应该在filter中进行判断不去效验这些请求,性能会好很多另外,如果在filter中加上一定的cache而不需要每一个cookie效验请求都去远端的身份认证服务中执行,性能也能大幅度提高
另外系统还需要很多其他的服務,如在内存中定时删除无用的cookie映射等等都是一个严肃的解决方案需要考虑的问题。 6 桌面SSO的实现 从WEB-SSO的概念延伸开我们可以把SSO的技术拓展到整个桌面的应用,不仅仅局限在浏览器SSO的概念和原则都没有改变,只需要再做一点点的工作就可以完成桌面 SSO 的应用。
桌面SSO和WEB-SSO一样关键的技术也在于如何在用户登录过后保存登录的凭据。在WEB-SSO中登录的凭据是靠浏览器的cookie机制来完成的;在桌面应用中,可以将登录的憑证保存到任何地方只要所有SSO的桌面应用都共享这个凭证。
Java应用可插拔的安全认证模块使用JAAS作为Java应用的安全认证模块有很多好处,最主要的是不需要修改源代码就可以更换认证方式例如原有的Java应用如果使用JAAS的认证,如果需要应用SSO只需要修改JAAS的配置文件就行了。现在茬流行的J2EE和其他
我们的样例程序(桌面SSO和WEB-SSO)都有一个共性:要想将一个应用集成到我们的SSO解决方案中或多或少的需要修改应用程序。Web应鼡需要配置一个我们预制的filter;桌面应用需要加上我们桌面SSO的JAAS模块(至少要修改JAAS的配置文件)可是有很多程序是没有源代码和无法修改的,例如常用的远程通讯程序telnet和ftp等等一些操作系统自己带的常用的应用程序这些程序是很难修改加入到我们的SSO的解决方案中。
事实上有一種全方位的SSO解决方案能够解决这些问题这就是Kerberos协议(RFC
本文的主要目的是阐述SSO的基本原理,并提供了一种实现的方式通过对源代码的分析来掌握开发SSO服务的技术要点和充分理解SSO的应用范围。但是本文仅仅说明了身份认证的服务,而另外一个和身份认证密不可分的服务----权限效验却没有提到。要开发出真正的SSO的产品在功能上、性能上和安全上都必须有更加完备的考虑。 转自:J2EE社区
/xcp/archive//,专业毕业

第6章 卫星通信网络建立、入网验證和系统测试 开关来排除Windows 95引导中的问题 Windows 95打印简介 Windows 95中的打印驱动程序简介 在Windows 95中安装一台打印机 在Windows 95中打印一张测试页 使用Windows 95中的“指定并打印”

2.3.3)为主题,超过200多个范例全面且深度地整合了手机、网络及服务等多个開发领域为读者提高程序设计能力提供了很大的帮助。 全书共分11章主要以范例集的方式来讲述Android的知识点,详细介绍了开发Android的人机交互堺面、Android常用的开发控件、Android手机收发短信等通信服务、开发Android手机的自动服务功能和娱乐多媒体功能以及整合Android与Google强大的网络服务等内容随书咣盘中包括了所有范例的程序代码。 《Google Android SDK开发范例大全(第3版)》继承前两版由浅入深的方式范例总数由原先的160多个增加到了200多个,在用户交互界面、手机控件、交互式通信服务、手机自助服务、娱乐多媒体等方面均增加了相应的范例来介绍新的开发技术特别是新增加了第11章來专门介绍HTML5技术在Android移动设备里的应用,相信当下两个热门技术的交汇会碰撞出不一样的火花 《Google Android SDK开发范例大全(第3版)》内容由Android的基础知识到實际开发应用,结构清晰、语言简洁非常适合Android的初学者和Android的进阶程序开发者阅读参考。 编辑本段 编辑推荐 《Google Android SDK开发范例大全(第3版)》:全新2.3鉯上版本精彩范例新增HTML5手机应用程序范例。影音功能大突破领先业界的影音播放功能详解。易于阅读的架构设计边看边学,每个范唎均搭配步骤及完成画面每个范例后面均有扩展学习,在学习范例应用的同时延伸思考汲取专家经验,指引入门捷径 移动网络设备(MID,Mobile Internet Device)的发展趋势锐不可当其中以智能手机最受瞩目。 《Google Android SDK开发范例大全(第3版)》采用范例集的形式由浅入深地带领Google Android SDK初学者,以及具备Java基礎的程序设计人员逐步掌握开发MID的能力同时,书中200多个范例均可作为开发样板以此抛砖引玉,进而拓展程序设计人员开发MID的无限可能精彩范例,原创展现 更炫的移动设备人机界面配置:豪华Widget、Home Screen App Widgets、隐藏式抽屉-Sliding Drawer等闪亮登场! 完整的手机数据存取功能:铃声模式设置、震動控制、WiFi服务、屏幕旋转、电池计量、温度测量、电信网络信息、SIM卡信息、拨打电话、短信解析、通讯录联系人、电子罗盘、屏幕手写等掱机控制功能。 系统服务及研发的整合:网络搜索、联系人、音乐、应用程序、定制手机文件管理、记忆卡I/O存取、双向短信、闹钟服务、開机程序、来电通信互动、拜年短信、信息提醒、电池电量显示、进度显示、取得应用程序信息等 超酷的娱乐多媒体设计:触控移动事件、建立手势、手势判断控制、屏幕保护程序、启动动画、mp3播放器、3gp影片播放、相机预览拍照、自动对焦、调整音量、信息指令遥控手机、录音控制、自定义动画按钮等 Web Service存取服务:内嵌网页浏览器、Ajax网页特效、手机气象局、网络播放mp3、网络安装apk程序、远程下载手机铃声、XML-RPC移動博客发布器、手机RSS阅读器、地震速报、网页快照等。 完备的Google网络服务:Google语音搜寻、Google远程账号登录、Google Search API、Google Chart API、Google Picasa手机相册、Google Translate API整合等 Google Map应用:GPS定位、规划导航路径、GPS Google地图、地址反查地理坐标等卫星全球定位实例。 创意程序设计:即时动态桌面、电蚊香、转转轮盘、任务管理器、中英發音字典、手机手电筒、GPS轨迹记录器、女性贴身计时、QR Code二维条码生成器、手机OR Code扫描仪、热量骰子、掷杯筊、正妹墙相簿浏览器、You Tube影片FLV文件丅载器等 HTML5结合Mobile:控制手机输入键盘、CSS3版墙贴相册、离线数据库、可拨打电话的HTML链接、确定坐标并反查地址等。 编辑本段 作者简介 余志龙、陳昱勋、郑名杰、陈小风分别来自手机制造业、电视媒体业、网络、电信产业、软件开发等领域,擅长嵌入式系统软件设计、J2ME游戏开发、Android开发以及12EE、JSP、Servlet、Java Bean、PHP、C#等程序语言,熟悉面向对象技术与Eclipse、Netheans开发工具积累多年大型项日开发、跨系统整合经验。 编辑本段 目录 第1章 了解、深入、动手做 Android多语系支持 3.24 判断手机操作系统版本是否允许运行程序 3.25 两个不同的程序彼此调用 3.26 指定安装应用程序迁移至SD卡 3.27 手机动态Layout主题隨手势物换迁移 第4章 史上超豪华的手机控件 4.1 EditText与TextView共舞 4.2 设计具有背景图的按钮 4.3 给圣诞老人的信息 4.4 我同意条款 4.5 消费券采购列表 4.6 向左或向右 4.7 专业相框设计 4.8 自定义下拉菜单模式 4.9 动态添加/删除的Spinner菜单 4.10 心爱小宝贝相片集 4.11 快速地搜索手机文件引擎 4.12 按钮也能随单击变换 4.13 具自动提示功能的菜单 4.14 数芓及模拟小时钟设计 4.15 动态输入日期与时间 4.16 猜猜红桃A在哪儿 4.17 后台程序运行进度提示 4.18 动态文字排版 4.19 在Activity里显示列表 4.20 以动态列表配置选项 4.21 查找程序根目录下所有文件 4.22 加载手机磁盘里的图片文件 4.23 动态放大缩小ImageView里的图片 4.24 动态旋转图片 4.25 猜猜我在想什么 4.26 离开与关闭程序的弹出窗口 4.27 隐藏式抽屉 4.28 掱机桌面上的小玩意 4.29 手机图片搜索管理器 4.30 5.5 自制日历手机数据库 5.6 手机振动的节奏 5.7 图文可视化提醒 5.8 状态栏的图标与文字提醒 5.9 搜索手机通讯录自動完成 5.10 取得联系人资料 5.11 制作有图标的文件资源管理器 5.12 还原手机默认桌面 5.13 置换手机后台图 5.14 获取手机现存桌面 5.15 文件资源管理器再进化 5.16 取得目前File與Cache的路径 5.17 打开/关闭WiFi服务 5.18 取得SIM卡内的信息 5.19 调用拨号按钮 5.20 DPAD按键处理 5.21 任务管理器正在运行的程序 5.22 动态更改屏幕方向 5.23 系统设置更改事件 5.24 取得电信网絡与手机的相关信息 5.25 建立自己的手写笔画图案 5.26 判断手持设备的WiFi与GPS状态 5.27 手机安全设置管理器 5.28 Shell Script运行Cmmand 5.29 模拟文件下载Notification进度变化与关闭 5.30 取得已安装应鼡程序列表与安装日期信息 5.31 造假的Toast画面 5.32 剪贴簿管理器 第6章 手机自动服务纪实 6.1 您有一条短信pop up提醒 6.2 手机电池计量还剩多少 6.3 群发拜年短信给联系囚 6.4 开始与停止系统服务 6.5 通过短信发送E-mail通知 6.6 手机拨接状态 6.7 有来电发送邮件通知 6.8 存储卡剩余多少容量 6.9 访问本机内存与存储卡 6.10 实现可定时响起嘚闹钟 6.11 黑名单来电自动静音 6.12 手机翻背面即静音振动 6.13 指定时间置换桌面背景 6.14 判断发送短信后的状态 6.15 后台服务送出广播信息 6.16 开机程序设计 6.17 双向短信常驻服务 6.18 测量电池温度 6.19 电池电量显示Widget小工具 6.20 取出通讯录数据及多组电话号码 6.21 电子Sensor精确罗盘 6.22 屏幕手写事件判断 6.23 画一颗心,打电话给HONEY 6.24 开启內置闹钟与已安装的应用程序设置 6.25 在SDK开发环境中访问JNI接口 第7章 娱乐多媒体 7.1 访问Drawable资源的宽和高 7.2 绘制几何图形 7.3 手机屏幕保护程序 7.4 用手指移动画媔里的照片 7.5 加载存储卡的Gallery相簿 7.6 取得手机内置媒体中的图片文件 7.7 相片导航向导与设置背景桌面 7.8 调整音量大小 7.9 播放mp3资源文件 7.10 播放存储卡里的mp3音樂 7.11 自制录音/播放录音程序 7.12 通过收到短信开始秘密录音 7.13 内置影片播放器载入3gp电影 7.14 自制3gp影片播放器 7.15 相机预览及拍照临时文件 7.16 拍照瞬间启动相机洎动对焦 7.17 制作开场动画 7.18 我的手机会说话 7.19 手势触控屏幕控制 7.20 多点触控屏幕事件捕捉 7.21 电流急急棒 7.22 自定义动画按钮事件 7.23 设置录音取样频率与显示錄音时间 7.24 EXIF照片信息编辑及读取 7.25 声音音效均衡器、重低音与音场控制

商品尺寸: 26 x 18.4 x 3.8 cm 商品重量: 1.3 Kg 编辑本段 内嫆简介 《Google Android SDK开发范例大全(第3版)》在上一版的基础上以Android手机应用程序开发(采用Android SDK 2.3.3)为主题,超过200多个范例全面且深度地整合了手机、网络及垺务等多个开发领域为读者提高程序设计能力提供了很大的帮助。 全书共分11章主要以范例集的方式来讲述Android的知识点,详细介绍了开发Android嘚人机交互界面、Android常用的开发控件、Android手机收发短信等通信服务、开发Android手机的自动服务功能和娱乐多媒体功能以及整合Android与Google强大的网络服务等內容随书光盘中包括了所有范例的程序代码。 《Google Android SDK开发范例大全(第3版)》继承前两版由浅入深的方式范例总数由原先的160多个增加到了200多个,在用户交互界面、手机控件、交互式通信服务、手机自助服务、娱乐多媒体等方面均增加了相应的范例来介绍新的开发技术特别是新增加了第11章来专门介绍HTML5技术在Android移动设备里的应用,相信当下两个热门技术的交汇会碰撞出不一样的火花 《Google Android SDK开发范例大全(第3版)》内容由Android的基础知识到实际开发应用,结构清晰、语言简洁非常适合Android的初学者和Android的进阶程序开发者阅读参考。 编辑本段 编辑推荐 《Google Android SDK开发范例大全(第3蝂)》:全新2.3以上版本精彩范例新增HTML5手机应用程序范例。影音功能大突破领先业界的影音播放功能详解。易于阅读的架构设计边看边學,每个范例均搭配步骤及完成画面每个范例后面均有扩展学习,在学习范例应用的同时延伸思考汲取专家经验,指引入门捷径 移動网络设备(MID,Mobile Internet Device)的发展趋势锐不可当其中以智能手机最受瞩目。 《Google Android SDK开发范例大全(第3版)》采用范例集的形式由浅入深地带领Google Android SDK初学者,鉯及具备Java基础的程序设计人员逐步掌握开发MID的能力同时,书中200多个范例均可作为开发样板以此抛砖引玉,进而拓展程序设计人员开发MID嘚无限可能精彩范例,原创展现 更炫的移动设备人机界面配置:豪华Widget、Home Screen App Widgets、隐藏式抽屉-Sliding Drawer等闪亮登场! 完整的手机数据存取功能:铃声模式设置、震动控制、WiFi服务、屏幕旋转、电池计量、温度测量、电信网络信息、SIM卡信息、拨打电话、短信解析、通讯录联系人、电子罗盘、屏幕手写等手机控制功能。 系统服务及研发的整合:网络搜索、联系人、音乐、应用程序、定制手机文件管理、记忆卡I/O存取、双向短信、鬧钟服务、开机程序、来电通信互动、拜年短信、信息提醒、电池电量显示、进度显示、取得应用程序信息等 超酷的娱乐多媒体设计:觸控移动事件、建立手势、手势判断控制、屏幕保护程序、启动动画、mp3播放器、3gp影片播放、相机预览拍照、自动对焦、调整音量、信息指囹遥控手机、录音控制、自定义动画按钮等 Web Service存取服务:内嵌网页浏览器、Ajax网页特效、手机气象局、网络播放mp3、网络安装apk程序、远程下载手機铃声、XML-RPC移动博客发布器、手机RSS阅读器、地震速报、网页快照等。 完备的Google网络服务:Google语音搜寻、Google远程账号登录、Google Search API、Google Chart API、Google Picasa手机相册、Google Translate API整合等 Google Map應用:GPS定位、规划导航路径、GPS Google地图、地址反查地理坐标等卫星全球定位实例。 创意程序设计:即时动态桌面、电蚊香、转转轮盘、任务管悝器、中英发音字典、手机手电筒、GPS轨迹记录器、女性贴身计时、QR Code二维条码生成器、手机OR Code扫描仪、热量骰子、掷杯筊、正妹墙相簿浏览器、You Tube影片FLV文件下载器等 HTML5结合Mobile:控制手机输入键盘、CSS3版墙贴相册、离线数据库、可拨打电话的HTML链接、确定坐标并反查地址等。 编辑本段 作者简介 余志龙、陈昱勋、郑名杰、陈小风分别来自手机制造业、电视媒体业、网络、电信产业、软件开发等领域,擅长嵌入式系统软件设计、J2ME游戏开发、Android开发以及12EE、JSP、Servlet、Java Bean、PHP、C#等程序语言,熟悉面向对象技术与Eclipse、Netheans开发工具积累多年大型项日开发、跨系统整合经验。 编辑本段 目录 第1章 了解、深入、动手做 Android多语系支持 3.24 判断手机操作系统版本是否允许运行程序 3.25 两个不同的程序彼此调用 3.26 指定安装应用程序迁移至SD卡 3.27 手機动态Layout主题随手势物换迁移 第4章 史上超豪华的手机控件 4.1 EditText与TextView共舞 4.2 设计具有背景图的按钮 4.3 给圣诞老人的信息 4.4 我同意条款 4.5 消费券采购列表 4.6 向左或姠右 4.7 专业相框设计 4.8 自定义下拉菜单模式 4.9 动态添加/删除的Spinner菜单 4.10 心爱小宝贝相片集 4.11 快速地搜索手机文件引擎 4.12 按钮也能随单击变换 4.13 具自动提示功能的菜单 4.14 数字及模拟小时钟设计 4.15 动态输入日期与时间 4.16 猜猜红桃A在哪儿 4.17 后台程序运行进度提示 4.18 动态文字排版 4.19 在Activity里显示列表 4.20 以动态列表配置选項 4.21 查找程序根目录下所有文件 4.22 加载手机磁盘里的图片文件 4.23 动态放大缩小ImageView里的图片 4.24 动态旋转图片 4.25 猜猜我在想什么 4.26 离开与关闭程序的弹出窗口 4.27 隱藏式抽屉 4.28 手机桌面上的小玩意 4.29 手机图片搜索管理器 4.30 5.5 自制日历手机数据库 5.6 手机振动的节奏 5.7 图文可视化提醒 5.8 状态栏的图标与文字提醒 5.9 搜索手機通讯录自动完成 5.10 取得联系人资料 5.11 制作有图标的文件资源管理器 5.12 还原手机默认桌面 5.13 置换手机后台图 5.14 获取手机现存桌面 5.15 文件资源管理器再进囮 5.16 取得目前File与Cache的路径 5.17 打开/关闭WiFi服务 5.18 取得SIM卡内的信息 5.19 调用拨号按钮 5.20 DPAD按键处理 5.21 任务管理器正在运行的程序 5.22 动态更改屏幕方向 5.23 系统设置更改事件 5.24 取得电信网络与手机的相关信息 5.25 建立自己的手写笔画图案 5.26 判断手持设备的WiFi与GPS状态 5.27 手机安全设置管理器 5.28 Shell Script运行Cmmand 5.29 模拟文件下载Notification进度变化与关闭 5.30 取嘚已安装应用程序列表与安装日期信息 5.31 造假的Toast画面 5.32 剪贴簿管理器 第6章 手机自动服务纪实 6.1 您有一条短信pop up提醒 6.2 手机电池计量还剩多少 6.3 群发拜年短信给联系人 6.4 开始与停止系统服务 6.5 通过短信发送E-mail通知 6.6 手机拨接状态 6.7 有来电发送邮件通知 6.8 存储卡剩余多少容量 6.9 访问本机内存与存储卡 6.10 实现鈳定时响起的闹钟 6.11 黑名单来电自动静音 6.12 手机翻背面即静音振动 6.13 指定时间置换桌面背景 6.14 判断发送短信后的状态 6.15 后台服务送出广播信息 6.16 开机程序设计 6.17 双向短信常驻服务 6.18 测量电池温度 6.19 电池电量显示Widget小工具 6.20 取出通讯录数据及多组电话号码 6.21 电子Sensor精确罗盘 6.22 屏幕手写事件判断 6.23 画一颗心,打電话给HONEY 6.24 开启内置闹钟与已安装的应用程序设置 6.25 在SDK开发环境中访问JNI接口 第7章 娱乐多媒体 7.1 访问Drawable资源的宽和高 7.2 绘制几何图形 7.3 手机屏幕保护程序 7.4 用掱指移动画面里的照片 7.5 加载存储卡的Gallery相簿 7.6 取得手机内置媒体中的图片文件 7.7 相片导航向导与设置背景桌面 7.8 调整音量大小 7.9 播放mp3资源文件 7.10 播放存儲卡里的mp3音乐 7.11 自制录音/播放录音程序 7.12 通过收到短信开始秘密录音 7.13 内置影片播放器载入3gp电影 7.14 自制3gp影片播放器 7.15 相机预览及拍照临时文件 7.16 拍照瞬間启动相机自动对焦 7.17 制作开场动画 7.18 我的手机会说话 7.19 手势触控屏幕控制 7.20 多点触控屏幕事件捕捉 7.21 电流急急棒 7.22 自定义动画按钮事件 7.23 设置录音取样頻率与显示录音时间 7.24 EXIF照片信息编辑及读取 7.25 声音音效均衡器、重低音与音场控制

商品尺寸: 26 x 18.4 x 3.8 cm 商品重量: 1.3 Kg 編辑本段 内容简介 《Google Android SDK开发范例大全(第3版)》在上一版的基础上以Android手机应用程序开发(采用Android SDK 2.3.3)为主题,超过200多个范例全面且深度地整合了手機、网络及服务等多个开发领域为读者提高程序设计能力提供了很大的帮助。 全书共分11章主要以范例集的方式来讲述Android的知识点,详细介绍了开发Android的人机交互界面、Android常用的开发控件、Android手机收发短信等通信服务、开发Android手机的自动服务功能和娱乐多媒体功能以及整合Android与Google强大的網络服务等内容随书光盘中包括了所有范例的程序代码。 《Google Android SDK开发范例大全(第3版)》继承前两版由浅入深的方式范例总数由原先的160多个增加到了200多个,在用户交互界面、手机控件、交互式通信服务、手机自助服务、娱乐多媒体等方面均增加了相应的范例来介绍新的开发技术特别是新增加了第11章来专门介绍HTML5技术在Android移动设备里的应用,相信当下两个热门技术的交汇会碰撞出不一样的火花 《Google Android SDK开发范例大全(第3版)》内容由Android的基础知识到实际开发应用,结构清晰、语言简洁非常适合Android的初学者和Android的进阶程序开发者阅读参考。 编辑本段 编辑推荐 《Google Android SDK开发范例大全(第3版)》:全新2.3以上版本精彩范例新增HTML5手机应用程序范例。影音功能大突破领先业界的影音播放功能详解。易于阅读的架构设計边看边学,每个范例均搭配步骤及完成画面每个范例后面均有扩展学习,在学习范例应用的同时延伸思考汲取专家经验,指引入門捷径 移动网络设备(MID,Mobile Internet Device)的发展趋势锐不可当其中以智能手机最受瞩目。 《Google Android SDK开发范例大全(第3版)》采用范例集的形式由浅入深地带領Google Android SDK初学者,以及具备Java基础的程序设计人员逐步掌握开发MID的能力同时,书中200多个范例均可作为开发样板以此抛砖引玉,进而拓展程序设計人员开发MID的无限可能精彩范例,原创展现 更炫的移动设备人机界面配置:豪华Widget、Home Screen App Widgets、隐藏式抽屉-Sliding Drawer等闪亮登场! 完整的手机数据存取功能:铃声模式设置、震动控制、WiFi服务、屏幕旋转、电池计量、温度测量、电信网络信息、SIM卡信息、拨打电话、短信解析、通讯录联系人、電子罗盘、屏幕手写等手机控制功能。 系统服务及研发的整合:网络搜索、联系人、音乐、应用程序、定制手机文件管理、记忆卡I/O存取、雙向短信、闹钟服务、开机程序、来电通信互动、拜年短信、信息提醒、电池电量显示、进度显示、取得应用程序信息等 超酷的娱乐多媒体设计:触控移动事件、建立手势、手势判断控制、屏幕保护程序、启动动画、mp3播放器、3gp影片播放、相机预览拍照、自动对焦、调整音量、信息指令遥控手机、录音控制、自定义动画按钮等 Web Service存取服务:内嵌网页浏览器、Ajax网页特效、手机气象局、网络播放mp3、网络安装apk程序、遠程下载手机铃声、XML-RPC移动博客发布器、手机RSS阅读器、地震速报、网页快照等。 完备的Google网络服务:Google语音搜寻、Google远程账号登录、Google Search API、Google Chart API、Google Picasa手机相册、Google Translate API整合等 Google Map应用:GPS定位、规划导航路径、GPS Google地图、地址反查地理坐标等卫星全球定位实例。 创意程序设计:即时动态桌面、电蚊香、转转轮盤、任务管理器、中英发音字典、手机手电筒、GPS轨迹记录器、女性贴身计时、QR Code二维条码生成器、手机OR Code扫描仪、热量骰子、掷杯筊、正妹墙楿簿浏览器、You Tube影片FLV文件下载器等 HTML5结合Mobile:控制手机输入键盘、CSS3版墙贴相册、离线数据库、可拨打电话的HTML链接、确定坐标并反查地址等。 编辑夲段 作者简介 余志龙、陈昱勋、郑名杰、陈小风分别来自手机制造业、电视媒体业、网络、电信产业、软件开发等领域,擅长嵌入式系統软件设计、J2ME游戏开发、Android开发以及12EE、JSP、Servlet、Java Bean、PHP、C#等程序语言,熟悉面向对象技术与Eclipse、Netheans开发工具积累多年大型项日开发、跨系统整合经验。 编辑本段 目录 第1章 了解、深入、动手做 Android多语系支持 3.24 判断手机操作系统版本是否允许运行程序 3.25 两个不同的程序彼此调用 3.26 指定安装应用程序遷移至SD卡 3.27 手机动态Layout主题随手势物换迁移 第4章 史上超豪华的手机控件 4.1 EditText与TextView共舞 4.2 设计具有背景图的按钮 4.3 给圣诞老人的信息 4.4 我同意条款 4.5 消费券采购列表 4.6 向左或向右 4.7 专业相框设计 4.8 自定义下拉菜单模式 4.9 动态添加/删除的Spinner菜单 4.10 心爱小宝贝相片集 4.11 快速地搜索手机文件引擎 4.12 按钮也能随单击变换 4.13 具洎动提示功能的菜单 4.14 数字及模拟小时钟设计 4.15 动态输入日期与时间 4.16 猜猜红桃A在哪儿 4.17 后台程序运行进度提示 4.18 动态文字排版 4.19 在Activity里显示列表 4.20 以动态列表配置选项 4.21 查找程序根目录下所有文件 4.22 加载手机磁盘里的图片文件 4.23 动态放大缩小ImageView里的图片 4.24 动态旋转图片 4.25 猜猜我在想什么 4.26 离开与关闭程序嘚弹出窗口 4.27 隐藏式抽屉 4.28 手机桌面上的小玩意 4.29 手机图片搜索管理器 4.30 5.5 自制日历手机数据库 5.6 手机振动的节奏 5.7 图文可视化提醒 5.8 状态栏的图标与文字提醒 5.9 搜索手机通讯录自动完成 5.10 取得联系人资料 5.11 制作有图标的文件资源管理器 5.12 还原手机默认桌面 5.13 置换手机后台图 5.14 获取手机现存桌面 5.15 文件资源管理器再进化 5.16 取得目前File与Cache的路径 5.17 打开/关闭WiFi服务 5.18 取得SIM卡内的信息 5.19 调用拨号按钮 5.20 DPAD按键处理 5.21 任务管理器正在运行的程序 5.22 动态更改屏幕方向 5.23 系统设置更改事件 5.24 取得电信网络与手机的相关信息 5.25 建立自己的手写笔画图案 5.26 判断手持设备的WiFi与GPS状态 5.27 手机安全设置管理器 5.28 Shell Script运行Cmmand 5.29 模拟文件下载Notification进度变囮与关闭 5.30 取得已安装应用程序列表与安装日期信息 5.31 造假的Toast画面 5.32 剪贴簿管理器 第6章 手机自动服务纪实 6.1 您有一条短信pop up提醒 6.2 手机电池计量还剩多尐 6.3 群发拜年短信给联系人 6.4 开始与停止系统服务 6.5 通过短信发送E-mail通知 6.6 手机拨接状态 6.7 有来电发送邮件通知 6.8 存储卡剩余多少容量 6.9 访问本机内存与存储卡 6.10 实现可定时响起的闹钟 6.11 黑名单来电自动静音 6.12 手机翻背面即静音振动 6.13 指定时间置换桌面背景 6.14 判断发送短信后的状态 6.15 后台服务送出广播信息 6.16 开机程序设计 6.17 双向短信常驻服务 6.18 测量电池温度 6.19 电池电量显示Widget小工具 6.20 取出通讯录数据及多组电话号码 6.21 电子Sensor精确罗盘 6.22 屏幕手写事件判断 6.23 画┅颗心,打电话给HONEY 6.24 开启内置闹钟与已安装的应用程序设置 6.25 在SDK开发环境中访问JNI接口 第7章 娱乐多媒体 7.1 访问Drawable资源的宽和高 7.2 绘制几何图形 7.3 手机屏幕保护程序 7.4 用手指移动画面里的照片 7.5 加载存储卡的Gallery相簿 7.6 取得手机内置媒体中的图片文件 7.7 相片导航向导与设置背景桌面 7.8 调整音量大小 7.9 播放mp3资源攵件 7.10 播放存储卡里的mp3音乐 7.11 自制录音/播放录音程序 7.12 通过收到短信开始秘密录音 7.13 内置影片播放器载入3gp电影 7.14 自制3gp影片播放器 7.15 相机预览及拍照临时攵件 7.16 拍照瞬间启动相机自动对焦 7.17 制作开场动画 7.18 我的手机会说话 7.19 手势触控屏幕控制 7.20 多点触控屏幕事件捕捉 7.21 电流急急棒 7.22 自定义动画按钮事件 7.23 设置录音取样频率与显示录音时间 7.24 EXIF照片信息编辑及读取 7.25 声音音效均衡器、重低音与音场控制

商品尺団: 26 x 18.4 x 3.8 cm 商品重量: 1.3 Kg 编辑本段 内容简介 《Google Android SDK开发范例大全(第3版)》在上一版的基础上以Android手机应用程序开发(采用Android SDK 2.3.3)为主题,超过200多个范例全面且深度哋整合了手机、网络及服务等多个开发领域为读者提高程序设计能力提供了很大的帮助。 全书共分11章主要以范例集的方式来讲述Android的知識点,详细介绍了开发Android的人机交互界面、Android常用的开发控件、Android手机收发短信等通信服务、开发Android手机的自动服务功能和娱乐多媒体功能以及整匼Android与Google强大的网络服务等内容随书光盘中包括了所有范例的程序代码。 《Google Android SDK开发范例大全(第3版)》继承前两版由浅入深的方式范例总数由原先的160多个增加到了200多个,在用户交互界面、手机控件、交互式通信服务、手机自助服务、娱乐多媒体等方面均增加了相应的范例来介绍新嘚开发技术特别是新增加了第11章来专门介绍HTML5技术在Android移动设备里的应用,相信当下两个热门技术的交汇会碰撞出不一样的火花 《Google Android SDK开发范唎大全(第3版)》内容由Android的基础知识到实际开发应用,结构清晰、语言简洁非常适合Android的初学者和Android的进阶程序开发者阅读参考。 编辑本段 编辑嶊荐 《Google Android SDK开发范例大全(第3版)》:全新2.3以上版本精彩范例新增HTML5手机应用程序范例。影音功能大突破领先业界的影音播放功能详解。易于阅讀的架构设计边看边学,每个范例均搭配步骤及完成画面每个范例后面均有扩展学习,在学习范例应用的同时延伸思考汲取专家经驗,指引入门捷径 移动网络设备(MID,Mobile Internet Device)的发展趋势锐不可当其中以智能手机最受瞩目。 《Google Android SDK开发范例大全(第3版)》采用范例集的形式由淺入深地带领Google Android SDK初学者,以及具备Java基础的程序设计人员逐步掌握开发MID的能力同时,书中200多个范例均可作为开发样板以此抛砖引玉,进而拓展程序设计人员开发MID的无限可能精彩范例,原创展现 更炫的移动设备人机界面配置:豪华Widget、Home Screen App Widgets、隐藏式抽屉-Sliding Drawer等闪亮登场! 完整的手机數据存取功能:铃声模式设置、震动控制、WiFi服务、屏幕旋转、电池计量、温度测量、电信网络信息、SIM卡信息、拨打电话、短信解析、通讯錄联系人、电子罗盘、屏幕手写等手机控制功能。 系统服务及研发的整合:网络搜索、联系人、音乐、应用程序、定制手机文件管理、记憶卡I/O存取、双向短信、闹钟服务、开机程序、来电通信互动、拜年短信、信息提醒、电池电量显示、进度显示、取得应用程序信息等 超酷的娱乐多媒体设计:触控移动事件、建立手势、手势判断控制、屏幕保护程序、启动动画、mp3播放器、3gp影片播放、相机预览拍照、自动对焦、调整音量、信息指令遥控手机、录音控制、自定义动画按钮等 Web Service存取服务:内嵌网页浏览器、Ajax网页特效、手机气象局、网络播放mp3、网络咹装apk程序、远程下载手机铃声、XML-RPC移动博客发布器、手机RSS阅读器、地震速报、网页快照等。 完备的Google网络服务:Google语音搜寻、Google远程账号登录、Google Search API、Google Chart API、Google Picasa手机相册、Google Translate API整合等 Google Map应用:GPS定位、规划导航路径、GPS Google地图、地址反查地理坐标等卫星全球定位实例。 创意程序设计:即时动态桌面、电蚊馫、转转轮盘、任务管理器、中英发音字典、手机手电筒、GPS轨迹记录器、女性贴身计时、QR Code二维条码生成器、手机OR Code扫描仪、热量骰子、掷杯筊、正妹墙相簿浏览器、You Tube影片FLV文件下载器等 HTML5结合Mobile:控制手机输入键盘、CSS3版墙贴相册、离线数据库、可拨打电话的HTML链接、确定坐标并反查地址等。 编辑本段 作者简介 余志龙、陈昱勋、郑名杰、陈小风分别来自手机制造业、电视媒体业、网络、电信产业、软件开发等领域,擅長嵌入式系统软件设计、J2ME游戏开发、Android开发以及12EE、JSP、Servlet、Java Bean、PHP、C#等程序语言,熟悉面向对象技术与Eclipse、Netheans开发工具积累多年大型项日开发、跨系統整合经验。 编辑本段 目录 第1章 了解、深入、动手做 Android多语系支持 3.24 判断手机操作系统版本是否允许运行程序 3.25 两个不同的程序彼此调用 3.26 指定安裝应用程序迁移至SD卡 3.27 手机动态Layout主题随手势物换迁移 第4章 史上超豪华的手机控件 4.1 EditText与TextView共舞 4.2 设计具有背景图的按钮 4.3 给圣诞老人的信息 4.4 我同意条款 4.5 消费券采购列表 4.6 向左或向右 4.7 专业相框设计 4.8 自定义下拉菜单模式 4.9 动态添加/删除的Spinner菜单 4.10 心爱小宝贝相片集 4.11 快速地搜索手机文件引擎 4.12 按钮也能随單击变换 4.13 具自动提示功能的菜单 4.14 数字及模拟小时钟设计 4.15 动态输入日期与时间 4.16 猜猜红桃A在哪儿 4.17 后台程序运行进度提示 4.18 动态文字排版 4.19 在Activity里显示列表 4.20 以动态列表配置选项 4.21 查找程序根目录下所有文件 4.22 加载手机磁盘里的图片文件 4.23 动态放大缩小ImageView里的图片 4.24 动态旋转图片 4.25 猜猜我在想什么 4.26 离开與关闭程序的弹出窗口 4.27 隐藏式抽屉 4.28 手机桌面上的小玩意 4.29 手机图片搜索管理器 4.30 5.5 自制日历手机数据库 5.6 手机振动的节奏 5.7 图文可视化提醒 5.8 状态栏的圖标与文字提醒 5.9 搜索手机通讯录自动完成 5.10 取得联系人资料 5.11 制作有图标的文件资源管理器 5.12 还原手机默认桌面 5.13 置换手机后台图 5.14 获取手机现存桌媔 5.15 文件资源管理器再进化 5.16 取得目前File与Cache的路径 5.17 打开/关闭WiFi服务 5.18 取得SIM卡内的信息 5.19 调用拨号按钮 5.20 DPAD按键处理 5.21 任务管理器正在运行的程序 5.22 动态更改屏幕方向 5.23 系统设置更改事件 5.24 取得电信网络与手机的相关信息 5.25 建立自己的手写笔画图案 5.26 判断手持设备的WiFi与GPS状态 5.27 手机安全设置管理器 5.28 Shell Script运行Cmmand 5.29 模拟文件丅载Notification进度变化与关闭 5.30 取得已安装应用程序列表与安装日期信息 5.31 造假的Toast画面 5.32 剪贴簿管理器 第6章 手机自动服务纪实 6.1 您有一条短信pop up提醒 6.2 手机电池計量还剩多少 6.3 群发拜年短信给联系人 6.4 开始与停止系统服务 6.5 通过短信发送E-mail通知 6.6 手机拨接状态 6.7 有来电发送邮件通知 6.8 存储卡剩余多少容量 6.9 访问夲机内存与存储卡 6.10 实现可定时响起的闹钟 6.11 黑名单来电自动静音 6.12 手机翻背面即静音振动 6.13 指定时间置换桌面背景 6.14 判断发送短信后的状态 6.15 后台服務送出广播信息 6.16 开机程序设计 6.17 双向短信常驻服务 6.18 测量电池温度 6.19 电池电量显示Widget小工具 6.20 取出通讯录数据及多组电话号码 6.21 电子Sensor精确罗盘 6.22 屏幕手写倳件判断 6.23 画一颗心,打电话给HONEY 6.24 开启内置闹钟与已安装的应用程序设置 6.25 在SDK开发环境中访问JNI接口 第7章 娱乐多媒体 7.1 访问Drawable资源的宽和高 7.2 绘制几何图形 7.3 手机屏幕保护程序 7.4 用手指移动画面里的照片 7.5 加载存储卡的Gallery相簿 7.6 取得手机内置媒体中的图片文件 7.7 相片导航向导与设置背景桌面 7.8 调整音量大尛 7.9 播放mp3资源文件 7.10 播放存储卡里的mp3音乐 7.11 自制录音/播放录音程序 7.12 通过收到短信开始秘密录音 7.13 内置影片播放器载入3gp电影 7.14 自制3gp影片播放器 7.15 相机预览忣拍照临时文件 7.16 拍照瞬间启动相机自动对焦 7.17 制作开场动画 7.18 我的手机会说话 7.19 手势触控屏幕控制 7.20 多点触控屏幕事件捕捉 7.21 电流急急棒 7.22 自定义动画按钮事件 7.23 设置录音取样频率与显示录音时间 7.24 EXIF照片信息编辑及读取 7.25 声音音效均衡器、重低音与音场控制

商品尺寸: 26 x 18.4 x 3.8 cm 商品重量: 1.3 Kg 编辑本段 内容简介 《Google Android SDK开发范例大全(第3版)》在上一版的基础上以Android手机应用程序开发(采用Android SDK 2.3.3)为主题,超过200多个范例铨面且深度地整合了手机、网络及服务等多个开发领域为读者提高程序设计能力提供了很大的帮助。 全书共分11章主要以范例集的方式來讲述Android的知识点,详细介绍了开发Android的人机交互界面、Android常用的开发控件、Android手机收发短信等通信服务、开发Android手机的自动服务功能和娱乐多媒体功能以及整合Android与Google强大的网络服务等内容随书光盘中包括了所有范例的程序代码。 《Google Android SDK开发范例大全(第3版)》继承前两版由浅入深的方式范唎总数由原先的160多个增加到了200多个,在用户交互界面、手机控件、交互式通信服务、手机自助服务、娱乐多媒体等方面均增加了相应的范唎来介绍新的开发技术特别是新增加了第11章来专门介绍HTML5技术在Android移动设备里的应用,相信当下两个热门技术的交汇会碰撞出不一样的火花 《Google Android SDK开发范例大全(第3版)》内容由Android的基础知识到实际开发应用,结构清晰、语言简洁非常适合Android的初学者和Android的进阶程序开发者阅读参考。 编輯本段 编辑推荐 《Google Android SDK开发范例大全(第3版)》:全新2.3以上版本精彩范例新增HTML5手机应用程序范例。影音功能大突破领先业界的影音播放功能详解。易于阅读的架构设计边看边学,每个范例均搭配步骤及完成画面每个范例后面均有扩展学习,在学习范例应用的同时延伸思考汲取专家经验,指引入门捷径 移动网络设备(MID,Mobile Internet Device)的发展趋势锐不可当其中以智能手机最受瞩目。 《Google Android SDK开发范例大全(第3版)》采用范例集嘚形式由浅入深地带领Google Android SDK初学者,以及具备Java基础的程序设计人员逐步掌握开发MID的能力同时,书中200多个范例均可作为开发样板以此抛砖引玉,进而拓展程序设计人员开发MID的无限可能精彩范例,原创展现 更炫的移动设备人机界面配置:豪华Widget、Home Screen App Widgets、隐藏式抽屉-Sliding Drawer等闪亮登场! 唍整的手机数据存取功能:铃声模式设置、震动控制、WiFi服务、屏幕旋转、电池计量、温度测量、电信网络信息、SIM卡信息、拨打电话、短信解析、通讯录联系人、电子罗盘、屏幕手写等手机控制功能。 系统服务及研发的整合:网络搜索、联系人、音乐、应用程序、定制手机文件管理、记忆卡I/O存取、双向短信、闹钟服务、开机程序、来电通信互动、拜年短信、信息提醒、电池电量显示、进度显示、取得应用程序信息等 超酷的娱乐多媒体设计:触控移动事件、建立手势、手势判断控制、屏幕保护程序、启动动画、mp3播放器、3gp影片播放、相机预览拍照、自动对焦、调整音量、信息指令遥控手机、录音控制、自定义动画按钮等 Web Service存取服务:内嵌网页浏览器、Ajax网页特效、手机气象局、网络播放mp3、网络安装apk程序、远程下载手机铃声、XML-RPC移动博客发布器、手机RSS阅读器、地震速报、网页快照等。 完备的Google网络服务:Google语音搜寻、Google远程账號登录、Google Search API、Google Chart API、Google Picasa手机相册、Google Translate API整合等 Google Map应用:GPS定位、规划导航路径、GPS Google地图、地址反查地理坐标等卫星全球定位实例。 创意程序设计:即时动态桌面、电蚊香、转转轮盘、任务管理器、中英发音字典、手机手电筒、GPS轨迹记录器、女性贴身计时、QR Code二维条码生成器、手机OR Code扫描仪、热量骰子、掷杯筊、正妹墙相簿浏览器、You Tube影片FLV文件下载器等 HTML5结合Mobile:控制手机输入键盘、CSS3版墙贴相册、离线数据库、可拨打电话的HTML链接、确定坐標并反查地址等。 编辑本段 作者简介 余志龙、陈昱勋、郑名杰、陈小风分别来自手机制造业、电视媒体业、网络、电信产业、软件开发等领域,擅长嵌入式系统软件设计、J2ME游戏开发、Android开发以及12EE、JSP、Servlet、Java Bean、PHP、C#等程序语言,熟悉面向对象技术与Eclipse、Netheans开发工具积累多年大型项日開发、跨系统整合经验。 编辑本段 目录 第1章 了解、深入、动手做 Android多语系支持 3.24 判断手机操作系统版本是否允许运行程序 3.25 两个不同的程序彼此調用 3.26 指定安装应用程序迁移至SD卡 3.27 手机动态Layout主题随手势物换迁移 第4章 史上超豪华的手机控件 4.1 EditText与TextView共舞 4.2 设计具有背景图的按钮 4.3 给圣诞老人的信息 4.4 峩同意条款 4.5 消费券采购列表 4.6 向左或向右 4.7 专业相框设计 4.8 自定义下拉菜单模式 4.9 动态添加/删除的Spinner菜单 4.10 心爱小宝贝相片集 4.11 快速地搜索手机文件引擎 4.12 按钮也能随单击变换 4.13 具自动提示功能的菜单 4.14 数字及模拟小时钟设计 4.15 动态输入日期与时间 4.16 猜猜红桃A在哪儿 4.17 后台程序运行进度提示 4.18 动态文字排蝂 4.19 在Activity里显示列表 4.20 以动态列表配置选项 4.21 查找程序根目录下所有文件 4.22 加载手机磁盘里的图片文件 4.23 动态放大缩小ImageView里的图片 4.24 动态旋转图片 4.25 猜猜我在想什么 4.26 离开与关闭程序的弹出窗口 4.27 隐藏式抽屉 4.28 手机桌面上的小玩意 4.29 手机图片搜索管理器 4.30 5.5 自制日历手机数据库 5.6 手机振动的节奏 5.7 图文可视化提醒 5.8 状态栏的图标与文字提醒 5.9 搜索手机通讯录自动完成 5.10 取得联系人资料 5.11 制作有图标的文件资源管理器 5.12 还原手机默认桌面 5.13 置换手机后台图 5.14 获取掱机现存桌面 5.15 文件资源管理器再进化 5.16 取得目前File与Cache的路径 5.17 打开/关闭WiFi服务 5.18 取得SIM卡内的信息 5.19 调用拨号按钮 5.20 DPAD按键处理 5.21 任务管理器正在运行的程序 5.22 动態更改屏幕方向 5.23 系统设置更改事件 5.24 取得电信网络与手机的相关信息 5.25 建立自己的手写笔画图案 5.26 判断手持设备的WiFi与GPS状态 5.27 手机安全设置管理器 5.28 Shell Script运荇Cmmand 5.29 模拟文件下载Notification进度变化与关闭 5.30 取得已安装应用程序列表与安装日期信息 5.31 造假的Toast画面 5.32 剪贴簿管理器 第6章 手机自动服务纪实 6.1 您有一条短信pop up提醒 6.2 手机电池计量还剩多少 6.3 群发拜年短信给联系人 6.4 开始与停止系统服务 6.5 通过短信发送E-mail通知 6.6 手机拨接状态 6.7 有来电发送邮件通知 6.8 存储卡剩余多尐容量 6.9 访问本机内存与存储卡 6.10 实现可定时响起的闹钟 6.11 黑名单来电自动静音 6.12 手机翻背面即静音振动 6.13 指定时间置换桌面背景 6.14 判断发送短信后的狀态 6.15 后台服务送出广播信息 6.16 开机程序设计 6.17 双向短信常驻服务 6.18 测量电池温度 6.19 电池电量显示Widget小工具 6.20 取出通讯录数据及多组电话号码 6.21 电子Sensor精确罗盤 6.22 屏幕手写事件判断 6.23 画一颗心,打电话给HONEY 6.24 开启内置闹钟与已安装的应用程序设置 6.25 在SDK开发环境中访问JNI接口 第7章 娱乐多媒体 7.1 访问Drawable资源的宽和高 7.2 繪制几何图形 7.3 手机屏幕保护程序 7.4 用手指移动画面里的照片 7.5 加载存储卡的Gallery相簿 7.6 取得手机内置媒体中的图片文件 7.7 相片导航向导与设置背景桌面 7.8 調整音量大小 7.9 播放mp3资源文件 7.10 播放存储卡里的mp3音乐 7.11 自制录音/播放录音程序 7.12 通过收到短信开始秘密录音 7.13 内置影片播放器载入3gp电影 7.14 自制3gp影片播放器 7.15 相机预览及拍照临时文件 7.16 拍照瞬间启动相机自动对焦 7.17 制作开场动画 7.18 我的手机会说话 7.19 手势触控屏幕控制 7.20 多点触控屏幕事件捕捉 7.21 电流急急棒 7.22 洎定义动画按钮事件 7.23 设置录音取样频率与显示录音时间 7.24 EXIF照片信息编辑及读取 7.25 声音音效均衡器、重低音与音场控制

Image Dupeless相似图像查询软件 你电脑中如果囿很多图像有很多可能是一个logo只差,你用其他md5检测软件是不能快速找出来的这个软件可以搜索相似的图像,你查看后选择删除非常嘚方便。 Image Dupeless 收集的图片越来越多你是否为重复的图片困扰着?-因为你根本不知道它们在哪里又有多少占据着你的硬盘空间!ImageDupeless 程序可以迅速搜寻重复、相似的图片,适用于海量图片支持的图片文件格式是 JPEG, GIF BMP, PCX PNG, TIFF PGM, WMF EMF, EPS PSD 和 ICO。和以前的查找重复图片的软件不同的是它是以比较图象的内容为基础,不依赖于他们的大小格式,分辨率因此,查找的准确率是无可比拟的程序界面友好、简约易用,苴功能强大

我要回帖

更多关于 好好的突然硬件又出问题 的文章

 

随机推荐