20.Broncho设计备忘录
李先静
Only those who attempt the absurd can achieve the impossible.
展开
-
Linux下文件关联的实现原理
Linux下文件关联的实现原理 转载时请注明出处:http://blog.csdn.net/absurd/ 我们知道在Windows下,双击一个可执行文件,文件管理器会自动运行这个应用程序。而双击一个数据文件时,文件管理器会用与之关联的应用程序打开它。数据文件与应用程序之间的关联是通过注册表来实现的:文件管理器查询注册表,找到数据文件对应的应用程序,然后运行这个应用程序,并把数据文原创 2006-08-30 22:43:00 · 8821 阅读 · 7 评论 -
broncho linux手机平台software stack
原创 2008-04-25 20:24:00 · 3423 阅读 · 2 评论 -
手机探索者开发实录—需求简述
手机探索者开发实录—需求简述 转载时请注明出处和作者联系方式作者联系方式:李先静 手机已经不再是一个封闭的环境了,无论是SmartPhone还是FeaturePhone,都会提供与PC交换数据的途径,Nokia手机有PC Suite,Window mobile手机有ActiveSync,基于展讯平台和MTK平台的FeaturePhone也有相应的PC工具,还有第三方提供的通用P原创 2008-08-19 21:42:00 · 3318 阅读 · 10 评论 -
手机探索者开发实录—设计时考虑
手机探索者开发实录—设计时考虑 转载时请注明出处和作者联系方式作者联系方式:李先静 手机探索者(mobile explorer)在设计时主要考虑到: 独立于传输方式。手机和PC之间的传输方式多种多样,像蓝牙,红外,WIFI和USB等等,手机探索者(mobile explorer)独立于这些传输方式,它通过提供一个MobileExplorerStream的接口对其进原创 2008-08-19 21:49:00 · 2466 阅读 · 0 评论 -
手机探索者开发实录—基本组件
手机探索者开发实录—基本组件 转载时请注明出处和作者联系方式作者联系方式:李先静 手机探索者(mobile explorer)的架构很简单: <v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9原创 2008-08-20 20:13:00 · 3021 阅读 · 0 评论 -
手机探索者开发实录—MobileExplorer接口
手机探索者开发实录—MobileExplorer接口转载时请注明出处和作者联系方式作者联系方式:李先静 MobileExplorer接口是手机探索者(mobile explorer)的一个重要部件,它提供了对手机操作的基本抽象:typedef MeRet (*MobileExplorerGetTypeInfoFunc)(MobileExplorer* thiz, MeType* type);typ原创 2008-08-20 20:50:00 · 2133 阅读 · 0 评论 -
手机探索者开发实录—数据转换器(Transformer)
手机探索者开发实录—数据转换器(Transformer)转载时请注明出处和作者联系方式作者联系方式:李先静 我们决定用XML来打包数据,借以避免二进制的晦涩,以及字节顺序和字节对齐的问题。这会引出一个小小的麻烦,有些字符和字符序列是不允许出现在XML文档中的,因为XML用它们来表示自己的语法,比如大/小于号和引号,XML也不允许二进制数据出现在里面,它只能表示文本内容,而且按统一的标准编码。要传输原创 2008-08-23 18:32:00 · 1946 阅读 · 0 评论 -
手机探索者开发实录—数据解包
手机探索者开发实录—数据解包转载时请注明出处和作者联系方式作者联系方式:李先静 数据打包比较容易,解包却要困难得多。XML解析有DOM和SAX两种方式,我比较喜欢SAX方式,一是比较简单,不需要熟悉复杂的DOM API。二是可以边解析边处理。三是开源的expat简单易用,而且支持UTF-8编码。所以在手机探索者中,我们理所当然的采用SAX方式了。SAX是典型的builder模式,有了expat的帮原创 2008-08-25 21:14:00 · 2616 阅读 · 0 评论 -
手机探索者开发实录—数据打包
手机探索者开发实录—数据打包转载时请注明出处和作者联系方式作者联系方式:李先静 我们采用XML打包数据,而且采用UTF-8编码,数据打包相对比较简单,主要考虑几个问题:数据组织,我们有三类数据要传输,一是发送给手机的请求数据包,二是从手机返回的响应数据包,三是从手机上报的事件数据包。请求数据包的组织方法 (我已经记不得DTD的语法细节,只能给个例子):req name="clipboard_set原创 2008-08-24 17:30:00 · 2189 阅读 · 0 评论 -
手机探索者开发实录—rndis/usbnet
手机探索者开发实录—rndis/usbnet转载时请注明出处和作者联系方式作者联系方式:李先静 手机探索者(mobile explorer)通过几层抽象,让它不依赖于特定的传输方式,然而抽象就是抽象,一个抽象的面包是不能填饱肚子的,我们一定要有具体的实现。手机探索者(mobile explorer)先实现基于rndis/usbnet的传输方式,在linux PC上支持usbnet是一件非常自然的事原创 2008-08-27 21:29:00 · 8357 阅读 · 0 评论 -
手机探索者开发实录—代码产生器(上)
Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 <!-- /* Font原创 2008-09-03 21:38:00 · 2721 阅读 · 0 评论 -
手机探索者开发实录—代码产生器(下)
手机探索者开发实录—代码产生器(下) 转载时请注明出处和作者联系方式作者联系方式:李先静 代码产生器的代码:gen_framework.sh#!/bin/bashif [ "$2" = "" ]then echo $0 "intf|impl some.def" exit 0fiACTION=$1INPUT=$2CLASS=${INPUT/.def/}CLASS_NAME=`ec原创 2008-09-03 21:48:00 · 2118 阅读 · 2 评论 -
手机探索者开发实录—MobileX插件
手机探索者开发实录—MobileX插件转载时请注明出处和作者联系方式作者联系方式:李先静 手机探索者的传输通道已经打开了,在broncho平台上的实现也已经做好了。但还有三个任务有待完成:VNC客户端,Windows资源管理器扩展和Linux资源管理器扩展。考虑到时间紧迫和客户的要求,我们先给Mobilex开发一个插件,其它功能作为下一个阶段性目标再现实吧。MobileX算不上一款优秀的PC工具,原创 2008-09-07 17:11:00 · 2285 阅读 · 0 评论 -
手机探索者开发实录--源代码
手机探索者开发实录--源代码转载时请注明出处和作者联系方式作者联系方式:李先静 手机探索者的框架基本上已经实现了,目前剩下的工作有:与VNC集成。这包括两个任务:一个是移植VNC客户端,与手机探索者集成到一起。另外一个是与broncho平台相关的,让DirectFB/fbdev支持同时输出到VNC上。与Windows资源管理器集成。主要是实现一个COM接口,我看了AdfView的实现,可以在上面修原创 2008-09-15 19:20:00 · 9269 阅读 · 2 评论 -
数据同步管理器设计备忘录
<!-- @page { size: 21cm 29.7cm; margin: 2cm } P { margin-bottom: 0.21cm } --> 数据同步管理器设计备忘录转载时请注明出处和作者联系方式作者联系方式:李先静 在设计数据同步管理器时,主要考虑到与不同的PC工具和服务器同步,提高与其它手机的互通性的,方便与第三方合作开原创 2008-04-20 13:49:00 · 2566 阅读 · 0 评论 -
事件管理器设计备忘录
事件管理器设计备忘录 转载时请注明出处和作者联系方式:http://blog.csdn.net/absurd作者联系方式:李先静更新时间:2007-5-17 事件管理器基于MVC模型提供一种进程间的通信机制,其主要作用是解开事件的触发者和事件的实现者之的耦合,也为集中处理某些事件提供了方便。现在看来,事件管理器的作用已经大不如以前了,比如下面这些事件,以前由事件管理器处理,原创 2007-05-17 21:09:00 · 4344 阅读 · 0 评论 -
用DBUS实现Startup notification的构想
用DBUS实现Startup notification的构想 转载时请注明出处和作者联系方式:http://blog.csdn.net/absurd作者联系方式:李先静更新时间:2007-5-11 有的应用程序起动过程比较长,在起动之后,一定时间内没有反应。为了避免让用户等得不耐烦,或者误以为死机了。在此期间,提原创 2007-05-11 21:47:00 · 4211 阅读 · 0 评论 -
数据持久层框架备忘录(手机平台)
数据持久层框架备忘录(手机平台) 作为智能手机,无论是在MMI应用程序里,还是在PIM应用程序中,数据的查询、排序、存储功能的代码都占很大比例。所以说,数据持久层框架是一个基础性的架构,它的设计好坏,直接影响整个平台的品质。在这方面,我们从一开始就很慎重。 尽管本文中的基本观点都是我提出,然后和大家一起讨论细化的,但毕竟是大家的劳动成果,我没有权力写出来与别人分享。问题在于,我们几原创 2006-04-27 20:31:00 · 3563 阅读 · 3 评论 -
[手机平台]Alarm事件管理器设计备忘录
[手机平台]Alarm事件管理器设计备忘录 转载时请注明出处:http://blog.csdn.net/absurd 这里的Alarm是指定时提醒相关的Alarm事件。在智能手机里,个人信息管理(PIM)是其重要组成部分之一,而在PIM应用程序里,很大一部分都与Alarm有关,比如闹钟、日程和任务等等。加上其它诸如定时开/关机等杂七杂八的应用程序,很多应用程序都与Alarm事件有关原创 2006-09-19 22:33:00 · 3300 阅读 · 0 评论 -
[linux手机平台]让应用程序单实例运行
[linux手机平台]让应用程序单实例运行 转载时请注明出处和作者联系方式:http://blog.csdn.net/absurd作者联系方式:Li XianJing 更新时间:2006-12-19 和PC上的应用程序不同,手机上的应用程序一般都只允许单实例运行。当应用程序已经在运行,再次运行该应用程序时,通常只是把该应用程序的窗口提到前面来,把新的命令行参数传递给第一原创 2006-11-05 21:28:00 · 4682 阅读 · 5 评论 -
手机搜索设计备忘录
手机搜索设计备忘录 转载时请注明出处和作者联系方式:http://blog.csdn.net/absurd作者联系方式:Li XianJing 更新时间:2006-12-19 我们要在手机上做一个搜索的应用程序,它支持在名片、邮件、短信和文件系统等不同的数据源中搜索。和普通的桌面搜索相比,它的功能相对弱小,不支持组合查询,只支持简单的正则表达式查询。尽管如此,这个应用程原创 2006-11-08 20:59:00 · 4753 阅读 · 1 评论 -
短信应用设计备忘录
短信应用设计备忘录 转载时请注明出处和作者联系方式:http://blog.csdn.net/absurd作者联系方式:Li XianJing 更新时间:2006-12-19 短信是手机最重要的功能之一,也是最复杂的应用之一。在前一家公司,我曾参与改造短信应用的架构,里面有近三万行的C代码,累计BUG超过500个,开发周期历时超过18个月,负责人换了几个,最后的负责人也原创 2006-11-11 14:08:00 · 3860 阅读 · 6 评论 -
我们手机平台的几个基础模型
我们手机平台的几个基础模型 转载时请注明出处和作者联系方式:http://blog.csdn.net/absurd作者联系方式:Li XianJing 更新时间:2006-12-19 我们从设计这个手机平台开始,就一直不遗余力的贯彻三个基本设计模型:C/S模型、插件式设计和MVC模型。随着平台的演化,这些模型已经开始显现出威力。这里我们简单介绍一下,欢迎交流。原创 2006-12-05 20:54:00 · 5669 阅读 · 8 评论 -
Mplayer改造备忘录
Mplayer改造备忘录 转载时请注明出处:http://blog.csdn.net/absurd Mplayer可能是Linux下功能最强大的多媒体播放器,它支持大量的多媒体文件格式,像常见的音频文件如mp3/wav/mid,常见的视频文件如avi/vcd/dvd/rm等等,各种视频编/解码方式也是应有尽有。它对音频和视频输出方式也有比较全面的支持,重要的是它支持我们需要的OSS原创 2006-08-10 21:02:00 · 4212 阅读 · 7 评论 -
使用MVC模型的几个常见误区
使用MVC模型的几个常见误区 转载时请注明出处和作者联系方式:http://blog.csdn.net/absurd作者联系方式:Li XianJing 更新时间:2006-12-19 像名片、日程、任务、短信、文件浏览器和多媒体播放器等应用程序,都采用MVC模型作为其基本架构。但从这段时间的文档评审来看,我们对MVC模型的理解仍然存在一些误区。这里简单谈一谈,欢迎交流原创 2006-12-07 21:12:00 · 5358 阅读 · 7 评论 -
桌面模块设计与实现回顾
桌面模块设计与实现回顾 转载时请注明出处:http://blog.csdn.net/absurd 桌面模块的实现基本上告一段了,这里做个总结,把其中的得失写下来,供来者参考。 据以前的经验,桌面模块是比较复杂的。介于它的特殊的地位,容易把它当作杂物箱,什么功能都往里面放。比如系统初始化、密码验证、锁屏、系统事件(如,新事件、设置改变、主题改变、时间改变和磁盘满等)等、甚至M原创 2006-08-11 19:57:00 · 4962 阅读 · 0 评论 -
关于Gconf改造的构想
关于Gconf改造的构想 转载时请注明出处:http://blog.csdn.net/absurd 开源社区真是个百宝园,什么好东西都有。可以免费用(当然要遵守相应的规则)不说,而且都带有源代码,用得不顺手时还可以修改它。那Gconf来说吧,Gconf和gnome-vfs可以说是GNOME桌面环境的两大亮点。至于后者我们暂时不考虑了,这里说说gconf的功能,以及改造它的原因和方式原创 2006-08-13 17:16:00 · 3131 阅读 · 0 评论 -
编写可测试的程序
编写可测试的程序 转载时请注明出处和作者联系方式:http://blog.csdn.net/absurd作者联系方式:Li XianJing 更新时间:2006-12-19 今天同事在autobuild脚本中加入了autotest,我们项目中已经有了不少自动测试程序,但分布比较零散,没有一个地方把它们集中起来,现在这些测试程序终于有了归宿。虽然这只是测试程序的调用入口点原创 2006-12-14 21:49:00 · 5924 阅读 · 3 评论 -
彩信库(mmslib)设计备忘录
彩信库(mmslib)设计备忘录转载时请注明出处和作者联系方式:http://blog.csdn.net/absurd作者联系方式:Li XianJing 更新时间:2006-12-19 彩信库(mmslib)确实有一点复杂,尽管有两位高手指点,还是花了12个工作日才完成它的设计、编码和测试,写了超过4000行的C代码(除去测试程序、注释、空行和头文件原创 2006-12-19 21:24:00 · 13260 阅读 · 24 评论 -
MVC控制器(Controller)与策略模式(Strategy)
MVC控制器(Controller)与策略模式(Strategy) 转载时请注明出处和作者联系方式:http://blog.csdn.net/absurd作者联系方式:Li XianJing 更新时间:2006-1-11 MVC模式已经称得上是家喻户晓了,MVC是模型(Model)、视图(View)和控制器(Controller)的首字母缩写。与模型(Model)和视图(原创 2007-01-11 21:42:00 · 6330 阅读 · 1 评论 -
手机探索者开发实录—Broncho支持VNC
手机探索者开发实录—Broncho支持VNC转载时请注明出处和作者联系方式作者联系方式:李先静 在前段时间写的一篇BLOG中,我介绍了DirectFB同时显示到X11和VNC的方法。那是一个有趣的实验,为此我兴奋了好一会儿,不过没有什么太大的实用价值,因为broncho平台使用的GTK/DirectFB作为GUI,显示通过fbdev(framebuffer)输出到LCD。我们要做的是让Direct原创 2008-09-21 19:03:00 · 4054 阅读 · 7 评论