Inside ASP.NET 2.0 DataBound Control - 2

发布时间:2008-06-16 UI

l 原创文章,如需转载,请注明出处。

DataBoundControl

DataBoundControl是一个抽象类,从BaseDataBound类派生,用来绑定List或者Table状数据。所有用来显示或编辑List或Table状数据的绑定控件都应该从该类派生,例如ListBox,DropDownList,CheckboxList还有GridView。

DataBoundControl实现的主要功能是从数据源中获取数据,无论用户是通过设置DataSource还是通过DataSourceID进行的数据绑定。获取到的数据将以IEnumerable的方式提供给派生类,这样派生类将不再需要关心如何从数据源中获取数据,而只需要关心其本身的业务逻辑即如何展示绑定数据。

1.  DataBoundControl接口:
 1 public   abstract   class  DataBoundControl : BaseDataBoundControl
 2 {
 3    public virtual string DataMember { get; set; }
 4    protected DataSourceSelectArguments SelectArguments { get; }
 5
 6    protected override void PerformSelect();
 7    protected virtual void PerformDataBinding( IEnumerable data);
 8
 9    protected virtual DataSourceView GetData();
10    protected virtual IDataSource GetDataSource();
11}
    DataMember DataMember属性用来指定绑定数据列表名称,用户设置的数据源可能会包含多个不同的数据项列表。比如绑定到控件的数据源控件含有多个DataSourceView,或者绑定到控件的数据源是一个DataSet,而这个DataSet含有多个数据表格。

    SelectArguments 而SelectArguments属性则定义了用于向数据源控件检索数据时使用的 DataSourceSelectArgument 对象,注意使数据源控件,也就是通过DataSourceID进行的数据绑定。

通过该对象可以指定检索数据的起始行位置、最大行数,设定排序表达式,同时还可以检索数据源的总行数。

下面是DataSourceSelectArgument 对象的接口:
 1 public   sealed   class  DataSourceSelectArguments
 2 {    
 3    public int StartRowIndex { get; set; }
 4    public int MaximumRows { get; set; }
 5
 6    public string SortExpression { get; set; }
 7
 8    public bool RetrieveTotalRowCount { get; set; }
 9    public int TotalRowCount { get; set; }
10}
DataBoundControl的派生类可以通过配置SelectArguments来优化数据查询,比如当控件支持分页功能的时候,可以只检索当前页面所需数据。

    PorformSelect, PerformDataBinding DataBoundControl重载了PerformSelect方法,在这个方法中控件将会向数据源检索数据,并且将检索到的数据作为参数来调用PerformDataBinding方法。

PerformDataBinding是DataBoundControl类定义的虚方法,派生类只需要Override该方法,处理检索到的数据就可以了。

    GetDataSource
从绑定的数据源中获取相关联的IDataSource对象,用户必须是通过设置DataSourceID属性来进行数据绑定的,否则将会返回一个空引用。

看一下IDataSource这个接口:
1 public   interface  IDataSource
2 {
3    event EventHandler DataSourceChanged;
4
5    DataSourceView GetView(string viewName);
6    ICollection GetViewNames();
7}

可以看到得到IDataSource对象之后,就可以获得当前绑定的DataSoutceView了。另外当DataBoundControl捕获到IDataSource对象的DataSourceChanged事件后,会主动进行重新绑定。

   GetData
从绑定的数据源中获取用于执行数据操作的 DataSourceView对象,通过该对象数据绑定控件可以对数据源进行各种操作,比如Select, Insert还有Update。

2.  页面生命周期
DataBoundControl在页面生命周期中定义了一些时机来进行数据绑定的处理:

  OnPagePreLoad
如果是页面进行第一次请求的话,则控件要求进行数据绑定。另外如果是一次PostBack的话,并且控件仍然没有进行数据绑定,同时Enable ViewState,控件也会要求数据绑定。
见下面的代码: 
 1 protected   override   void  OnPagePreLoad( object  sender, EventArgs e)
 2 {
 3    base.OnPagePreLoad(sender, e);
 4    if (this.Page != null)
 5    {
 6        if (!this.Page.IsPostBack)
 7        {
 8            base.RequiresDataBinding = true;
 9        }
10        else if (base.IsViewStateEnabled && (this.ViewState["_!DataBound"] == null))
11        {
12            base.RequiresDataBinding = true;
13        }
14    }
15    this._pagePreLoadFired = true;
16} 这就是为什么在设计时只设置数据绑定控件的DataSourceID,在运行时控件会自动进行数据绑定。

   OnLoad
如果说在OnPreLoad阶段没有进行数据绑定的话,在OnLoad阶段控件还会进行检查,并且尝试进行数据绑定如果条件合适的话。

3。小结
DataBoundControl实现了数据绑定控件的基本功能,例如从数据源中获取数据,以及如何操作数据源。其派生类所作的应该是如何展现数据,以及如何利用其提供的接口来操作数据源。

相关示例大家可以参考MSDN文档:
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.databoundcontrol.aspx

下一节将会讲述HierarchicalDataBoundControl控件。

转载于:https://www.cnblogs.com/tedzhao/archive/2008/06/16/DataBoundControl_2.html

更多相关推荐


iOS开发UI篇—在UITableview的应用中使用动态单元格来完成app应用程序管理界面的搭建...

发布时间:2018-10-10 移动开发 UI
iOS开发UI篇—在UITableview的应用中使用动态单元格来完成app应用程序管理界面的搭建一、实现效果说明:该示例在storyboard中使用动态单元格来完成。二、实现1.项目文件结构和plist文件2.实现过程以及代码在tableview的属性选择器中选择动态单元格。说明:在storyboard中直接使用其自带的动态单元格完成tableviewcell的定义,并创建了一个管理该cell的...

简易UI,快速原型----Balsamiq

发布时间:2016-11-12 UI
不说什么先上图大家应该第一眼就能看出这个软件的风格吧,个人很喜欢这种有诙谐的赶脚。再看一眼,会发现这些都是我们在开发过程中常见的UI控件,这让我们很容易就能上手。再看一眼,这个软件只是拿来我们初步做出界面跟客户之间进行交流的,所以很直观,对软件需求阶段是一个很实用工具。推荐大家去试用下,我这里有个百度云盘链接,想要的拿走拉http://pan.baidu.com/share/link?sharei...

C++只允许实例化一次的类

发布时间:2017-12-10 C/C++ UI
1.意图 保证一个类仅有一个实例,并提供一个访问它的全局访问点。2.动机 对一些类来说,只有一个实例是很重要的。虽然系统中可以有许多打印机,但却只应该有一个打印假脱机(printerspooler),只应该有一个文件系统和一个窗口管理器。一个数字滤波器只能有一个A/D转换器。一个会计系统只能专用于一个公司。 我们怎么样才能保证一个类只有一个实例并且这个实例易于被访问呢?一个全局变量使得一个对象可以...

wpf一些例子

发布时间:2015-06-01 C# UI 数据结构与算法
相关知识点:WPF-AdornerWPFDiagramDesignerhttp://www.codeproject.com/Articles/484616/MVVM-Diagram-Designer翻译好的http://www.cnblogs.com/zhoujg/archive/2009/11/23/1608913.htmlhttp://www.cnblogs.com/zhoujg/archiv...

PropertyGrid 用法,还没明白呢.

发布时间:2009-12-04 C# UI 人工智能
充分利用.NET框架的PropertyGrid控件    MarkRideout  MicrosoftCorporation  摘要:本文旨在帮助您了解Microsoft.NET框架中的PropertyGrid控件,以及如何针对您的应用程序自定义该控件。  适用于:  Microsoft®.NET®框架  Microsoft®VisualStudio®.NET  目录PropertyGrid控件简...

ActionBar样式解析

发布时间:2015-12-16 ANDROID基础 ANDROID 导航 UI
Android的装饰风格有多种,这些风格的不同之处主要体现在标题栏区域。比如最普通的标题栏仅有图标和标题。还有一些其他的风格,如带进度条的标题栏等。       在Android4.0上,有了新的标题栏,名为ActionBar,它提供了能强大的功能,如支持TAB页,支持菜单等。下面将分析主要的ActionBar样式。一,ActionBar样式定义Theme主题对ActionBar样式的定义如下:[...

03、ApplicationSettings Of win8

发布时间:2012-09-14 操作系统 C# UI
       应用的“设置”功能是很重要的。首先当用户运行你的应用的时候,会在设置页面中看到你的应用都使用了哪些系统的功能。另外,你需要把你应用的“设置面板”中,添加“隐私声明”,当用户点击“隐私声明”可以跳转到网站的“隐私声明页面”,否则你的应用在提交到商店时是会被打回来的。我就是个血淋淋的例子,因为没添加隐私声明等问题,就被win8的商店打回来了。下面1、中有描述。              ...

Jsoup 的认识和简单使用

发布时间:2014-12-15 移动开发 爬虫 UI
  之前做学校软件协会APP的时候,由于自己不会在服务端写接口,所以服务端一直是由另一位Z同学完成的,但是突然Z同学被老师调到泸州帮以前的学长做一个月的临时web开发去了,所以协会APP的接口只做了一部分就没了。我也很是无奈啊,想自己边学边做,但是时间不允许,马上就要做毕业设计了,而且还要帮老师写教材。但自己的需求其实还算比较简单,只需要在已做好的网站上获取信息即可,而且之前就知道有网络爬虫这种东...

UITextField

发布时间:2015-10-19 UITEXTFIELD UI
   _window=[[UIWindowalloc]initWithFrame:[UIScreenmainScreen].bounds];   //_window.backgroundColor=[UIColorwhiteColor];   [_windowmakeKeyAndVisible];      UIView*view1=[[UIViewalloc]initWithFrame:[UIS...

UIButton

发布时间:2015-10-19 UIBUTTON UI
   //Button   _window=[[UIWindowalloc]initWithFrame:[UIScreenmainScreen].bounds];   [_windowmakeKeyAndVisible];   UIView*view=[[UIViewalloc]initWithFrame:[UIScreenmainScreen].bounds];   view.backgroun...

UISlider

发布时间:2015-10-19 UISLIDER UI
    UISlider*slider=[[UISlideralloc]initWithFrame:CGRectMake(50,50,300,30)];   slider.backgroundColor=[UIColorwhiteColor];   //滑块小圆点右边线条的颜色   slider.maximumTrackTintColor=[UIColorredColor];   //滑块小圆点左...

thinkphp3.2头像上传即时显示并截取

发布时间:2015-07-19 JAVASCRIPT PHP UI VIEWUI
ajax无刷新上传,不能上传type=file的文件或图片,使用iframe。后台返回图片路径,并展示在特定位置。利用jcrop剪切图片,获取xy坐标,和截取的宽度和高度,传给php,并实现相应操作。下面上一些代码。<formid="submit"action="{:U('User/up_photo')}"enctype="multipart/form-data" target="upfra...

多线程技术 初步

发布时间:2016-03-15 移动开发 C/C++ UI
转载自:http://www.cofcool.net/development/2015/06/21/ios-study-note-ten-multithreading-1/进程:进程是指在系统中正在运行的一个应用程序,每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内。线程:线程是进程的基本执行单元,一个进程(程序)的所有任务都在线程中执行。1个进程要想执行任务,必须得有线程(每1个...

《Programming WPF》翻译 第7章 5.可视化层编程

发布时间:2015-11-13 测试 UI
《ProgrammingWPF》翻译第7章5.可视化层编程原文:《ProgrammingWPF》翻译第7章5.可视化层编程形状元素能提供一种便利的方式与图形一起工作,在一些情形中,添加表示绘图的元素到UI树中,可能是比它的价值更加麻烦。你的数据可能被构造以一种易于编写代码的方式——简单地表现一系列基于数据的绘图操作,而不是构造一棵对象树。WPF提供一个“可视化层”API,作为一个对形状元素较低级别...

GridView合并行、列

发布时间:2014-11-13 UI
usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Data;usingSystem.Web.UI.WebControls;///<summary>///GridViewMergeCell合并GridViewliyang20090916///</summa...

DWZ与KindEditor编辑器的整合

发布时间:2014-11-19 测试 JAVASCRIPT VIEWUI UI
DWZ自带的编辑器是xheditor,可能很多人用不习惯。就像我,习惯用kindeditor了。现在就来说说如何整合dwz和kindeditor.一、打开DWZ的中的dwz.ui.js,进行修改。首先找到if($.fn.xheditor){$("textarea.editor",$p).each(function(){var$this=$(this);varop={html5Upload:fals...

apache kafka系列之客户端开发-java

发布时间:2017-01-23 KAFKA RUNTIME UI 大数据
1.依赖包    <dependency>      <groupId>org.apache.kafka</groupId>      <artifactId>kafka_2.10</artifactId>      <version>0.8.1</version>    </dependency>2....

(一) 开天辟地入门篇(mvc)

发布时间:2009-11-04 测试 UI 数据库
这个系列我感觉写得很好。入门最佳转自:http://www.cnblogs.com/zhangziqiu/archive/2009/02/27/ASPNET-MVC-1.html一.摘要随着ASP.NETMVC1.0版本的正式发布,我将本系列文章也更新到了1.0,对于已经发表的文章我都会根据1.0版本重新编辑.希望本系列文章能打给大家帮助. 二.前言ASP.NETMVC是微软官方提供的开源MVC框...

web前端响应式设计总结

发布时间:2016-03-22 JAVASCRIPT 前端 VIEWUI UI
web前端响应式设计总结一、响应式概述  响应式是指根据不同设备浏览器分辨率或尺寸来展示不同页面结构、行为、表现的设计方式。这里总结了响应式网站设计需要涉及到的相关的内容,有不正确的欢迎大家指正。谈到响应式网站,目前比较主流的做法是通过前端通过判断userAgent来做页面的302跳转。那么问题来了,使用userAgent的问题:依赖设备本身浏览器或设备特点,例如尺寸,屏幕分辨率等。需要分配多个站...

JObject对json的操作

发布时间:2016-08-30 JSON UI
一,需去程序集添加usingNewtonsoft.Json.Linq;引用 usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Linq;usingNewtonsoft.Js...

2022年学习APP UI自动化测试,思路全总结在这里了

首先想要说明一下,APP自动化测试可能很多公司不用,但也是大部分自动化测试工程师、高级测试工程师岗位招聘信息上要求的,所以为了更好的待遇,我们还是需要花时间去掌握的,毕竟谁也不会跟钱过不去。接下来,一起总结一下APPUI自动化测试的思路吧。开发语言选择通常用于自动化测试的编程语言有:Python、Java、Javascript、Ruby、C#、PHP等。一般我们会选择自己熟悉的编程语言来编写自动化...

百度地图使用

发布时间:2022-10-31 百度 前端 UI
解释LBS:LocationBusinessServe基于定义位置的商业服务百度地图|高德地图使用步骤登陆注册,获取密钥AK引入百度地图js<scriptsrc="https://api.map.baidu.com/api?v=1.0&&type=webgl&ak=自己的AK密钥"></script>创建地图容器<divid="containe...

Android Intent Service

发布时间:2018-09-22 移动开发 JAVA UI
AndroidIntentService学习自Android官方文档blog.csdn.net/iromkoear/a…OverviewIntentService是Service的子类,他被用来根据需求处理异步(IntentService中存在一个工作线程)请求(表现为Intent,从类的名字也可以看出来)。而且这个Service非常省心,当工作完成后会自动停止,不需要我们手动停止。使用Inten...

Xcode7.0错误

发布时间:2015-11-03 XCODE UI
昨天更新Xcode7.0之后,首先遇到了http请求的问题,百度了一下找到了解决方法,修改info.plist文件,info.plist-->OpenAs-->SouceCode 在</dict>之前添加<dict><key>NSAllowsArbitraryLoads</key><true/></dict>然后继...

[转载]大话MVP

发布时间:2012-05-26 UI
原文链接Artech博客文章:http://www.cnblogs.com/artech/archive/2010/04/12/1710681.html原文如下:之前写了一篇名称为《谈谈关于MVP模式中V-P交互问题》的文章,主要表达本人对于MVP模式下(主要针对PassiveView变体)View和Presenter之间的关系,以及它们之间的交互应该采用怎样的原则和方式的看法。园子里的朋友对此展...

关于IOS的屏幕适配(iPhone)——资源适配

发布时间:2015-07-09 移动开发 UI
IOS的屏幕适配几乎不需要大量的代码操作,更多的时间我们只是动动鼠标选择一下就搞定。可以苹果在这方面做的还是比较人性的,解放了开发者。首先来说说Iphone这几种屏(由于最近做的是iPhoneAPP还未涉及到iPad,将来涉及到iPad时会更新)机型资源分辨率屏幕宽高,单位点屏幕模式iPhone3gs320X480320X4801XiPhone4s640X960320X4802XiPhone5/5...

GCD

发布时间:2016-05-16 UI
 1.GCD的应用 单例模式这是我最开始接触的GCD应用 -(void)gcdTest1{   static dispatch_once_t onceToken;   dispatch_once(&onceToken,^{          NSLog(@"%@",[NSThread currentThread]);   });   } 2.延迟操作      在需要进行延迟的操作设置时可...

IOS程序内发短信

发布时间:2011-02-17 UI
 转自:http://luosky.com/2011/01/04/ios-in-app-sms/ iOS4.0新加入了MFMessageComposeViewController和MFMessageComposeViewControllerDelegate,提供了发送短信的接口,可以像发送邮件那样不用跳出程序来发送短信.介绍可参阅MessageUIFrameworkReference一些笔记:MF...

IOS程序内发短信 MFMessageComposeViewController

发布时间:2015-02-01 UI
文章转载地址:http://www.headsky.org/?p=63iOS4.0新加入了MFMessageComposeViewController和MFMessageComposeViewControllerDelegate,提供了发送短信的接口,可以像发送邮件那样不用跳出程序来发送短信.介绍可参阅MessageUIFrameworkReference一些笔记:MFMessageCompose...

理解WebKit和Chromium: 渲染主循环(main loop)和requestAnimationFrame

发布时间:2012-10-29 JAVASCRIPT VIEWUI UI
转载请注明出处:http://blog.csdn.net/milado_nju/#Chromium渲染主循环(mainloop)和requestAnimationFrame##概述曾经写过一段JavaScript代码,因为涉及到需要循环调用某个函数来实现动画的功能,很自然地,我想到了使用setInterval函数(或者setTimeout,大家是否有类似经历呢?),然后心满意足地很快的搞定。结束后...

springmvc+activiti 完美整合- 流程在线设计+代码生成器+UI快速开发库,提高一半的开发效率...

发布时间:2013-03-22 JAVA UI 数据库
JEECG(J2EECodeGeneration)是一款基于代码生成器的智能开发平台,采用代码生成+手工MERGE半智能开发模式,可以帮助解决Java项目60%的重复工作,让开发更多关注业务逻辑。既能快速提高开发效率,帮助公司节省人力成本,同时又不失扩展性和灵活性。JEECG宗旨是:简单功能由代码生成器生成使用;复杂业务采用表单自定义,业务流程使用工作流来实现、扩展出任务接口,供开发编写业务逻辑。...

(高考作文题)期待成长——说说Android应用市场(2011年6月)

发布时间:2011-06-22 移动开发 UI
为什么80%的码农都做不了架构师?>>>  (高考作文题)期待成长——说说Android应用市场(2011年6月) 进入Android这行当时间很短,也没啥业绩,但多少也有点心得总结,愿拿出来与诸位分享、探讨(所提及数据仅为个人的,并不代表全部,仅供参考,请勿人肉)。 应用市场在Android产业中扮演着非常重要的角色,对于应用开发者来说,尤其是中小开发者,因为没有太多的时间、精...

500万移民项目【找奥烨移民公司】

发布时间:2016-03-03 UI
http://my.oschina.net/0fv85bt4/http://my.oschina.net/vhgqjen8rc/blog/629242http://my.oschina.net/d6n9or81/blog/629272http://my.oschina.net/8cb8b56g5wxd/blog/629306http://my.oschina.net/zc6k6er741t/blo...

【Kotlin 协程】协程的挂起和恢复 ② ( 协程挂起 和 线程阻塞 对比 )

发布时间:2022-11-25 阻塞 KOTLIN UI 协程 挂起 KOTLIN 协程
一、协程挂起和线程阻塞对比挂起是协程中的概念,只能在协程中使用;阻塞是线程中的概念,可以在主线程和子线程中使用;1、协程挂起协程挂起操作:在协程中使用delay函数,挂起20秒时间,然后20秒后更新UI;delay函数是挂起suspend函数;//创建协程GlobalScope.launch(Dispatchers.Main){delay(20000)//主线程更新UILog.i("MainAct...

Qt Dialog 界面设计之 FindDialog

发布时间:2022-11-20 QT C++ UI 开发语言 C++ GUI QT 5 DEMO仓库
目录一、FindDialog效果图二、实现代码H文件:CPP文件:三、信号和槽四、补充说明一、FindDialog效果图二、实现代码代码的逻辑顺序:      1、创建并初始化窗口部件。         2、添加布局,把创建好的控件放入布局当中。         3、设置控件的属性。         4、建立信号-槽之间的连接。         5、实现自定义槽。H文件:#ifndefDIALOG...

Unity UGUI 原理篇(二):Canvas Scaler 縮放核心

发布时间:2018-11-16 游戏 C# UI
https://blog.csdn.net/gz_huangzl/article/details/52484611 CanvasScalerCanvasScaler是UnityUI系統中,控制UI元素的總體大小和像素密度的Compoent,CanvasScaler的縮放比例影響著Canvas下的元素,包含字體大小和圖像邊界。 SizeReferenceResolution:預設螢幕大小Screen...

团队转型之痛之悟

发布时间:2017-12-12 移动开发 JAVA UI
1、为什么转型?之前一篇文章详细介绍了转型《回到交友8个月来的测试团队转型实践》其中有几个关键点:从手工型团队向技术全栈型团队转型促成团队成员具备android、iOS、Java代码基础知识,要求基本的编程能力;转型前我跟管理层沟通:要么转型,提高生产力,会有成功的脱颖而出,该奖励就奖励,也会有淘汰的;要么继续平庸,过过日子,也别搞啥全程测试了;如果你是leader,会怎么选择呢?2、为什么团队痛...

项目优化经验——垃圾回收导致的性能问题[z]

发布时间:2010-03-16 MEMCACHED UI
谈谈最近优化一个网站项目的经验,首先说一下背景情况:1)在页面后台代码中我们把页面上大部分的HTML都使用字符串来拼接生成然后直接赋值给LiteralControl。2)网站CPU很高,基本都在80%左右,即使使用了StringBuilder来拼接字符串性能也不理想。3)为了改善性能,把整个字符串保存在memcached中,性能还是不理想。在比较了这个网站和其它网站服务器上相关性能监视器指标后发现...

iOS UI基础-4.0应用程序管理

发布时间:2015-08-23 UI
功能与界面功能分析:以九宫格的形式展示应用信息点击下载按钮后,做出相应的操作步骤分析:加载应用信息根据应用的个数创建对应的view监听下载按钮点击整个应用界面:程序实现思路UI布局:N宫格事件监听动态添加(byplist)整体封装,组合每个应用信息,使用View的层级包装帮助布局项目工程纯代码////UYViewController.m//4.0应用程序管理////Createdbyjiangys...

总结界面框架_UI_Adapter

发布时间:2017-06-14 ADAPTER UI
本人定期更新经典案例及解决方案如有疑问请联系我QQ1822282728--277627117  下面是常用到的ui Demo安卓三级筛选菜单listview(非常经典)http://download.csdn.net/detail/zillvip/9138975android地图应用(路径规划,地理编码,公交查询,活动轨迹)http://download.csdn.net/detail/zillv...

DWZ国产开源UI框架介绍

发布时间:2012-02-28 VIEWUI WEB UI & JQUERY UI JSON JAVASCRIPT
在Web应用程序的开发过程中,当后台的架构比较成熟后,我们会发现UI成了开发最大的瓶颈。对于大公司而言,他们都有自己的UI框架,因为他们有足够的资源去维护和发展自己的UI框架。通常小公司没有这样的技术力量和资源去维护自己的一套UI框架,选择一个开源UI框架是比较实际的一条路子。 我为WebUI框架做过一次选型,对比了ExtJs/JqueryUI/dhtmlx/DWZ等几个UI框架后,最终选定了DW...

项目经理手记

发布时间:2006-10-07 UI
 上个项目算是告一段落,进展的非常不顺利,但也算是一种经历,从中领略到了很多东西。做项目,就是要从失败中学习,对于导致项目进展不利的因素进行分析,进而使自己在下一次的项目管理过程中不会再一次的犯相同的错误。俗话说的好,人不应该被同一块石头绊倒两次。所以,失败并不都是坏事,虽然对于项目没有按时完成,项目经理承担主要责任,也被领导叫去训话,但是我觉得自己从中分析自己失败的原因,并在下一次项目的改正,这...

玩转Android Camera开发(三):国内首发---使用GLSurfaceView预览Camera 基础拍照demo

发布时间:2017-06-15 移动开发 JAVA UI
GLSurfaceView是OpenGL中的一个类,也是能够预览Camera的,并且在预览Camera上有其独到之处。独到之处在哪?当使用Surfaceview无能为力、痛不欲生时就仅仅有使用GLSurfaceView了。它能够真正做到让Camera的数据和显示分离,所以搞明确了这个,像Camera仅仅开预览不显示这都是小菜,妥妥的。Android4.0的自带Camera源代码是用SurfaceV...

深入Android渲染机制

发布时间:2017-11-16 移动开发 UI 嵌入式
1.知识储备CPU:中央处理器,它集成了运算,缓冲,控制等单元,包括绘图功能.CPU将对象处理为多维图形,纹理(Bitmaps、Drawables等都是一起打包到统一的纹理).GPU:一个类似于CPU的专门用来处理Graphics的处理器,作用用来帮助加快格栅化操作,当然,也有相应的缓存数据(例如缓存已经光栅化过的bitmap等)机制。OpenGLES是手持嵌入式设备的3DAPI,跨平台的、功能完...