《深入BREW开发》——前言

来源:互联网 发布:软件压力测试 编辑:程序博客网 时间:2024/05/19 16:36

导读
这本书适合谁?
       在构思这本书的时候,我一直在想它应该针对哪一类读者呢,是有开发经验的程序员,还是初出茅庐的新手?我虽然反复的追问,但是我真的无法完全区分这两类读者,因为任何人的知识都是有局限性的,没有任何人能够什么都懂。所以最终我确定这本书的读者应该是那些想在计算机软件技术上深入钻研的人——用心去读书的人!是的,把这本书献给那些用心去读书的人,这也可以激励我用心去写作!
       假如您是一位初学者,您千万不要害怕,在这本书里我只假设您懂得C语言,并且用它写了至少一个100行以上的程序就足够了。我相信我所讲的内容将有助于提高您在C语言开发上的技能,使您能够尽快地跨进软件世界的大门。而且本书专门为您准备了介绍基础知识的章节,夯实您的技术基础。因为在我看来,任何事情要做好都必须有相关坚实的专业知识做为基础,没有基础的上层建筑是不牢固的。
       假如您是一位PC上的程序员,并且希望学习一些关于嵌入式平台的知识,那么这本书也是适合您的,这本书可以向您展示嵌入式系统的相关知识。从某种程度上来讲,嵌入式系统就是一个小型的PC。或者由于一个更小的系统也更加容易理解的原因,这本书也可以让您通过对BREW平台的深入理解而有助于您理解诸如Windows这样的大型平台。再进一步,如果您正在学习有关COM(Component Object Model)的知识,那么在本书中我将向您展示一个C语言版本的COM实现,它将进一步加深您对COM的理解。
       假如您是一位嵌入式系统的程序员,希望深入的了解一个平台并且获得相关的知识,那么,这本书也是适合您的。在这本书里深入的分析了嵌入式系统开发平台BREW的实现方法以及组成,通过这些分析以及相关知识(如图形系统、事件驱动机制的实现)的阐述,您将更加深刻的理解嵌入式平台的组成要素。而且通过对BREW系统架构的剖析,对您设计自己的开发平台也会提供一个很好的参考。
       假如您不但是一位程序员,而且还是一位BREW平台上的开发者,那么我不得不说,这本书是您的案头必备!在这本书里将深入的为您分析BREW的工作机制,BREW应用程序的运行原理,以及BREW接口的实现方法。与此同时,本书的示例程序中还为您提供了一个BREW应用程序的框架,使得无论您开发什么样的BREW应用程序都可以得心应手。
       如果现在为止,您还是不知道自己应不应该读这本书的话,那么我建议您先看看本书的目录,或许从那里您可以找到让您感兴趣的内容。
内容安排
       全书共分三篇,每一篇均有不同的侧重点。
       第一篇是勿在浮沙筑高塔,主要是介绍了理解BREW和嵌入式系统所需要的基本知识。其中包括硬件、C语言、编译器和MakeFile等专业性较强的内容。虽然本篇的主要目的是给初学者夯实基础,但是,我相信其中所讲的内容对专业人士也会有一定的参考价值。
       第二篇是磨刀不误砍柴工,主要介绍BREW应用程序的开发过程,让我们能够从开发BREW的应用程序的过程中熟悉BREW平台。在本篇中,还推荐了一个基于BREW事件驱动机制的应用程序框架,这个框架采用了状态机的方式实现。通过这个框架,我们可以更加轻松的开发出应用程序。
       第三篇是一识庐山真面目,在这一部分里我们剖析了BREW内部的实现方式,这一部分也是本书的重点。从这一篇的内容中我们将了解到BREW是如何使用C语言实现COM机制,BREW内核的工作方式,以及BREW平台中图形系统的结构和一些高级的BREW接口的应用程序。这一篇就是深入BREW内部,分析BREW,为我们的软件系统开发提供参考。
本书的约定
       直到我开始写这本书的时候我才发现,如果想描述清楚一个思想是多么的困难,除了需要使用拗口的语言外,还必须要添加一些示意图。因为这些图看起来很直观,可能更容易理解(但是请注意,要结合说明来看,虽然这些说明有些很难懂,但往往本质就在这里面)。虽然我希望我能用最简单的语言来表述我的想法或描述一个原理,但考虑到描述准确性的问题,我不得不使用一些拗口的语言,这的确很矛盾,但是我只能尽力而为。
在这本书中指的嵌入式系统通常指手机系统或者叫做手持设备,因为这个系统更加具有普遍性,并且BREW平台本身也是针对手机开发的。
       由于这本书的内容是通过对比PC(Personal Computer)系统与嵌入式系统来各自展现它们的特点,因此在描述他们共性的时候我会使用计算机系统做为两者的统称。有人可能认为计算机系统应该指的是PC系统,实际上这是不准确的,因为嵌入式系统也是一种计算机系统,只不过小了那么一点。   
       在这本书中也频繁的使用了“程序”和“代码”两种称谓,它们之间没有明显的区别,只是根据上下文的不同,我可能会选择不同的称谓。
       在本书中,有时候称BREW的应用程序为Applet(小应用),有的时候又会直接称为应用程序,其实这两者都是一样,没有什么不同。之所以会有两种称呼,有的时候只是源于一种习惯——来自BREW开发文档本身的一种习惯。
如何联系作者
我尽力让这本书技术精准、可读性高,而且有用,但是我知道一定仍有改善空间。
如果您发现任何错误——技术性的、语言上的、错别字、或任何其他东西——请告诉我。我会试着在本书的新版本中修正它。如果您是第一位告诉我的人,我会很高兴将您的大名登录到本书致谢文内。如果您有改善建议,我也非常欢迎。
       我非常乐意和本书的所有读者沟通,接受您对本书以及对我个人的指正和建议。不过我希望能将内容局限在对书籍、对知识的看法,以及对本书谬误的指正或建议上面。如果只是单纯地想和我交个朋友聊聊天,我也会倍感荣幸。
网络时代,唯网独尊,我的 Email 地址是:gemsea@163.com
发表于 @ 2006年09月07日 13:46:00 | 评论( 12 ) | 编辑| 举报| 收藏

新一篇:《深入BREW开发》——第一篇 勿在浮沙筑高塔aaronlibra 发表于2007年1月27日星期六 10:22:09  IP:举报
本人现也从事基于Brew平台的手机软件开发,不过才刚刚入行。市面上或网上关于Brew的书籍和文章实在寥寥,而且很多都是入门级的资料,只是翻译了API Reference而已。因此我苦苦寻觅能较深入阐述Brew平台的东西,直到上次拜读阁下的大作《深度剖析Brew实现原理》,我才知道发现了难寻的高人,遂一直关注阁下的博客,今见又出新作,而且更详细,更全面,更深入,不禁喜出望外。我一定会经常光顾,拜读阁下大作!Gemsea 发表于2007年1月27日星期六 14:47:28  IP:举报
欢迎常来光临!linfengwang 发表于2007年1月28日星期日 12:45:35  IP:10.128.45.*举报
#define TEST_DATAFILE_FULLNAME "fs:/shared/mnm/mn_data.txt"

IFileMgr *fpmgr=NULL;
IFile *fp=NULL;

fp = IFILEMGR_OpenFile(fpmgr, (const char *)TEST_DATAFILE_FULLNAME, _OFM_READ);
怎么总是导致设备重启啊,
路径肯定没有问题,而且就算路径有问题,也是返回空啊

IFILEMGR_Test(fpmgr, (const char *)TEST_DATAFILE_FULLNAME )
也是同样的问题,没有错误返回,直接重启设备。


我现在也遇到这个问题,都折腾了两天还是不行呀。郁闷死了,是不是高通的这个接口有问题。
IFileMgr * ,借口肯定是创建成功了。而且别的文件都可以操作,但是有一个文件就是不行。运行到这里手机直接死机,用仿真器跟踪,结果好像和内存分配失败有关,最终导致重启!!!


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/Gemsea/archive/2006/09/07/1189990.aspx