2010年2月7日

     摘要: Intent解析基于组件的架构体系,除了有定义良好的组件,如何把这些组件组装在一起,也是一门艺术。在Android中,Intent(貌似通常译作:意图...),就是连接各组件的桥梁。前段时间看同事们做Symbian平台的网易掌上邮(真的是做的用心,NB的一米,热情欢迎所有163邮箱的S60v3用户,猛点击之...),有个功能是为邮件添加附件,比如你想要通过邮件发送一副图片泡mm,可能需要有个很直观...  阅读全文
posted @ 2010-02-07 22:09 duguguiyu 阅读(839) | 评论 (4)编辑

2010年1月30日

     摘要: Android组件横看成岭侧成峰,远近高低各不同。 -- 《题西林壁》组件(Component),在谈及所谓架构和重用的时候,是一个重要的事情。很多时候都会说基于组件的软件架构,指的是期望把程序做乐高似的,有一堆接口标准封装完整的组件放在哪里,想用的时候取上几个一搭配,整个程序就构建完成了。在开篇的时候就在说,Android是一个为组件化而搭建的平台,它引入所谓Mash-Up的概念,这使得你在应用...  阅读全文
posted @ 2010-01-30 13:09 duguguiyu 阅读(1400) | 评论 (3)编辑

2010年1月23日

     摘要: Android架构和特征千呼万唤始出来,犹抱琵琶半遮。 -- 《琵琶行》虽贵为富二代,但Android要是没任何可圈点的地方,开不过70迈,在玲琅满目的手机平台竞争中,充其量也就做几个俯卧撑打一桶酱油,然后被落的远远的。说到底,出来混,靠的还是技术。架构从SDK文档中,偷来一幅Android平台的架构图,如上。在整个架构最底层红彤彤的部分,是Linux Kernel在移动平台的一个移植,它隐藏了硬...  阅读全文
posted @ 2010-01-23 02:26 duguguiyu 阅读(2386) | 评论 (10)编辑

2010年1月21日

     摘要: 序携来百侣曾游,忆往昔峥嵘岁月稠。 -- 《沁园春·长沙》对于Android,我也算是老人了,所谓,有文有真想。正由于这段玩票经历,使得我在毕业后,鬼使神差的成为移动平台的一名码工,再次有机会放肆的拥抱Android。2010开年,手上突然有了一把闲散时间,有机会进一步总结和学习Android。于是想再一次为Android写一系列的东西,这些东西来自于一些开发经验,对源码的学习和对And...  阅读全文
posted @ 2010-01-21 00:56 duguguiyu 阅读(2300) | 评论 (24)编辑

2009年6月17日

     摘要: 永远活在同步的流程里,无疑是我等码工最大的奢望之一。为了不阻塞UI,为了读写一陀陀数据,为了含辛茹苦的演算复杂的逻辑,为了大家和睦相处共同劳动,总是需要异步处理,你一下我一下共同完成任务。在Symbian中,做了一套机制来做这件事情,这就是Active Objects。Active ObjectsActive Object是一套事件驱动的多任务模型。在Symbian的标准线程中(除掉一些Java构...  阅读全文
posted @ 2009-06-17 01:13 duguguiyu 阅读(2026) | 评论 (3)编辑

2009年6月13日

     摘要: 【四】 Symbian的容器Symbian在设计之初,没有拥抱STL,这就要求,它需要重新制作一些轮子,容器便是其中的一个。CArray系列容器Symbian的设计者,非常喜欢复杂的继承结构和保罗万象的类,CArray系列的容器,就是在这种理念下的产物。CArray是顺序容器,相当于STL的vector + list,以及更多。CArray系列容器,在继承的最底端,也就是可实例化使用的类,都采用C...  阅读全文
posted @ 2009-06-13 00:55 duguguiyu 阅读(1548) | 评论 (5)编辑

2009年5月29日

     摘要: 【三】 Symbian的描述符所谓描述符,一定程度上等同于字符串。只不过与C++的字符串不一样,Symbian中的描述符都是用一个附加的整数描述其长度,而不是以'\0'做终结符。因此,描述符可以表达任意数据,字符串或者二进制串。描述符体系打开任何一本关于Symbian介绍的书,都可以看到Symbian描述符那复杂的继承体系。它的基类是TDesC,顾名思义,T是代表它是T类,后缀C表示它是一个常量,...  阅读全文
posted @ 2009-05-29 12:07 duguguiyu 阅读(1635) | 评论 (3)编辑

2009年5月28日

     摘要: 【二】 Symbian对象构造C++的纯手工内存管理,确实是一个万恶之源。在对象构造时,有一个著名的内存泄漏隐患问题。比如一个类如下:class A{public: A() { a1 = new T1(); a2 = new T2(); ... an = new Tn(); }private: T1 * a1; T2 * a2; ... Tn * an;}当你调用 new A() 进行分配的...  阅读全文
posted @ 2009-05-28 02:26 duguguiyu 阅读(2526) | 评论 (5)编辑

2009年5月25日

     摘要: 【一】 Symbian命名法每个美感尚存的C++ coder,第一次看到Symbian C++的程序,第一反应是:这鬼代码怎么缩进的?接下来,所有人会有疑问应该是:函数和类上的乱七八糟的前后缀是啥意思?娃再丑也是爸妈生的,生成这模样虽然很无奈,但确实也是事出有因。在我看来,Symbian命名法的核心出发点,就是为了更好的内存资源管理。C++的人肉内存管理模式,在给人以控制到字节的快感的同时,也带了...  阅读全文
posted @ 2009-05-25 23:56 duguguiyu 阅读(2121) | 评论 (11)编辑

2009年2月28日

     摘要: 二. 分布式计算(Map/Reduce)分布式式计算,同样是一个宽泛的概念,在这里,它狭义的指代,按GoogleMap/Reduce框架所设计的分布式框架。在Hadoop中,分布式文件系统,很大程度上,是为各种分布式计算需求所服务的。我们说分布式文件系统就是加了分布式的文件系统,类似的定义推广到分布式计算上,我们可以将其视为增加了分布式支持的计算函数。从计算的角度上看,Map/Reduce框架接受...  阅读全文
posted @ 2009-02-28 14:41 duguguiyu 阅读(3887) | 评论 (7)编辑

2009年2月22日

     摘要: 分布式基础学习所谓分布式,在这里,很狭义的指代以Google的三驾马车,GFS、Map/Reduce、BigTable为框架核心的分布式存储和计算系统。通常如我一样初学的人,会以Google这几份经典的论文作为开端的。它们勾勒出了分布式存储和计算的一个基本蓝图,已可窥见其几分风韵,但终究还是由于缺少一些实现的代码和示例,色彩有些斑驳,缺少了点感性。幸好我们还有Open Source,还有Hadoo...  阅读全文
posted @ 2009-02-22 20:48 duguguiyu 阅读(5578) | 评论 (22)编辑

2008年11月5日

     摘要: 【五】 Chrome的插件模型1. NPAPI为了紧密的与各个开源浏览器团结起来,共同抗击IE的垄断,Chrome的插件,也遵循了NPAPI(Netscape Plugin Application Programming Interface)标准,支持这个标准的浏览器需要实现一组规定的API供插件调用,这组API形如NPN_XXX,比如NPN_GetURL,插件可以利用这些API进行二次开发。而N...  阅读全文
posted @ 2008-11-05 00:39 duguguiyu 阅读(4899) | 评论 (10)编辑

2008年10月24日

     摘要: 【四】Chrome的UI绘制1. Chrome的窗口控件Chrome提供了自己的一个UI控件库,相关文档可以参见这里。用Chrome自己的话来说,我觉得市面上的七荤八素的图形控件库都不好用,于是自己倒腾倒腾实现了一套。。。广告虽如此说,不过,Chrome的图形控件结构,我还未发现有啥非常非常特别的地方。Chrome的窗口、按钮、菜单之类的控件,都直接或间接派生自View,这个是控件基类。Chrom...  阅读全文
posted @ 2008-10-24 00:15 duguguiyu 阅读(4872) | 评论 (16)编辑

2008年10月12日

     摘要: 【三】 Chrome的进程模型1. 基本的进程结构Chrome是一个多进程的架构,不过所有的进程都会由老大,Browser进程来管理,走的是集中化管理的路子。在Browser进程中,有xxxProcessHost,每一个host,都对应着一个Process,比如RenderProcessHost对应着RenderProcess,PluginProcessHost对应着PluginProcess,有...  阅读全文
posted @ 2008-10-12 00:34 duguguiyu 阅读(6294) | 评论 (6)编辑

2008年10月4日

     摘要: 【二】Chrome的进程间通信1. Chrome进程通信的基本模式进程间通信,叫做IPC(Inter-Process Communication),在Chrome不多的文档中,有一篇就是介绍这个的,在这里。Chrome最主要有三类进程,一类是Browser主进程,我们一直尊称它老人家为老大;还有一类是各个Render进程,前面也提过了;另外还有一类一直没说过,是Plugin进程,每一个插件,在Ch...  阅读全文
posted @ 2008-10-04 09:27 duguguiyu 阅读(6177) | 评论 (18)编辑

2008年10月2日

     摘要: 【序】 开源是口好东西,它让这个充斥着大量工业垃圾代码和教材玩具代码的行业,多了一些艺术气息和美的潜质。它使得每个人,无论你来自米国纽约还是中国铁岭,都有机会站在巨人的肩膀上,如果不能,至少也可以抱一把大腿。。。现在我就是来抱大腿的,这条粗腿隶属于Chrome(开源项目名称其实是Chromium,本来Chrome这个名字就够晦涩了,没想到它的本名还更上一层楼...),Google那充满狼...  阅读全文
posted @ 2008-10-02 12:09 duguguiyu 阅读(14444) | 评论 (57)编辑

2008年9月4日

     摘要: 9月1日,各大门户网站的科技版或是各技术网站都登出消息,“Google间接否认推出浏览器”,缘由是Google与Mozila的合约延长到2011年,正常人不会一边把钱揣在别人兜里,一边一脚把人踹到水中。。。可惜,Google偏偏是那个不正常的。9月2日,Google宣布,将在9月3日(BJ时间)发出自家密制两载浏览器Chrome。伟大的技术观察家预言者们终于明白,火土之间,...  阅读全文
posted @ 2008-09-04 02:24 duguguiyu 阅读(7338) | 评论 (68)编辑

2008年6月29日

     摘要: Doxygen,大名鼎鼎的文档生成工具,被Boost、OpenCasCade等诸多项目作为文档生成的不二人选。人说,才华横溢往往是高深莫测,这句话放在Doxygen这里显然是不适用的。十八般武艺样样精通的Doxygen,却十分的简单易用,从头到尾看一下它随机的文档,想不会用都难。。。嫌看英文麻烦的,这里有一篇中文的入门介绍。简单的说,如果你准备在项目中采用Doxygen作为文档生成的工具,首先,你...  阅读全文
posted @ 2008-06-29 02:13 duguguiyu 阅读(9314) | 评论 (1)编辑

2008年5月18日

     摘要: Android挑战赛第一轮前50的作品公布出来了,除了有4个暂时希望保密,其他46的介绍都已放出。虽然我大大的名落孙山之后,但不妨碍翻看这些作品,尝试思考一些手机应用的问题,尽情期盼下明天。这些作品,是由上百位领域专家,经过一套还算复杂的流程评选出来的。我想,从中不仅仅可以看到Android的发展方向,也可以看到手机应用的一个发展趋势。如果你想在Android这块地盘上分一碗羹,或者,期望在手机应...  阅读全文
posted @ 2008-05-18 00:41 duguguiyu 阅读(4480) | 评论 (18)编辑

2008年5月3日

     摘要: 最近,在波利亚GG的谆谆教诲下,在pongba同学的循循善诱下,在TopLanguage的今天我们思考系列的热情引导下,我终于痛下决心开始琢磨所谓的科学思考问题的方法。对大部分人而言,解题不是终极目的,只是希望在解题中培养的思考问题的方式能够广泛的应用到其他领域。我依然觉得,思维这个抽象的可怕的东西,本质上还是个体化的,要因人而异,很难找到一招鲜吃遍天的套路。但其中,一些共性的东西还是可以抽取出来...  阅读全文
posted @ 2008-05-03 02:30 duguguiyu 阅读(3256) | 评论 (33)编辑

2008年4月19日

     摘要: 最近在把一个Fortran的程序封成模块整合进一个C++的平台中。平生第一次做fortran,也算是第一次正二八经的做二进制的混合开发。简单写一些,算为前一段工作做个总结。。。Fortran90与C++的整合,可以基于静态链接。就是都生成obj,然后link在一起。当然也可以是动态链接的,把Fortran打成dll,然后在C++中调用(windows下...)。当然,这都不会是本质性的问题,你可以...  阅读全文
posted @ 2008-04-19 00:33 duguguiyu 阅读(860) | 评论 (0)编辑

2008年3月16日

     摘要: 前段时间陆陆续续读完了pangba老大力荐的Why Programs Fail,一本关于程序调试的大作。给人最大的启发就是调试是一门科学而不是艺术。我从来不知道,原来调试还有那么多的千奇百怪的工具,可以写那么多的数学推导。从小学开始我们就开始了解,作文没写好你可以说老师欣赏不了,而数学题算错了只能怪自己混的不够到位。于是我们总是很主观的把调试当成艺术来看待,调试能力的高低不仅取决大量经验的积累也是...  阅读全文
posted @ 2008-03-16 04:07 duguguiyu 阅读(3109) | 评论 (10)编辑

2008年3月15日

     摘要: 刚在TopLanguage上发的一帖,回顾自己的编程之路。所有人的贴在这里,推荐大家看看。我学程序的路也走得比较诡异,不是那种扎扎实实一步一步往上走的。高中毕业到大一,开始淘腾程序,基本觉得好玩的都去学学,主要是VB,混着还有Html,ASP,ActionScript等等之类。总之是杂七杂八,每样沾点皮毛。这算是第一个开头阶段。由于本科学的是飞行器动力(研究导弹发动机...),只能自己选一些计算机...  阅读全文
posted @ 2008-03-15 00:39 duguguiyu 阅读(1169) | 评论 (7)编辑

2008年2月16日

     摘要: 2月14日情人节,一向善于挑日子的Google在其Android官方Blog上公布了新版AndroidSDK发布的消息(根据网站上的日期,SDK应该是2月12日就更新了,看来Google的公关做得确实很不勤劳...)。这次发布的SDK版本号为M5,理论上这应该会是第一轮比赛初赛前最后一个版本了,在此前,为了大家更好适应新的SDK,Google将第一轮比赛初赛的结束日期顺延了将近一个半月,这意味着此...  阅读全文
posted @ 2008-02-16 12:30 duguguiyu 阅读(1244) | 评论 (4)编辑

2008年1月24日

     摘要: 有了framework后,我们不用面对赤裸裸的OS API,做一些重复而繁杂的事情。但天下没有免费的午餐,我们还是需要学会高效正确的使用不同的framework,很多处理某一特定问题的手法在不同的framework中,用起来都会有所不同的。在Android中,下层是Linux的核,但上层的java做的framework把这一切封装的密不透风。以消息处理为例,在MFC中,我们可以用PreTransl...  阅读全文
posted @ 2008-01-24 01:12 duguguiyu 阅读(2535) | 评论 (4)编辑

2008年1月23日

     摘要: 从1月22日起,微软通过Update推送SliverLight。从2月12日起,微软通过Update把所有的IE浏览器都强制升级为IE7。IE8快速前行在标准话的路上,并将超越ff,成为更“标准”的象征。这意味着什么呢?  阅读全文
posted @ 2008-01-23 00:47 duguguiyu 阅读(765) | 评论 (6)编辑

2007年12月31日

     摘要: Android做到现在。开始感觉到Android确实还是太年轻。系统本身好不够成熟,相关文档更是少的可怜。在Android的旅途中到处是暗坑陷阱,掉进去摔得半死,还只能靠自己琢磨着爬出来。想在大部分工作集中在了定义一套ContentProvider以及上层的显示控件上。一个ContentProvider向外提供的接口十分有限,但就是这几个东西你要表征出正确(标准就是和系统ContentProvid...  阅读全文
posted @ 2007-12-31 01:10 duguguiyu 阅读(1312) | 评论 (6)编辑

2007年12月18日

     摘要: 最近读了TopLanguage上关于编程风格的一些讨论,拜读了下云风老大的两篇佳作。感触良多。做为一个“码头工人”,每天都在coding,不由会想,我们的脑细胞和陪mm的时间都耗在了哪行代码上。诚然,在C++这样的语言中,我们大把的时间花在了等待编译以及做一些繁杂而和coding无直接关联的事情。Toplanguage上有老大说,他的C++生涯25%在等待编译,5%在各种字...  阅读全文
posted @ 2007-12-18 01:12 duguguiyu 阅读(2888) | 评论 (18)编辑

2007年12月7日

     摘要: 本来没想这么快就继续参加一个Match的。但一试水发现有戏,就一直做了下去。最高做到35,稍微懒散了几天,倒数第二天掉到了50。最后一天发挥各种猥琐手段,在unsolve的题上扒下来一些分数,以43名进入第二轮。虽然晋级,同样不开心,因为很多题没有搞定。看了别人的solutions,从技巧和模式上又发现许多值得一说的地方。但,也许是晋级了,也许是做的我郁闷不已,没觉着再有必要去总结那些技巧了。也许...  阅读全文
posted @ 2007-12-07 00:03 duguguiyu 阅读(563) | 评论 (1)编辑
     摘要: LeaderBoard 1 Rac 47687 Poland Politechnika Krakowska 2 Jedi_Knight 47326 Russia Moscow State University 3 XarN 46798 Poland AGH University of Science and Technology 4 chokudai 46085 Japan Senior High...  阅读全文
posted @ 2007-12-07 00:01 duguguiyu 阅读(574) | 评论 (0)编辑

2007年12月6日

     摘要: Leader Broad rank match 1 match 2 1 PL Rac RU Jedi_Knight 2 RU Jedi_Knight JP TaiTai 3 PL XarN JP Yendor 4 JP chokudai CN mstlq 5 NO Eirik Reksten RU Fly 6 HU szsz SI umnik 7 LT FloppyCat UA P@VeL 8 P...  阅读全文
posted @ 2007-12-06 23:57 duguguiyu 阅读(540) | 评论 (2)编辑

2007年12月3日

     摘要: Android的界面显示同样也是基于控件的。通常是用View(包括ViewGroup)控件配上XML的样式来做的。具体细节不想说了,可以参考Samples里的ApiDemos/View,和View的Doc,以及Implementing aUI这篇Doc。其他还有很多,感觉算是SDK讲述的最多的内容。从控件的使用上,和网页的设计类似,尽量用parent_width之类的抽象长度,用Theme来做风格...  阅读全文
posted @ 2007-12-03 23:43 duguguiyu 阅读(1406) | 评论 (0)编辑

2007年11月30日

     摘要: 今天爬到wikipedia上看了下Android这个词相关的故事。呵呵。很有意思。基本就是一个常出现在科幻小说中的具有人的能力的小机器人。Google取这个名字应该是希望安装了Android的手机像一个活生生的人一样成为你必不可少的一个帮手。不过这个名MS不是Google取得。而是2005收购Android平台前身的时候直接带来的。So。。有钱还是真无敌。。。。  阅读全文
posted @ 2007-11-30 12:04 duguguiyu 阅读(762) | 评论 (0)编辑
     摘要: 在前面写Android的ContentProvider时候,可以看到那是基于观察者模式的一个消息传递方法。每一个Cursor、ContentResolver做为一个小的注册中心,相关观察者可以在这个中心注册,更新消息由注册中心分发给各个观察者。而在MFC或Winform中,都会形成一个消息网,让消息在网中流动,被各节点使用、吃掉或者在出口死掉。相比之下,我个人觉得基于Intent的Android核...  阅读全文
posted @ 2007-11-30 01:42 duguguiyu 阅读(1153) | 评论 (0)编辑

2007年11月25日

     摘要: Android的数据(包括files,database等...)都是属于应用程序自身,其他程序无法直接进行操作。因此,为了使其他程序能够操作数据,在Android中,可以通过做成ContentProvider提供数据操作的接口。其实对本应用而言,也可以将底层数据封装成ContentProvider,这样可以有效的屏蔽底层操作的细节,并且是程序保持良好的扩展性和开放性。ContentProvider...  阅读全文
posted @ 2007-11-25 22:44 duguguiyu 阅读(1271) | 评论 (0)编辑

2007年11月17日

     摘要: 如果你还不知道google的重磅炸弹Android(中文意思是机器人...感觉google取名字的天赋全部花在google这个词上了...)是什么,你可以看一下这里。如果你觉得挺没有意思,再看一下这里。如果还觉得不好玩,那下面的东西就不需要看了。。。对我来说,Android还是很有吸引力的,不然一个MS技术的忠实走狗也不至于一下就投入java的怀抱。至于为什么?恩,等我有八卦精神的时候再使劲的侃。...  阅读全文
posted @ 2007-11-17 10:36 duguguiyu 阅读(1447) | 评论 (7)编辑

2007年11月14日

     摘要: 前段时间看了一些关于GC的论文、书和源码。源码指的是Boehm的保守GC ,论文也主要是围绕这个GC相关的算法,另外还包括一些survey和性能分析的论文。而其他关于GC的一些东西主要是从其他两本书上看来,一本是谢之易老大翻译的垃圾收集 ,目前唯一一本关于GC算法的书,还有就是仔细阅读了C# via CLR 中关于.net GC的部分。原本想做个GC算法上的总结,但前几天在实验室做了个关于GC i...  阅读全文
posted @ 2007-11-14 14:41 duguguiyu 阅读(1656) | 评论 (2)编辑

2007年11月11日

     摘要: 第一次参加Imagine Cup的算法比赛。做到最后有些力不从心,基本放弃。最终做到总分接近3.2k,位列87。 最初参赛的目的很简单,为自己看高大爷的书提供点动力。没想到的是Herbert真不是白给的,大把时间砸了上去还是没搞定(大爷的书一眼没看*_*)。Match 1 结束后,看了一下名列前茅的小N孩们的solutions。OMG,不由不赞,很有想法。 于是决定找时间参加Match3或Matc...  阅读全文
posted @ 2007-11-11 14:17 duguguiyu 阅读(1029) | 评论 (2)编辑

2007年7月21日

     摘要: 在做一个MFC软件的时候有一个这样的需求,就是要有类似与AutoCad的命令输入框,如下图所示:本着不重写已有功能的原则,在MFC中发掘了一圈,没发现有可用的现成控件,上网搜了一下,发现有人做过,但竟然还收费出售,so faint,只能自己动手做一个。其实思路还是蛮简单的,就是放个Edit控件处理它的键盘输入事件,防止删除之前的记录和提示信息,还要处理结束命令,比如回车、空格之类的。主要有以下几个...  阅读全文
posted @ 2007-07-21 21:43 duguguiyu 阅读(1371) | 评论 (3)编辑
     摘要: 在VC++中有着一大把字符串类型。从传统的char*到std::string到CString,简直是多如牛毛。期间的转换相信也是绕晕了许多的人,我曾就是其中的一个。还好,MS还没有丧失功德心,msdn的一篇文章详细的解析了各种字符串的转换问题,链接如下:http://msdn2.microsoft.com/zh-cn/library/ms235631(VS.80).aspx。参照这篇文章,可以搞定...  阅读全文
posted @ 2007-07-21 21:04 duguguiyu 阅读(858) | 评论 (0)编辑

导航

公告





赤果果的口水娃一枚,好喷,若有所悟,甚喜。



正沦落在移动开发领域,愤慨的挣扎在Symbian的泥沼中,期盼早日爬上Android的贼船。



技术讨论,欢迎致信:duguguiyu(At)gmail.com。



私人问题MSN To:duguguiyu(At)hotmail.com,男士止步。



更多详情,请使用有道搜索







Android开发论坛:安友网





Chrome技术讨论QQ群:49829897









<2010年2月>
31123456
78910111213
14151617181920
21222324252627
28123456
78910111213

统计

搜索

 

随笔分类(153)

随笔档案(109)

积分与排名

最新评论

阅读排行榜