第4章 View的工作原理

一、ViewRoot 和 DecorView

  • ViewRoot对应于ViewRootImpl 类,它是连接WIndowManager 和 DecorView的纽带,View的三大流程均是通过VIewRoot来完成的,在ActivityThread中,当Activity对象被创建后,会将DecorView 添加到Window中,同时会创建VIewRootImpl对象,并将ViewRootImpl对象和DecorView建立关联

  • View 的绘制流程是从ViewRoot的 performTraversals 方法开始的,performTraversals 依次调用 performMeasure、performLayout 和 performDraw,这三个方法分别完成顶级View的measure、layout 和 draw

  • performMeasure -> measure -> onMeasure,对子元素进行measure(layout 和 draw类似)

  • measure过程决定了View的宽/高,getMeasuredwidth/getMeasuredHeight,除特殊情况外它都等于View的最终宽/高;Layout过程决定View的四个顶点坐标和实际宽/高,getTop/getBottom/getLeft/getRight/getWidth/getHeight;Draw决定View的显示

  • DecorView作为顶级View,包含上下两个部分,上面是标题栏,下面是内容栏,Activity中 setContentView 所设置的布局是被加到内容栏;View层的事件都先经过DecorView 然后传递给我们的View

二、MeasureSpec

MeasureSpec代表一个32位的int值,高 2 位代表SpecMode 测量模式,低30位代表 SpecSize 规格大小

1. SpecMode有三类
  • UNSPECIFIED:父容器不对View有任何限制,要多大有多大,一般用于系统内部

  • EXACTLY:父容器已经检测说View所需要的的精确大小,View的最终大小就是SpecSize指定的值,对应于 match_parent 和 具体数值两种模式

  • AT_MOST:父容器指定了一个可用大小即SpecSize,View的大小不能大于这个值,对应于 wrap_content

2. MeasureSpec 和 LayoutParams

对于顶级View(DecorView),其MeasureSpec由窗口的尺寸和其自身的LayoutParams来共同确定;

对于普通View,其MeasureSpec由父容器的MeasureSpec和自身的LayoutParams来共同确定

3. View 的measure

View的measure过程由ViewGrou传递而来,ViewGroup 的 measureChildWithMargins

protected void measureChildWithMargins(View child,
            int parentWidthMeasureSpec, int widthUsed,
            int parentHeightMeasureSpec, int heightUsed) {
        final MarginLayoutParams lp = (MarginLayoutParams) child.getLayoutParams();

        final int childWidthMeasureSpec = getChildMeasureSpec(parentWidthMeasureSpec,
                mPaddingLeft + mPaddingRight + lp.leftMargin + lp.rightMargin
                        + widthUsed, lp.width);
        final int childHeightMeasureSpec = getChildMeasureSpec(parentHeightMeasureSpec,
                mPaddingTop + mPaddingBottom + lp.topMargin + lp.bottomMargin
                        + heightUsed, lp.height);

        child.measure(childWidthMeasureSpec, childHeightMeasureSpec);
    }
4. 注意
  • 当View采用固定宽/高的时候,不管父容器的 MeasureSpec是什么,View的MeasureSpec 都是精确模式且遵循Layoutparams中的大小
  • 当View的宽/高是 match_parent 时,如果父容器是最大模式,那么子View也是最大模式,且不超过父容器的剩余空间
  • 当View的宽/高是 wrap_content 时,不管父容器的模式是精准还是最大化,View的模式总是最大化,且不超过父容器的剩余空间

三、View的工作流程

1. measure 过程
1)View 的 measure过程

View 的measure过程由其measure方法来完成,measure方法是一个final类型的方法,子类不能重写,measure方法中会去调用 onMeasure->setMeasuredDimension方法会设置View 宽/高的测量值

protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        setMeasuredDimension(getDefaultSize(getSuggestedMinimumWidth(), widthMeasureSpec),
                getDefaultSize(getSuggestedMinimumHeight(), heightMeasureSpec));
    }
2)ViewGroup 的 measure过程

ViewGroup 除了完成自己的measure,还会遍历去调用所有子元素的measure,各个子元素再递归去执行这个过程。ViewGroup 是一个抽象类,没有重写 onMeasure,其测量过程的onMeasure 方法需要各个子类去具体实现,但提供了 measureChildren方法,ViewGroup 在measure时,会对每一个子元素进行measure

protected void measureChildren(int widthMeasureSpec, int heightMeasureSpec) {
        final int size = mChildrenCount;
        final View[] children = mChildren;
        for (int i = 0; i < size; ++i) {
            final View child = children[i];
            if ((child.mViewFlags & VISIBILITY_MASK) != GONE) {
                measureChild(child, widthMeasureSpec, heightMeasureSpec);
            }
        }
    }
3)异步获取View宽高

如果想在onCreate等方法里获取View的宽高,有4种方式:

  • Activity/View#onWindowFocusChanged

onWindowFocusChanged 表示View已经初始化完毕,宽高已经准备好,在Activity的窗口得到和失去焦点时均会被调用

  • view.post(runnable)
  • ViewTreeObserver#onGlobalLayoutListener
  • view.measure 手动measure
2. Layout 过程

ViewGroup的位置被确定后,onLayout中会遍历所有的子元素并调用其 layout方法,在layout方法中 onLayout方法又会被调用;layout方法确定View 本身的位置,onLayout方法确定所有子元素的位置

View 和 ViewGroup 均没有真正实现 onLayout

3. Draw 过程
  • 绘制背景 background.draw(canvas)
  • 绘制自己 (onDraw)
  • 绘制 children (dispatchDraw)
  • 绘制装饰(onDrawScrollBars)

四、自定义View

1. 分类
1)继承View重写onDraw方法
2)继承ViewGroup 派生特殊的 Layout
3)继承特定的View
4)继承特定的ViewGroup
2. 一些注意
1)让View支持 wrap_content
2)如果有必要,让View支持 padding
3)尽量不要再View中使用 Handler
4)View中如果有线程或者动画,需要及时停止 View#onDetachedFromWindow
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第1 绪论 1 1.1 云计算的概念 1 1.2 云计算发展现状 3 1.3 云计算实现机制 5 1.4 网格计算与云计算 6 1.5 云计算的发展环境 9 1.5.1 云计算与3G 9 1.5.2 云计算与物联网 9 1.5.3 云计算与移动互联网 10 1.5.4 云计算与三网融合 11 1.6 云计算压倒性的成本优势 12 习题 15 参考文献 15 第2 Google云计算原理与应用 17 2.1 Google文件系统GFS 17 2.1.1 系统架构 18 2.1.2 容错机制 20 2.1.3 系统管理技术 20 2.2 分布式数据处理MapReduce 21 2.2.1 产生背景 21 2.2.2 编程模型 22 2.2.3 实现机制 22 2.2.4 案例分析 24 2.3 分布式锁服务Chubby 25 2.3.1 Paxos算法 26 2.3.2 Chubby系统设计 27 2.3.3 Chubby中的Paxos 29 2.3.4 Chubby文件系统 31 2.3.5 通信协议 32 2.3.6 正确性与性能 34 2.4 分布式结构化数据表Bigtable 35 2.4.1 设计动机与目标 35 2.4.2 数据模型 36 2.4.3 系统架构 37 2.4.4 主服务器 38 2.4.5 子表服务器 39 2.4.6 性能优化 42 2.5 分布式存储系统Megastore 43 2.5.1 设计目标及方案选择 44 2.5.2 Megastore数据模型 44 2.5.3 Megastore中的事务及并发控制 46 2.5.4 Megastore基本架构 47 2.5.5 核心技术——复制 49 2.5.6 产品性能及控制措施 52 2.6 大规模分布式系统的监控基础架构Dapper 54 2.6.1 基本设计目标 54 2.6.2 Dapper监控系统简介 54 2.6.3 关键性技术 57 2.6.4 常用Dapper工具 58 2.6.5 Dapper使用经验 60 2.7 Google应用程序引擎 62 2.7.1 Google App Engine简介 62 2.7.2 应用程序环境 63 2.7.3 Google App Engine服务 65 2.7.4 Google App Engine编程实践 72 习题 86 参考文献 86 第3 Amazon云计算AWS 88 3.1 Amazon平台基础存储架构:Dynamo 88 3.1.1 Dynamo在Amazon服务平台的地位 88 3.1.2 Dynamo架构的主要技术 89 3.2 弹性计算云EC2 97 3.2.1 EC2的主要特性 97 3.2.2 EC2基本架构及主要概念 97 3.2.3 EC2的关键技术 99 3.3.4 EC2安全及容错机制 101 3.3 简单存储服务S3 102 3.3.1 基本概念和操作 102 3.3.2 数据一致性模型 104 3.3.3 S3安全措施 105 3.4 简单队列服务SQS 107 3.4.1 SQS基本模型 107 3.4.2 两个重要概念 107 3.4.3 消息 108 3.4.4 身份认证 109 3.5 简单数据库服务Simple DB 109 3.5.1 重要概念 110 3.5.2 存在的问题及解决办法 112 3.5.3 Simple DB和其他AWS的结合使用 112 3.6 关系数据库服务RDS 113 3.6.1 SQL和NoSQL数据库的对比 113 3.6.2 RDS数据库原理 114 3.6.3 RDS的使用 115 3.7 内容推送服务CloudFront 115 3.7.1 内容推送网络CDN 115 3.7.2 云内容推送CloudFront 117 3.8 其他Amazon云计算服务 119 3.8.1 快速应用部署Elastic Beanstalk和服务模板CloudFormation 119 3.8.2 云中的DNS服务 Router 53 119 3.8.3 虚拟私有云VPC 120 3.8.4 简单通知服务SNS和简单邮件服务SES 120 3.8.5 弹性MapReduce服务 120 3.8.6 电子商务服务DevPay、FPS和Simple Pay 122 3.8.7 Amazon执行网络服务 126 3.8.8 土耳其机器人 127 3.8.9 Alexa Web服务 128 3.9 AWS应用实例 129 3.9.1 在线照片存储共享网站SmugMug 129 3.9.2 在线视频制作网站Animoto 130 3.10 小结 131 习题 131 参考文献 131 第4 微软云计算Windows Azure 135 4.1 微软云计算平台 135 4.2 微软云操作系统Windows Azure 136 4.2.1 Windows Azure概述 136 4.2.2 Windows Azure计算服务 137 4.2.3 Windows Azure存储服务 138 4.2.4 Windows Azure Connect 152 4.2.5 Windows Azure CDN 153 4.2.6 Fabric控制器 153 4.2.7 Windows Azure应用场景 155 4.3 微软云关系数据库SQL Azure 157 4.3.1 SQL Azure概述 157 4.3.2 SQL Azure关键技术 158 4.3.3 SQL Azure应用场景 160 4.3.4 SQL Azure和SQL Server对比 162 4.4 Windows Azure AppFabric 163 4.4.1 AppFabric概述 163 4.4.2 AppFabric关键技术 164 4.5 Windows Azure Marketplace 167 4.6 微软云计算编程实践 168 4.6.1 利用Visual Studio2010开发简单的云应用程序 168 4.6.2 向Windows Azure平台发布应用程序 170 习题 173 参考文献 173 第5 VMware云计算 174 5.1 VMware云产品简介 174 5.1.1 VMware云战略三层架构 174 5.1.2 VMware vSphere架构 175 5.1.3 云操作系统vSphere 176 5.1.4 底层架构服务vCloud Service Director 177 5.1.5 虚拟桌面产品VMware View 178 5.2 云管理平台 vCenter 179 5.2.1 虚拟机迁移工具 179 5.2.2 虚拟机数据备份恢复工具 181 5.2.3 虚拟机安全工具 181 5.2.4 可靠性组件FT和HA 182 5.3 云架构服务提供平台vCloud Service Director 182 5.3.1 创建虚拟数据中心和组织 183 5.3.2 网络的设计 184 5.3.3 目录管理 184 5.3.4 计费功能 184 5.4 VMware的网络和存储虚拟化 184 5.4.1 网络虚拟化 184 5.4.2 存储虚拟化 186 习题 188 参考文献 188 第6 Hadoop:Google云计算的开源实现 189 6.1 Hadoop简介 189 6.2 Hadoop分布式文件系统HDFS 190 6.2.1 设计前提与目标 190 6.2.2 体系结构 191 6.2.3 保障可靠性的措施 192 6.2.4 提升性能的措施 194 6.2.5 访问接口 195 6.3 分布式数据处理MapReduce 196 6.3.1 逻辑模型 196 6.3.2 实现机制 196 6.4 分布式结构化数据表HBase 197 6.4.1 逻辑模型 198 6.4.2 物理模型 198 6.4.3 子表服务器 199 6.4.4 主服务器 199 6.4.5 元数据表 200 6.5 Hadoop安装 200 6.5.1 在Linux系统中安装Hadoop 200 6.5.2 在Windows系统中安装Hadoop 208 6.6 HDFS使用 215 6.6.1 HDFS 常用命令 215 6.6.2 HDFS 基准测试 219 6.7 HBase安装使用 219 6.7.1 HBase的安装配置 219 6.7.2 HBase的执行 220 6.7.3 Hbase编程实例 221 6.8 MapReduce编程 223 6.8.1 矩阵相乘算法设计 223 6.8.2 编程实现 224 习题 226 参考文献 226 第7 Eucalyptus:Amazon云计算的开源实现 228 7.1 Eucalyptus简介 228 7.2 Eucalyptus技术实现 229 7.2.1 体系结构 229 7.2.2 主要构件 230 7.2.3 访问接口 230 7.2.4 服务等级协议 231 7.2.5 虚拟组网 232 7.3 Eucalyptus安装与使用 233 7.3.1 在Linux系统中安装Eucalyptus 233 7.3.2 Eucalyptus配置和管理 236 7.3.3 Eucalyptus常用命令的示例和说明 238 习题 240 参考文献 240 第8 其他开源云计算系统 241 8.1 简介 241 8.1.1 Cassandra 241 8.1.2 Hive 242 8.1.3 VoltDB 242 8.1.4 Enomaly ECP 243 8.1.5 Nimbus 244 8.1.6 Sector and Sphere 245 8.1.7 abiquo 247 8.1.8 MongoDB 247 8.2 Cassandra 249 8.2.1 体系结构 249 8.2.2 数据模型 250 8.2.3 存储机制 251 8.2.4 读/写删过程 252 8.3 Hive 254 8.3.1 整体构架 254 8.3.2 数据模型 255 8.3.3 HQL语言 257 8.3.4 环境搭建 259 8.4 VoltDB 260 8.4.1 整体架构 260 8.4.2 自动数据分片技术 261 习题 264 参考文献 264 第9 云计算仿真器CloudSim 265 9.1 CloudSim简介 265 9.2 CloudSim体系结构 265 9.2.1 CloudSim核心模拟引擎 266 9.2.2 CloudSim层 268 9.2.3 用户代码层 271 9.3 CloudSim技术实现 271 9.4 CloudSim的使用方法 274 9.4.1 环境配置 274 9.4.2 运行样例程序 274 9.5 CloudSim的扩展 277 9.5.1 调度策略的扩展 277 9.5.2 仿真核心代码 280 9.5.3 平台重编译 286 习题 287 参考文献 287 第10 云计算研究热点 288 10.1 云计算体系结构研究 288 10.1.1 Youseff划分方法 288 10.1.2 Lenk划分方法 290 10.2 云计算关键技术研究 292 10.2.1 虚拟化技术 292 10.2.2 数据存储技术 293 10.2.3 资源管理技术 295 10.2.4 能耗管理技术 298 10.2.5 云监测技术 301 10.3 编程模型研究 303 10.3.1 All-Pairs编程模型 303 10.3.2 GridBatch编程模型 304 10.3.3 其他编程模型 305 10.4 支撑平台研究 306 10.4.1 Cumulus:数据中心科学云 306 10.4.2 CARMEN:e-Science云计算 307 10.4.3 RESERVOIR:云服务融合平台 308 10.4.4 TPlatform:Hadoop的变种 309 10.4.5 P2P环境的MapReduce 309 10.4.6 Yahoo云计算平台 311 10.4.7 微软的Dryad框架 311 10.4.8 Neptune框架 312 10.5 应用研究 313 10.5.1 语义分析应用 313 10.5.2 生物学应用 314 10.5.3 数据库应用 315 10.5.4 地理信息应用 316 10.5.5 商业应用 317 10.5.6 医学应用 318 10.5.7 社会智能应用 319 10.6 云安全研究 321 10.6.1 Anti-Spam Grid:反垃圾邮件网格 321 10.6.2 CloudAV:终端恶意软件检测 323 10.6.3 AMSDS:恶意软件签名自动检测 324 10.6.4 CloudSEC:协作安全服务体系结构 325 习题 327 参考文献 327 第11 总结与展望 332 11.1 主流商业云计算解决方案比较 332 11.1.1 应用场景 332 11.1.2 使用流程 334 11.1.3 体系结构 335 11.1.4 实现技术 335 11.1.5 核心业务 336 11.2 主流开源云计算系统比较 338 11.2.1 开发目的 338 11.2.2 体系结构 339 11.2.3 实现技术 340 11.2.4 核心服务 340 11.3 国内代表性云计算平台比较 341 11.3.1 中国移动“大云” 341 11.3.2 阿里巴巴“阿里云” 343 11.3.3 “大云”与“阿里云”的比较 343 11.4 云计算的历史坐标与发展方向 344 11.4.1 互联网发展的阶段划分 344 11.4.2 云格(Gloud)——云计算的未来 347 习题 349 参考文献 349
结合EDA工具—动态仿真软件SystemView,介绍数字通信系统的仿真和分析方法以及数字通信系统设计和开发的新手段,并力求通过实例使读者掌握和精通System View动态仿真软件。 本书内容分为5,分别介绍SystemView动态仿真软件的基本使用方法、主要功能及其开放式的设计环境;数字滤波器和位真DSP的仿真设计方法以及与FPGA/DSP设计工具的接口;数字载波通信系统各种常用调制和解调方式的基本原理及其仿真分桥方法;直序扩频通信基本原理及几个实际系统的仿真分析举例;结合SystemView专业扩展库,IS-95的窄带CDMA系统、EN 300 744的DVB系统和3GPP的WCDMA系统的简介及其链路级仿真。 本书可作为基于SystemView的通信原理实验课程的教材,亦可作为现代通信系统仿真专业设计人员的参考书,另也可供欲学习与精通SystemView动态仿真工具的爱好者使用。 目录回到顶部↑第1 SystemView仿真平台的功能与使用简介 1.1 SystemView简介 1.2 设计窗口 1.2.1 设计窗口简介 1.2.2 图标库及图标定义的方法 1,2.3 设计窗口的基本使用 1.2.4 设计窗口中的各项功能 1.3 分析窗口 1.3.1 分析窗口简介 1.3.2 接收计算器 第2 利用SystemView仿真滤波器与位真DSP 2.1 数字滤波器及设计方法概述 2.1.1 IIR滤波器设计 2.1.2 FIR滤波器设计 2.2 利用仿真软件SystemView设计各种滤波器 2.2.1 FIR滤波器设计 2.2.2 模拟滤波器设计 2.2.3 通信滤波器设计 2.2.4 用户自定义型滤波器设计 2.2.5 直接输入系数滤波器设计 . 2.2.6 滤波器及其它DSP设计的FPGA实现 2.3 SystemView的位真DSP设计功能 2.3.1 预备知识 2.3.2 DSP处理器简介 2.3.3 SystemView的DSP库简介 2.3.4 利用DSP库仿真GSM系统基带信号及其FPGA实现 2.3.5 SystemView的RTDA功能 第3 数字载波通信基本原理及其在SystemView上的仿真 3.1 数字通信系统的基本概念 3.1.1 数字通信系统的组成 3.1. 2 数字通信系统的主要性能指标 3.2 数字载波通信系统的几种调制方式 3.2. l 二进制幅移键控 3.2. 2 二进制频移键控 3.2. 3 二进制相移键控 3.2.4 二进制差分相移键控 3.2.5 多进制幅度键控 3.2.6 多进制相移键控 3.2.7 正交幅度调制 3.2.8 偏移四相相移键控 3.2.9 最小频移键控 3.2.10 高斯最小频移键控 3.3 QPSK系统原理仿真与实例 3.3.1 QPSK调制与解调原理仿真 3.3.2 QPSK信号载波提取及实际采样数据相干解调仿真 3.4 误码率的计算 第4 直序扩频通信基本原理及其在SystemView上的仿真 4.1 扩频通信的基本原理 4.1.1 扩频通信的基本原理 4.1.2 直序扩频通信系统简介 4.2 基于IEEE802.11的无线局域网直序扩频系统在SystemView上的仿真 4.2.1 WLAN系统简介 4.2.2 WLAN系统在SystemView上的仿真 4.2.3 调制器和发射机子系统 4.2.4 射频到中频变换子系统 4.2.5 解扩子系统 4.2.6 信息解调子系统 4.3 MSK直序扩频相关解调系统在SystemView上的仿真 4.3.1 MSK直序扩频系统简介 4.3.2 扩频调制及MSK调制 4.3.3 解调解扩仿真及实验波形对比 4.4 MSK直序扩频系统延时相干解调方法在SystemView上的仿真 4.4.1 差分编码MSK直序扩频延时相干解调系统的数学模型 4.4.2 差分编码MSK直序扩频延时相干解调系统在SystemView上的仿真 4.4.3 对仿真结果的分析 4.4.4 解调解扩系统硬件实验 4.5 PSK直序扩频信号数字相关解调方案在SystemView上的仿真 4.5.1 PSK直序扩频信号数字相关解调方案简介 4.5.2 在SystemView上仿真 4.5.3 数字相关器子系统 4.5.4 仿真结果分析 第5 CDMADVD和WCDMA通信系统简介及其在SystemView上的链路级仿真 5.1 码分多址CDMA系统概述 5.1.1 CDMA蜂窝通信系统的基本原理及特点 5.1.2 CDMA系统的关键技术 5.1.3 Q—CDMA数字蜂窝移动通信系统概述 5.2 码分多址CDMA系统在SystemView上的仿真 5.2.1 在SystemView平台仿真Q—CDMA下行链路基带系统 5.2.2 用SystemView仿真IS—95标准下CDMA系统上行链路接入信道 5.2.3 用SystemView仿真下行链路业务信道 5.3 数字视频广播系统基准系统概述 5.3.1 系统设计的综合考虑 5.3.2 信道编码和调制方式 5.4 DVB系统在SystemView上的仿真 5.4.1 在SystemView平台上仿真端对端DVB系统 5.4.2 在SystemView平台上仿真DVB调制器与解调器 5.5 第三代移动通信技术及WCDMA通信系统概述 5.5.1 第三代移动通信系统概述 5.5.2 WCDMA通信系统概述 5.6 WCDMA系统在SystemView上的仿真 5.6.1 SystemView专业扩展库3GPP:FDD简介 5.6.2 64 kb/s电路交换承载业务DTCH上行链路编码过程仿真 5.6.3 基带频分双工宽带CDMA上行链路仿真 5.6.4 导频符号相干检测过程的仿真 附录A SystemView的安装 附录B SystemView菜单栏和工具栏简介 B.1 设计窗口菜单栏 B.2 分析窗口菜单栏 B.3 设计窗口工具栏 B.4 分析窗口工具栏 附录C SystemView图标说明 C.1 基本库 C.2 专业库 C.3 扩展库 附录D SystemView评估版软件使用指南 参考文献
数据库系统结构 数据库原理与运用第二-数据库系统结构全文共36页,当前为第1页。 数据库原理与运用第二-数据库系统结构全文共36页,当前为第2页。 1978年,美国国家标准协会(American National Standard Institute, ANSI)的数据库管理系统研究小组提出标准化建议,将数据库结构分为3级 数据库原理与运用第二-数据库系统结构全文共36页,当前为第3页。 面向用户或应用程序员的用户级 面向建立和维护数据库人员的概念级 面向系统程序员的物理级 三级模式和两级映像 数据库原理与运用第二-数据库系统结构全文共36页,当前为第4页。 DBMS管理数据的三个层次 External Level = User Level 某一用户能够看到与处理的数据 全局数据中的某一部分 Conceptual Level = Logic Level 从全局角度理解/管理的数据,含相应的关联约束 Internal Level = Physical Level 存储在介质上的数据,含存储路径、存储方式、索引方式等 DBMS 数据库 Database External Level Data Conceptual Level Data Internal Level Data 数据库原理与运用第二-数据库系统结构全文共36页,当前为第5页。 数据与数据的结构--模式 模式(Schema) 对数据库中数据所进行的一种结构性的描述 所观察到数据的结构信息 视图(View)/数据(Data) 某一种表现形式下表现出来的数据库中的数据 学生登记表( 学号char(8), 姓名char(10), 性别Char(2), 出生年月datetime, 入学日 期Datetime, 家庭住址Char(40) ) 数据的结构--模式 展现的数据----视图 数据库原理与运用第二-数据库系统结构全文共36页,当前为第6页。 三级模式(三级视图) External Schema ---- (External) View 某一用户能够看到与处理的数据的结构描述 (Conceptual) Schema ---- Conceptual View 从全局角度理解/管理的数据的结构描述, 含相应的关联约束 体现在数据之间的内在本质联系 Internal Schema ---- Internal View 存储在介质上的数据的结构描述,含存储路径、存储方式、索引方式等 数据库 Database External View Conceptual View Internal View External Schema Conceptual Schema Internal Schema 数据库原理与运用第二-数据库系统结构全文共36页,当前为第7页。 两层映像 E-C Mapping:External Schema-Conceptual Schema Mapping ----将外模式映射为概念模式,从而支持实现数据概念视图向外部视图的转换 ----便于用户观察和使用 C-I Mapping:Conceptual Schema-Internal Schema Mapping ----将概念模式映射为内模式,从而支持实现数据概念视图向内部视图的转换 ----便于计算机进行存储和处理 数据库原理与运用第二-数据库系统结构全文共36页,当前为第8页。 逻辑数据独立性 当概念模式变化时,可以不改变外部模式(只需改变E-C Mapping),从而无需改变应用程序 物理数据独立性 当内部模式变化时,可以不改变概念模式(只需改变C-I Mapping) ,从而不改变外部模式 数据库原理与运用第二-数据库系统结构全文共36页,当前为第9页。 数据库原理与运用第二-数据库系统结构全文共36页,当前为第10页。 数据模型 数据库原理与运用第二-数据库系统结构全文共36页,当前为第11页。 概念模型 DBMS支持的数据模型 物理模型 人有姓名、性别、年龄、身高、体重等 数据库原理与运用第二-数据库系统结构全文共36页,当前为第12页。 概念模型 是按照用户的观点来对信息建模,是系统设 计人员和用户之间进行交流的语言 是从现实世界中抽取出对于一个目标应用系统来说最有用的事物、事物的特征以及事物之间的联系,通过各种概念精确地加以描述 概念模型一般采用实体联系模型用E-R图来描述 数据库原理与运用第二-数据库系统结构全文共36页,当前为第13页。 逻辑数据模型 是按照计算机的观点来对数据建模,是概念模型的数据化 提供了表示和组织数据的方法,描述的是数据的逻辑结构 DBMS都是基于某种数据模型或是支持某种数据模型的 数据库原理与运用第二-数据库系统结构全文共36页,当前为第14
ASPNET35开发大全非常好 书名:ASP.NET 3.5 开发大全 署名:郭靖 页数:722 这是我见过的一本非常好的教程 第一篇 .NET基础 第1 认识ASP.NET 3.5 1.1 什么是ASP.NET 1.1.1 .NET历史与展望 1.1.2 ASP.NET与ASP 1.1.3 ASP.NET开发工具 1.1.4 ASP.NET客户端 1.1.5 ASP.NET 3.5新增控件 1.1.6 ASP.NET 3.5 AJAX 1.2 .NET应用程序需框架 1.2.1 什么是.NET应用程序框架 1.2.2 公共语言运行时(CLR) 1.2.3 .NET Framework 类库 1.3 安装Visual Studio 2008 1.3.1 安装Visual Studio 2008 1.3.2 主窗口 1.3.3 文档窗口 1.3.4 工具箱 1.3.5 解决方案管理器 1.3.6 属性窗口 1.3.7 错误列表窗口 1.4 安装SQL Server 2005 1.5 ASP.NET应用程序基础 1.5.1 创建ASP.NET应用程序 1.5.2 运行ASP.NET应用程序 1.5.3 编译ASP.NET应用程序 1.6 小结 第2 C# 3.0程序设计基础 2.1 C#程序 2.1.1 C#程序的结构 2.1.2 C# IDE的代码设置 2.2 变量 2.2.1 定义 2.2.2 值类型 2.2.3 引用类型 2.3 变量规则 2.3.1 命名规则和命名习惯 2.3.2 声明并初始化变量 2.3.3 数组 2.3.4 声明并初始化字符串 2.3.5 操作字符串 2.3.6 创建和使用常量 2.3.7 创建并使用枚举 2.3.8 类型转换 2.4 编写表达式 2.4.1 表达式和运算符 2.4.2 运算符的优先级 2.5 使用条件语句 2.5.1 if语句的使用方法 2.5.2 switch选择语句的使用 2.6 使用循环语句 2.6.1 for循环语句 2.6.2 while循环语句 2.6.3 do while循环语句 2.6.4 foreach循环语句 2.7 异常处理语句 2.7.1 throw异常语句 2.7.2 try-catch异常语句 2.7.3 try-finally异常语句 2.7.4 try-catch-finally异常语句 2.8 小结 第3 面向对象设计基础 3.1 什么是面向对象 3.1.1 传统的面向过程 3.1.2 面向对象的概念 3.1.3 面向组件的概念 3.2 面向对象的C#实现 3.2.1 定义 3.2.2 创建一个类和其方法 3.2.3 类成员 3.2.4 构造函数和析构函数 3.3 对象的生命周期 3.3.1 类成员的访问 3.3.2 类的类型 3.3.3 .NET的垃圾回收机制 3.4 使用命名空间 3.4.1 为什么要用命名空间 3.4.2 创建命名空间 3.4.3 分层设计中使用命名空间 3.5 类的方法 3.5.1 编写方法 3.5.2 给方法传递参数 3.5.3 通过引用来传递参数 3.5.4 方法的重载 3.6 封装 3.6.1 为什么要封装 3.6.2 类的设计 3.7 属性 3.7.1 语法 3.7.2 只读/只写属性 3.8 继承 3.8.1 继承的基本概念 3.8.2 创建派生类 3.8.3 对象的创建 3.8.4 使用抽象类 3.8.5 使用密封类 3.9 多态 3.9.1 抽象方法 3.9.2 覆盖 3.9.3 虚方法的抽象类 3.9.4 抽象属性 3.10 委托和事件 3.10.1 委托 3.10.2 声明事件 3.10.3 引发事件 3.10.4 订阅事件 3.10.5 委托和事件 3.11 类命名 3.11.1 命名空间的命名 3.11.2 类的命名原则 3.11.3 接口的命名原则 3.11.4 属性的命名原则 3.11.5 枚举的命名原则 3.11.6 只读字段的命名原则 3.11.7 参数名 3.11.8 委托命名原则 3.12 小议设计模式 3.12.1 什么是设计模式 3.12.2 为什么要使用设计模式 3.12.3 改装现有类 3.13 小结 第4 ASP.NET的网页代码模型及生命周期 4.1 ASP.NET的网页代码模型 4.1.1 创建ASP.NET网站 4.1.2 单文件页模型 4.1.3 代码隐藏页模型 4.1.4 创建ASP.NET Web Application 4.1.5 ASP.NET网站和ASP.NET应用程序的区别 4.2 代码隐藏页模型的解释过程 4.3 代码隐藏页模型的事件驱动处理 4.4 ASP.NET客户端状态 4.4.1 视图状态 4.4.2 控件状态 4.4.3 隐藏域 4.4.4 Cookie 4.4.5 客户端状态维护 4.5 ASP.NET页面生命周期 4.6 ASP.NET生命周期中的事件 4.6.1 页面加载事件(Page_PreInit) 4.6.2 页面加载事件(Page_Init) 4.6.3 页面载入事件(Page_Load) 4.6.4 页面卸载事件(Page_Unload) 4.6.5 页面指令 4.7 ASP.NET网站文件类型 4.8 小结 第二篇 ASP.NET窗体控件 第5 Web窗体的基本控件 5.1 控件的属性 5.2 简单控件 5.2.1 标签控件(Label) 5.2.2 超链接控件(HyperLink) 5.2.3 图像控件(Image) 5.3 文本框控件(TextBox) 5.3.1 文本框控件的属性 5.3.2 文本框控件的使用 5.4 按钮控件(Button,LinkButton,ImageButton) 5.4.1 按钮控件的通用属性 5.4.2 Click单击事件 5.4.3 Command命令事件 5.5 单选控件和单选组控件(RadioButton和RadioButtonList) 5.5.1 单选控件(RadioButton) 5.5.2 单选组控件(RadioButtonList) 5.6 复选框控件和复选组控件(CheckBox和CheckBoxList) 5.6.1 复选框控件(CheckBox) 5.6.2 复选组控件(CheckBoxList) 5.7 列表控件(DropDownList,ListBox和BulletedList) 5.7.1 DropDownList列表控件 5.7.2 ListBox列表控件 5.7.3 BulletedList列表控件 5.8 面板控件(Panel) 5.9 占位控件(PlaceHolder) 5.10 日历控件(Calendar) 5.10.1 日历控件的样式 5.10.2 日历控件的事件 5.11 广告控件(AdRotator) 5.12 文件上传控件(FileUpload) 5.13 视图控件(MultiViewView) 5.14 表控件(Table) 5.15 向导控件(Wizard) 5.15.1 向导控件的样式 5.15.2 导航控件的事件 5.16 XML控件 5.17 验证控件 5.17.1 表单验证控件(RequiredFieldValidator) 5.17.2 比较验证控件(CompareValidator) 5.17.3 范围验证控件(RangeValidator) 5.17.4 正则验证控件(RegularExpressionValidator) 5.17.5 自定义逻辑验证控件(CustomValidator) 5.17.6 验证组控件(ValidationSummary) 5.18 导航控件 5.19 其他控件 5.19.1 隐藏输入框控件(HiddenField) 5.19.2 图片热点控件(ImageMap) 5.19.3 静态标签控件(Lieral) 5.19.4 动态缓存更新控件(Substitution) 5.20 小结 第6 Web窗体的高级控件 6.1 登录控件 6.1.1 登录控件(Login) 6.1.2 登录名称控件(LoginName) 6.1.3 登录视图控件(LoginView) 6.1.4 登录状态控件(LoginStatus) 6.1.5 密码恢复控件(PasswordRecovery) 6.1.6 密码更改控件(ChangePassword) 6.1.7 生成用户控件(CreateUserWizard) 6.2 网站管理工具 6.2.1 启动管理工具 6.2.2 用户管理 6.2.3 用户角色 6.2.4 访问规则管理 2.6.5 应用程序配置 6.3 使用登录控件 6.3.1 生成用户控件(CreateUserWizard) 6.3.2 密码更改控件(ChangePassword) 6.4 小结 第三篇 数据操作篇 第7 数据库与ADO.NET基础 7.1 数据库基础 7.1.1 结构化查询语言 7.1.2 表和视图 7.1.3 存储过程和触发器 7.2 使用SQL Server 2005 管理数据库 7.2.1 初步认识SQL Server 2005 7.2.2 创建数据库 7.2.3 删除数据库 7.2.4 备份数据库 7.2.5 还原数据库 7.2.6 创建表 7.2.7 删除表 7.2.8 创建数据库关系图 7.3 ADO.NET连接SQL数据库 7.3.1 ADO.NET基础 7.3.2 连接SQL数据库 7.3.3 ADO.NET过程 7.4 ADO与ADO.NET 7.4.1 ADO概述 7.4.2 ADO.NET与ADO 7.5 ADO.NET 常用对象 7.6 Connection连接对象 7.6.1 连接SQL数据库 7.6.2 连接Access数据库 7.6.3 打开和关闭连接 7.7 DataAdapter适配器对象 7.8 Command执行对象 7.8.1 ExecuteNonQuery方法 7.8.2 ExecuteNonQuery执行存储过程 7.8.3 ExecuteScalar方法 7.9 DataSet数据集对象 7.9.1 DataSet数据集基本对象 7.9.2 DataTable数据表对象 7.9.3 DataRow数据行对象 7.9.4 DataView数据视图对象 7.10 DataReader数据访问对象 7.10.1 DataReader对象概述 7.10.2 DataReader读取数据库 7.10.3 异常处理 7.11 连接池概述 7.12 参数化查询 7.13 小结 第8 Web窗体的数据控件 8.1 数据源控件 8.1.1 SQL数据源控件(SqlDataSource) 8.1.2 Access数据源控件(AccessDataSource) 8.1.3 目标数据源控件(ObjectDataSource) 8.1.4 LINQ数据源控件(LinqDataSource) 8.1.5 Xml数据源控件(XmlDataSource) 8.1.6 站点导航控件(SiteMapDataSource) 8.2 重复列表控件(Repeater) 8.3 数据列表控件(DataList) 8.4 数据列表控件(GridView) 8.5 数据绑定控件(FormView) 8.6 数据绑定控件(DetailsView) 8.7 数据绑定控件(ListView) 8.8 数据绑定控件(DataPager) 8.9 小结 第9 ASP.NET操作数据库 9.1 使用ADO.NET操作数据库 9.1.1 使用ExecuteReader()操作数据库 9.1.2 使用ExecuteNonQuery()操作数据库 9.1.3 使用ExecuteScalar()操作数据库 9.1.4 使用ExecuteXmlReader()操作数据库 9.2 ASP.NET创建和插入记录 9.2.1 SQL INSERT数据插入语句 9.2.2 使用Command对象更新记录 9.2.3 使用DataSet数据集插入记录 9.3 ASP.NET更新数据库 9.3.1 SQL UPDATE数据更新语句 9.3.2 使用Command对象更新记录 9.3.3 使用DataSet数据集更新记录 9.4 ASP.NET删除数据 9.4.1 SQL DELETE数据删除语句 9.4.2 使用Command对象删除记录 9.4.3 使用DataSet数据集删除记录 9.5 使用存储过程 9.5.1 存储过程的优点 9.5.2 创建存储过程 9.5.3 调用存储过程 9.6 ASP.NET数据库操作实例 9.6.1 制作用户界面(UI) 9.6.2 使用GridView显示、删除、修改数据 9.6.3 使用DataList显示数据 9.6.4 DataList分页实现 9.6.5 使用SQLHelper操作数据库 9.7 小结 第10 访问其他数据源 10.1 使用ODBC .NET Data Provider 10.1.1 ODBC .NET Data Provider简介 10.1.2 建立连接 10.2 使用OLE DB.NET Data Provider 10.2.1 OLE DB.NET Data Provider简介 10.2.2 建立连接 10.3 访问MySql 10.3.1 MySql简介 10.3.2 建立连接 10.4 访问Excel 10.4.1 Excel 简介 10.4.2 建立连接 10.5 访问txt 10.5.1 使用ODBE.NET Data Provider连接txt 10.5.2 使用OLE DB .NET Data Provider 连接txt 10.5.3 使用System.IO命名空间 10.6 访问SQLite 10.6.1 SQLite简介 10.6.2 SQLite连接方法 10.7 小结 第四篇 ASP.NET网络编程 第11 用户控件和自定义控件 11.1 用户控件 11.1.1 什么是用户控件 11.1.2 编写一个简单的控件 11.1.3 将Web窗体转换成用户控件 11.2 自定义控件 11.2.1 实现自定义控件 11.2.2 复合自定义控件 11.3 用户控件和自定义控件的异同 11.4 用户控件示例 11.4.1 ASP.NET登录控件 11.4.2 ASP.NET登录控件的开发 11.4.3 ASP.NET登录控件的使用 11.5 自定义控件实例 11.5.1 ASP.NET分页控件 11.5.2 ASP.NET分页控件的使用 11.6 小结 第12 ASP.NET的皮肤、主题和母版页 12.1 皮肤和主题 12.1.1 CSS简介 12.1.2 CSS基础 12.1.3 CSS常用属性 12.1.4 将CSS应用在控件上 12.1.5 主题和皮肤 12.1.6 页面主题和全局主题 12.1.7 应用和禁用主题 12.1.8 用编程的方法控制主题 12.2 母版页 12.2.1 母版页基础 12.2.2 内容窗体 12.2.3 母版页的运行方法 12.2.4 嵌套母版页 12.3 Microsoft Expression 2 12.3.1 Microsoft Expression 2简介 12.3.2 安装Microsoft Expression 2 12.4 使用Microsoft Expression Web 2制作页面 12.4.1 创建ASPX页面 12.4.2 创建CSS层叠样式表 12.4.3 创建框架集 12.5 小结 第13 ASP.NET内置对象,应用程序配置和缓存 13.1 ASP.NET内置对象 13.1.1 Request传递请求对象 13.1.2 Response请求响应对象 13.1.3 Application状态对象 13.1.4 Session状态对象 13.1.5 Server服务对象 13.1.6 Cookie状态对象 13.1.7 Cache缓存对象 13.1.8 Global.asax配置 13.2 ASP.NET应用程序配置 13.2.1 ASP.NET应用程序配置 13.2.2 Web.config配置文件 13.2.3 ASP.NET基本配置节 13.3 ASP.NET缓存功能 13.3.1 缓存概述 13.3.2 页面输出缓存 13.3.3 页面部分缓存 13.3.4 应用程序数据缓存 13.3.5 检索应用程序数据缓存对象 13.4 小结 第14 ASP.NET XML和Web Service 14.1 XML简介 14.2 读写XML 14.2.1 XML与HTML 14.2.2 创建XML文档 14.2.3 XML控件 14.2.4 XML文件读取类(XmlTextReader) 14.2.5 XML文件编写类(XmlTextWriter) 14.2.6 XML文本文档类(XmlDocument) 14.3 XML串行化 14.3.1 XmlSerializer串行化类 14.3.2 基本串行化 14.4 XML样式表XSL 14.4.1 XSL简介 14.4.2 使用XSLT 14.5 Web服务(Web Service) 14.5.1 什么是Web服务 14.5.2 Web服务体系结构 14.5.3 Web服务协议栈 14.6 简单Web Service示例 14.7 自定义Web Service 14.7.1 创建自定义的Web Service 14.7.2 使用自定义的Web Service 14.8 小结 第五篇 ASP.NET 3.5高级编程 第15 图形图像编程 15.1 图形图像基础 15.1.1 图像布局 15.1.2 GDI+简介 15.1.3 绘制线条示例 15.1.4 .NET Framework绘图类 15.2 图形编程 15.2.1 Graphics类 15.2.2 绘制基本图形 15.2.3 图形绘制实例 15.3 绘制文字特效 15.3.1 投影特效 15.3.2 倒影特效 15.3.3 旋转特效 15.4 绘制图片 15.4.1 载入图像文件 15.4.2 GDI+输出图像 15.5 图像特效处理 15.5.1 底片效果 15.5.2 浮雕效果 15.6 小结 第16 ASP.NET 3.5和AJAX 16.1 AJAX基础 16.1.1 什么是AJAX 16.1.2 ASP.NET AJAX入门 16.1.3 ASP.NET 2.0 AJAX 16.1.4 ASP.NET 3.5 AJAX 16.1.5 AJAX简单示例 16.2 ASP.NET 3.5AJAX控件 16.2.1 脚本管理控件(ScriptManger) 16.2.2 脚本管理控件(ScriptMangerProxy) 16.2.3 时间控件(Timer) 16.2.4 更新区域控件(UpdatePanel) 16.2.5 更新进度控件(UpdateProgress) 16.3 AJAX编程 16.3.1 自定义异常处理 16.3.2 使用母版页的UpdatePanel 16.3.3 母版页刷新内容窗体 16.4 小结 第17 ASP.NET MVC基础 17.1 了解MVC 17.1.1 MVC和Web Form 17.1.2 ASP.NET MVC的运行结构 17.2 ASP.NET MVC基础 17.2.1 安装ASP.NET MVC 17.2.2 新建一个MVC应用程序 17.2.3 ASP.NET MVC应用程序的结构 17.2.4 运行ASP.NET MVC应用程序 17.3 ASP.NET MVC原理 17.3.1 ASP.NET MVC运行流程 17.3.2 ASP.NET MVC工作原理 17.4 ASP.NET MVC开发 17.4.1 创建ASP.NET MVC页面 17.4.2 ASP.NET MVC 数据呈现(ViewData) 17.4.3 ASP.NET MVC 跨页数据呈现(TempData) 17.4.4 ASP.NET MVC页面重定向 17.4.5 ASP.NET MVC URL路由(URLRouting) 17.4.6 ASP.NET MVC控件辅助工具(Helper) 17.4.7 ASP.NET MVC表单传值 17.5 小结 第18 WCF开发基础 18.1 了解WCF 18.1.1 什么是WCF 18.1.2 为什么需要WCF 18.2 WCF基础 18.2.1 服务 18.2.2 地址 18.2.3 契约 18.3 WCF应用 18.3.1 创建WCF应用 18.3.2 创建WCF方法 18.4 WCF消息传递 18.4.1 消息传递 18.4.2 消息操作 18.5 使用WCF服务 18.5.1 在客户端添加WCF服务 18.5.2 在客户端使用WCF服务 18.6 小结 第19 WPF开发基础 19.1 了解WPF 19.1.1 什么是WPF 19.2 WPF的应用范围 19.2 WPF和Microsoft Expression 19.2.1 使用Microsoft Expression Blend设计WPF 19.2.2 WPF控件样式 19.2.3 浅谈XAML 19.2.4 WPF控件层次 19.3 WPF应用程序开发 19.3.1 WPF动画事件 19.3.2 WPF时间轴 19.3.3 WPF事件处理 19.4 WPF系统开发 19.4.1 WPF系统需求 19.4.2 WPF界面开发 19.4.3 WPF动画制作 19.4.4 WPF事件编写 19.5 小结 第六篇 ASP.NET 3.5与LINQ 第20 ASP.NET 3.5与LINQ 20.1 什么是LINQ 20.1.1 LINQ起源 20.1.2 LINQ构架 20.1.3 LINQ与Visual Studio 2008 新特性 20.2 LINQ与Web应用程序 20.2.1 创建使用LINQ的Web应用程序 20.2.2 基本的LINQ数据查询 20.2.3 IEnumerable和IEnumerable<T>接口 20.2.4 IQueryProvider和IQueryable<T>接口 20.2.5 LINQ相关的命名空间 20.3 Lambda表达式 20.3.1 匿名方法 20.3.2 Lambda表达式基础 20.3.3 Lambda表达式格式 20.3.4 Lambda表达式树 20.3.5 访问Lambda表达式树 20.4 小结 第21 使用LINQ查询 21.1 LINQ查询概述 21.1.1 准备数据源 21.1.2 使用LINQ 21.1.3 执行LINQ查询 21.2 LINQ查询语法概述 21.3 基本子句 21.3.1 from查询子句 21.3.2 where条件子句 21.3.3 select选择子句 21.3.4 group分组子句 21.3.5 orderby排序子句 21.3.6 into连接子句 21.3.7 join连接子句 21.3.8 let临时表达式子句 21.4 LINQ查询操作 21.4.1 LINQ查询概述 21.4.2 投影操作 21.4.3 筛选操作 21.4.4 排序操作 21.4.5 聚合操作 21.5 使用LINQ查询和操作数据库 21.5.1 简单查询 21.5.2 建立连接 21.5.3 插入数据 21.5.4 修改数据 21.5.5 删除数据 21.6 LINQ与MVC 21.6.1 创建ASP.NET MVC应用程序 21.6.2 创建LINQ to SQL 21.6.3 数据查询 21.7 小结 第七篇 ASP.NET 3.5模块开发 第22 注册模块设计 22.1 学习要点 22.2 系统设计 22.2.1 模块功能描述 22.2.2 模块流程分析 22.3 数据库设计 22.3.1 数据库的分析和设计 22.3.2 数据表的创建 22.4 界面设计 22.4.1 基本界面 22.4.2 创建CSS 22.5 代码实现 22.5.1 验证控制 22.5.2 过滤输入信息 22.5.3 插入注册信息 22.5.4 管理员页面 22.6 实例演示 22.7 小结 第23 登录模块设计 23.1 学习要点 23.2 系统设计 23.2.1 模块功能描述 22.2.2 模块流程分析 23.3 数据库设计 23.3.1 数据库设计分析 23.3.2 数据库表的创建 23.4 界面设计 23.4.1 基本界面 23.4.2 创建CSS 23.4.3 发送密码页面 23.5 代码实现 23.5.1 登录代码实现 23.5.2 邮件发送页面 23.5.3 根据不同的用户显示不同的内容 23.6 实例演示 23.7 小结 第24 广告模块设计 24.1 学习要点 24.2 系统设计 24.2.1 模块功能描述 24.2.2 模块流程分析 24.3 数据库设计 24.3.1 数据库设计分析 24.3.2 数据库表的创建 24.4 界面设计 24.4.1 发布广告界面 24.4.2 发布广告页数据源配置 24.4.3 修改广告界面 24.4.4 管理广告界面 24.4.5 分类管理界面 24.5 代码实现 24.5.1 广告添加功能 24.5.2 广告修改功能 24.5.3 自定义控件的实现 24.6 实例演示 24.7 小结 第25 新闻模块设计 25.1 学习要点 25.2 系统设计 25.2.1 模块功能描述 25.2.2 模块流程分析 25.3 数据库设计 23.3.1 数据库设计 25.3.2 数据表的创建 25.4 界面设计 25.4.1 登录界面 25.4.2 后台框架集 25.4.3 新闻发布页面 25.4.4 新闻修改页面 25.4.5 新闻管理页面 25.4.6 新闻分类管理页面 25.5 代码实现 25.5.1 导航菜单配置 25.5.2 身份验证页面 25.5.3 新闻发布页面 25.5.4 静态生成功能 25.5.5 新闻显示页面 25.5.6 静态模板编写 25.6 实例演示 25.7 小结 第26 投票模块设计 26.1 学习要点 26.2 系统设计 26.2.1 模块功能描述 26.2.2 模块流程分析 26.3 数据库设计 26.3.1 数据库设计 26.3.2 数据表的创建 26.4 界面设计 26.4.1 后台框架集 26.4.2 投票管理页面 26.4.3 投票发布页面 26.4.4 投票修改页面 26.4.5 投票删除页面 26.5 代码实现 26.5.1 添加投票代码实现 26.5.2 修改投票代码实现 26.5.3 删除投票代码实现 26.5.4 显示投票代码实现 26.5.5 用户投票代码实现 26.6 实例演示 26.7 小结 第27 聊天模块设计 27.1 学习要点 27.2 系统设计 27.2.1 模块功能描述 27.2.2 模块流程分析 27.3 界面设计 27.3.1 登录界面设计 27.3.2 登录界面CSS 27.3.3 聊天室显示界面 27.3.4 聊天室界面CSS 27.4 代码实现 27.4.1 登录代码实现 27.4.2 多人聊天代码实现 27.4.3 单人聊天代码实现 27.4.4 聊天记录保存实现 27.5 实例演示 27.6 小结 第六篇 ASP.NET 3.5应用实例 第28 制作一个ASP.NET留言本 28.1 系统设计 28.1.1 需求分析 28.1.2 系统功能设计 28.1.3 模块功能划分 28.2 数据库设计 28.2.1 数据库的分析和设计 28.2.2 数据表的创建 28.2.3 数据表关系图 28.3 系统公用模块的创建 28.3.1 创建CSS 28.3.2 使用SQLHepler 28.3.3 配置Web.config 28.4 系统界面和代码实现 28.4.1 留言板用户控件 28.4.2 管理员登录实现 28.4.3 用户注册登录实现 28.4.4 用户登录实现 28.4.5 留言本界面布局 28.4.6 留言功能实现 28.4.7 回复功能实现 28.4.8 删除功能的实现 28.4.9 用户索引实现 28.5 用户体验优化 28.5.1 AJAX留言实现 28.5.2 AJAX数据重绑定 28.5.3 系统导航实现 28.5.4 侧边栏界面优化 28.6 用户功能实现 28.6.1 用户信息界面 28.6.2 用户信息修改实现 28.6.3 用户信息删除实现 28.6.4 用户注销 28.7 实例演示 28.7.1 准备数据源 28.7.2 基本实例演示 28.7.3 用户功能演示 28.8 小结 第29 制作一个ASP.NET校友录系统 第29 制作一个ASP.NET校友录系统 29.1 系统设计 29.1.1 需求分析 29.1.2 系统功能设计 29.1.3 模块功能划分 29.2 数据库设计 29.2.1 数据库分析和设计 29.2.2 数据表的创建 29.3 数据表关系图 29.4 系统公用模块的创建 29.4.1 使用Fckeditor 29.4.2 使用SQLHelper 29.4.3 配置Web.config 29.5 系统界面和代码实现 29.5.1 用户注册实现 29.5.2 用户登录实现 29.5.3 校友录页面规划 29.5.4 自定义控件实现 29.5.5 校友录页面实现 29.5.6 日志发布实现 29.5.7 日志修改实现 29.5.8 管理员日志删除 29.5.9 日志显示页面 29.5.10 用户索引页面 29.5.11 管理员用户删除 29.6 用户体验优化 29.6.1 超链接样式优化 29.6.2 默认首页优化 29.6.3 导航栏编写 29.6.4 AJAX留言优化 29.6.5 优化留言表情 29.7 高级功能实现 29.7.1 后台管理页面实现 29.7.2 日志管理实现 29.7.3 日志修改和删除实现 29.7.4 评论删除实现 29.7.5 板报功能实现 29.7.6 用户修改和删除实现 29.7.7 用户权限管理 29.7.8 权限及注销实现 29.8 实例演示 29.8.1 准备数据源 29.8.2 基本实例演示 29.8.3 管理后台演示 29.9 小结

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值