<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://developer.db4o.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">db4o in Chinese</title><subtitle type="html" /><id>http://developer.db4o.com/blogs/chinese/atom.aspx</id><link rel="alternate" type="text/html" href="http://developer.db4o.com/blogs/chinese/default.aspx" /><link rel="self" type="application/atom+xml" href="http://developer.db4o.com/blogs/chinese/atom.aspx" /><generator uri="http://communityserver.org" version="2.1.61019.2">Community Server</generator><updated>2007-03-01T08:27:00Z</updated><entry><title>db4o 活动：4月12日，北京Android开发者会议</title><link rel="alternate" type="text/html" href="http://developer.db4o.com/blogs/chinese/archive/2008/04/08/db4o-4-12-android.aspx" /><id>http://developer.db4o.com/blogs/chinese/archive/2008/04/08/db4o-4-12-android.aspx</id><published>2008-04-07T18:01:00Z</published><updated>2008-04-07T18:01:00Z</updated><content type="html">&lt;H3 id=p8tx&gt;&lt;SPAN id=ufq_&gt;&lt;STRONG id=e2g-&gt;db4o 活动通知&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;H3&gt;&lt;SPAN&gt;&lt;STRONG&gt;4月12日，北京Android开发者会议，db4o将会参与，同时贡献2个topic，以及会进行现场招聘。&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;H3&gt;&lt;SPAN&gt;&lt;STRONG&gt;活动主题：Before The Rain（雨前）&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P id=coub&gt;活动主题背后的故事：这个美妙的主题名称由ThoughtWorks的徐X同学独家贡献，Matrix社区的cleverpig同学发现了这张含蓄的国画《雨前》。《雨前》是王道中于1986年的作品。《雨前》以线结构画面，线条灵活而富于感情，设色以荷叶的大片空白，渲染淡墨为基调，几株红荷和一对鸳鸯显得分外的醒目。整幅作品俏丽而不俗，大有“红装素裹”之韵致。在暴雨来临之前，一对伴侣正设法躲进浓密的荷叶中避雨，庞大的荷叶使鸳鸯愈显小巧，可爱，再通过装饰性的水雾和全图倾斜的气势，使观者更增加了对自然生态的眷顾和留恋。王道中，1931年生，北京市人。1954年毕业于中央美术学院。曾任黑龙江省书画院艺术委员会主任，齐鲁画院名誉院长，当代王笔书画学会理事， 中国美术家协会会员。&lt;/P&gt;
&lt;H3 id=jciu&gt;&lt;SPAN id=m-7e&gt;&lt;STRONG id=ljae&gt;话题范畴：&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;H3 id=yyt6&gt;&lt;SPAN id=m-7e&gt;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P&gt;一如既往的Open（开放性）话题，范围不受限：开发技术、敏捷经验、创业故事等。&lt;/P&gt;
&lt;H3 id=jciu&gt;&lt;SPAN id=m-7e&gt;&lt;STRONG id=ljae&gt;特别关注：&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P&gt;&lt;A id=lvl1 title=世界领先的OO数据库厂商db4o公司 href="http://www.db4o.com/" target=_blank&gt;世界领先的OO数据库厂商db4o公司&lt;/A&gt; &lt;SPAN id=a4f:&gt;&lt;STRONG id=rrwz&gt;（&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;STRONG id=np1m&gt;BeijingO&lt;/STRONG&gt;&lt;STRONG id=vknh&gt;penParty活动赞助商之一&lt;/STRONG&gt;&lt;SPAN id=w_gt&gt;&lt;STRONG id=buvr&gt;）也将参加本次活动，并将贡献有关移动平台的精彩Topic。&lt;/STRONG&gt;&lt;/SPAN&gt;如果你对移动开发感兴趣的话，可以参加到他们的topic中，当然他们更希望大家能提出有关移动开发（Android、J2me、JFX、Flash Mobile Platform等）、移动浏览、移动市场研究、移动存储等方面的见解。&lt;BR id=o048&gt;&lt;/P&gt;
&lt;H3 id=l9_e&gt;&lt;SPAN id=dv6l&gt;&lt;STRONG id=t4s1&gt;邀请组织：&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;H3 id=flpa&gt;&lt;SPAN id=dv6l&gt;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P&gt;&lt;A id=tn1d title=BJUG href="http://www.bjug.org/" target=_blank&gt;BJUG&lt;/A&gt; 、&lt;A id=sy9t title=InfoQ中文站 href="http://www.infoq.com/cn/" target=_blank&gt;InfoQ中文站&lt;/A&gt; 、&lt;A id=bk7i title=BPUG href="http://groups.google.com/group/bpug/" target=_blank&gt;BPUG&lt;/A&gt; 、&lt;A id=oycx title=BLUG href="http://www.beijinglug.org/" target=_blank&gt;BLUG&lt;/A&gt; 、&lt;A id=wx_g title=Sun中文社区 href="http://developers.sun.com.cn/" target=_blank&gt;Sun中文社区&lt;/A&gt; 、&lt;A id=v0v- title="RIA meeting" href="http://www.riameeting.cn/" target=_blank&gt;RIA meeting&lt;/A&gt; 、&lt;A id=m.55 title=敏捷中国 href="http://groups.google.com/group/agilechina" target=_blank&gt;敏捷中国&lt;/A&gt; 、&lt;A id=d1hn title=Firefox社区 href="http://www.firefox.net.cn/" target=_blank&gt;Mozilla中文社区&lt;/A&gt;&lt;/P&gt;
&lt;H3 id=qc35&gt;&lt;STRONG&gt;活动时间：&lt;/STRONG&gt;&lt;/H3&gt;
&lt;P&gt;2008年4月12日13:30-18:00&lt;BR id=ooul&gt;&lt;/P&gt;
&lt;H3 id=s5bu&gt;&lt;STRONG id=zsui&gt;活动主办方：&lt;/STRONG&gt;&lt;/H3&gt;
&lt;P id=kpfy&gt;本次活动由Matrix、BJUG、InfoQ中文站和AgileChina联合主办&lt;/P&gt;
&lt;H3 id=e0te&gt;&lt;STRONG&gt;场地提供方：&lt;/STRONG&gt;&lt;/H3&gt;
&lt;P id=r10-&gt;&lt;A id=xp8e title=Toughtworks href="http://www.thoughtworks.com.cn/" target=_blank&gt;ThoughtWorks&lt;/A&gt;&lt;BR id=y20g&gt;&lt;/P&gt;
&lt;H3 id=opez&gt;&lt;STRONG&gt;活动地点：&lt;/STRONG&gt;&lt;/H3&gt;
&lt;P&gt;北京市东直门国华投资大厦11层ThoughtWorks Office，地铁环线西南 出口直行50米即到。&lt;A id=xo7- title=东直门国华投资大厦 href="http://bj.city8.com/panosearch-pid201568_IOOF-ptz6.114_0.374_1.309-ctps-sn_u_4E1C_u_76F4_u_95E8%20_u_56FD_u_534E_u_6295_u_8D44_u_5927_u_53A6.html" target=_blank&gt;查看地图&lt;/A&gt;&lt;BR id=fifn&gt;&lt;/P&gt;
&lt;H3 id=oo1-&gt;&lt;STRONG&gt;报名方式：&lt;/STRONG&gt;&lt;/H3&gt;
&lt;P&gt;请发邮件至 &lt;A id=ulxm title=greatcleverpig@gmail.com href="mailto:cleverpig@matrix.org.cn" target=_blank&gt;cleverpig@matrix.org.cn&lt;/A&gt; 或者&amp;nbsp;&lt;A href="mailto:china@db4o.com"&gt;china@db4o.com&lt;/A&gt;&amp;nbsp;，以便我们提前统计参与人数，请同时注明您愿意分享和讨论的主题。有关本次活动的最新信息，我们将在&lt;A id=yrc4 href="http://www.beijing-open-party.org//" target=_blank&gt;Beijing Open Party&lt;/A&gt;进行报道，敬请关注。&lt;SPAN id=w2r_&gt;&lt;BR id=j92b&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://developer.db4o.com/aggbug.aspx?PostID=48301" width="1" height="1"&gt;</content><author><name>chris.lo</name><uri>http://developer.db4o.com/members/chris.lo.aspx</uri></author></entry><entry><title>db4o中文文档项目团队发布《db4o7.0社区中英双语版》</title><link rel="alternate" type="text/html" href="http://developer.db4o.com/blogs/chinese/archive/2007/12/28/db4o-db4o7-0.aspx" /><id>http://developer.db4o.com/blogs/chinese/archive/2007/12/28/db4o-db4o7-0.aspx</id><published>2007-12-28T06:33:00Z</published><updated>2007-12-28T06:33:00Z</updated><content type="html">
&lt;p class="MsoNormal" style="text-align:left;" align="left"&gt;&lt;span&gt;圣诞过后的一周后，由&lt;span&gt;cleverpig&lt;/span&gt;负责的&lt;span&gt;&lt;a href="http://code.google.com/p/chinesedb4o/wiki/AboutTeam"&gt;db4o&lt;span&gt;&lt;span&gt;中文文档项目团队（“4in1”&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;）&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;于&lt;span&gt;12&lt;/span&gt;月&lt;span&gt;28&lt;/span&gt;日&lt;span&gt;15&lt;/span&gt;时发布了他们经过了将近&lt;span&gt;2&lt;/span&gt;个月的努力完成《&lt;span&gt;db4o7.0&lt;/span&gt;社区中英双语版》。在此对&lt;span&gt;&lt;a href="http://www.redsaga.com/"&gt;&lt;span&gt;&lt;span&gt;满江&lt;span&gt;红&lt;span&gt;社区&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;的曹晓刚老师为本项目提供的&lt;span&gt;confluence&lt;/span&gt;表示由衷的感谢！此版本目前已经通过了文档项目团队内部的&lt;span&gt;review&lt;/span&gt;，现发布于&lt;span&gt;db4o&lt;/span&gt;社区向广大&lt;span&gt;db4o&lt;/span&gt;开发者争取意见，大家可以通过&lt;span&gt;&lt;a href="mailto:cleverpig@matrix.org.cn"&gt;mail&lt;/a&gt;&lt;/span&gt;或者&lt;span&gt;&lt;a href="http://jiwai.de/t/db4o/"&gt;&lt;span&gt;&lt;span&gt;唧&lt;span&gt;歪&lt;span&gt;网db4o&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;版块&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;留下自宝贵的意见和建议，当然也欢迎有兴趣者的加入！ &lt;span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;h2&gt;&lt;span style="font-size:10.5pt;"&gt;访问&lt;span&gt;db4o7.0&lt;/span&gt;社区中英双语版&lt;span&gt;!&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;

&lt;p class="MsoNormal" style="text-align:left;" align="left"&gt;&lt;span&gt;&lt;a href="http://wiki.redsaga.com/confluence/pages/viewpage.action?pageId=2137"&gt;http://wiki.redsaga.com/confluence/pages/viewpage.action?pageId=2137&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;h2&gt;&lt;span style="font-size:10.5pt;"&gt;为什么选择&lt;span&gt;db4o7.0&lt;/span&gt;作为翻译版本？&lt;span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;

&lt;p class="MsoNormal" style="text-align:left;" align="left"&gt;&lt;span&gt;2007&lt;/span&gt;&lt;span&gt;年&lt;span&gt;11&lt;/span&gt;月&lt;span&gt;13&lt;/span&gt;日&lt;/span&gt;&lt;span&gt;，圣马刁市&lt;span&gt;(&lt;/span&gt;美国加州&lt;span&gt;)&lt;/span&gt;，&lt;span&gt;db4objects (www.db4o.com)&lt;/span&gt;： 面向&lt;span&gt;Java&lt;/span&gt;和&lt;span&gt;.NET&lt;/span&gt;的领先开源对象数据库，发布了&lt;span&gt;db4o&lt;/span&gt;最新&lt;span&gt;7.0&lt;/span&gt;开发版本（&lt;span&gt;beta&lt;/span&gt;）。此版本提供了重要的新特性：透明激活 （&lt;span&gt;Transparent Activation&lt;/span&gt;），它将使从前读取复杂数据对象的工作变得非常容易，只需要编写一行代码，但却在性能上超越了前辈们（比如&lt;span&gt;Hibernate&lt;/span&gt;、关系 或非关系数据库）。目前，此版本对于&lt;span&gt;Java&lt;/span&gt;和&lt;span&gt;db4o&lt;/span&gt;集合（&lt;span&gt;collections&lt;/span&gt;）支持本地透明激活，&lt;span&gt;.NET&lt;/span&gt;版本已经被列入了十二月的开发计划，并 将在明年第一季度全面支持所有集合类型。&lt;span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:left;" align="left"&gt;&lt;span style="color:green;"&gt;"&lt;/span&gt;&lt;span style="color:green;"&gt;这次&lt;span&gt;db4o&lt;/span&gt;数据库主要加强点是在开发过程中，简化了对复杂对象图表的处理。&lt;span&gt;"&lt;/span&gt;&lt;/span&gt;&lt;span&gt;db4o&lt;/span&gt;&lt;span&gt;项目技术委员会的领导者&lt;span&gt;Rodrigo de Olivera&lt;/span&gt;谈到。&lt;span style="color:green;"&gt;"&lt;/span&gt;&lt;span style="color:green;"&gt;正如人们不喜欢手动档的繁琐，转而选择自动挡轿车一样，透明激活技术提供了与&lt;span&gt;db4o&lt;/span&gt;协助的完美无缝方式，而无需了解下层数据状况。你能够将精力放在应用功能上，&lt;span&gt;db4o&lt;/span&gt;将确保你的对象模型时刻准备着行动。&lt;span&gt;"&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:left;" align="left"&gt;&lt;span&gt;在&lt;span&gt;7.0 &lt;/span&gt;版本，&lt;span&gt;db4o&lt;/span&gt;自动检查对象图标的激活深度，从而只从磁盘装载绝对最小量的数据、同时消耗更少的内存并提升性能。与例如&lt;span&gt;Hibernate&lt;/span&gt;这样的高度抽象 数据架构、其它的对象关系解决方案或者非本地对象数据库的不同的是，&lt;span&gt;db4o&lt;/span&gt;内嵌了&lt;span&gt;Java&lt;/span&gt;和&lt;span&gt;.NET&lt;/span&gt;引擎，它能够在本地对透明激活特性进行优化，从而将
其性能提升比原来快&lt;span&gt;44&lt;/span&gt;倍。由于开发者不再需要手工定义那些正被操作、保存或者读取的对象的激活深度，因此使开发时间锐减。&lt;span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:left;" align="left"&gt;&lt;span style="color:green;"&gt;"&lt;/span&gt;&lt;span style="color:green;"&gt;我们的应用使用了大量复杂的对象图表，&lt;span&gt;"&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;位于亚特兰大的领先语音识别软件提供商&lt;span&gt;Joseph Duda of Nexidia&lt;/span&gt;说。&lt;span style="color:green;"&gt;"&lt;/span&gt;&lt;span style="color:green;"&gt;透明激活技术将大大降低应用的内存空间，并且减少了启动次数和运行时图表装载的开销。&lt;span&gt;"&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:left;" align="left"&gt;&lt;span&gt;透明激活的实现与&lt;span&gt;db4o&lt;/span&gt;版本的不断增强都是由时刻活跃在&lt;span&gt;db4o&lt;/span&gt;社区、世界上最大的、近三万&lt;span&gt;Java&lt;/span&gt;和&lt;span&gt;.NET&lt;/span&gt;开发者群体驱动着的。感谢这伟大的 协助和开 源开发模式，&lt;span&gt;db4objects&lt;/span&gt;把对象数据库放回到了&lt;span&gt;"&lt;/span&gt;软件开发世界的地图&lt;span&gt;"&lt;/span&gt;之上，并使&lt;span&gt;db4o&lt;/span&gt;成为了每个创新&lt;span&gt;Java&lt;/span&gt;或者&lt;span&gt;.NET&lt;/span&gt;系统架构的首选，尤 其是在嵌入式或者移动软件应用领域。&lt;span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;h2&gt;&lt;span style="font-size:10.5pt;"&gt;翻译过程中的一些专用词汇：&lt;span&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;

&lt;ul&gt;&lt;li class="MsoNormal" style="text-align:left;"&gt;&lt;b&gt;&lt;span&gt;Query-By-Example&lt;/span&gt;&lt;/b&gt;&lt;span&gt;：样本查询（缩写为&lt;span&gt;QBE&lt;/span&gt;）。&lt;span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="text-align:left;"&gt;&lt;b&gt;&lt;span&gt;Evaluation&lt;/span&gt;&lt;/b&gt;&lt;span&gt;：评估。用在&lt;span&gt;SODA&lt;/span&gt;中的一种&lt;span&gt;API&lt;/span&gt;，它通过对结果集进行某种方式的评估而得出更加精确的结果集合。&lt;span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li class="MsoNormal" style="text-align:left;"&gt;&lt;b&gt;&lt;span&gt;Native Queries&lt;/span&gt;&lt;/b&gt;&lt;span&gt;：原生查询（缩写为&lt;span&gt;NQ&lt;/span&gt;）。&lt;span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="text-align:left;"&gt;&lt;b&gt;&lt;span&gt;Native&lt;/span&gt;&lt;/b&gt;&lt;span&gt;：这里翻译成&lt;span&gt;"&lt;/span&gt;原生&lt;span&gt;"&lt;/span&gt;，是因为&lt;span&gt; Native&lt;/span&gt;表示了查询语法是&lt;span&gt;"&lt;/span&gt;亲语言&lt;span&gt;"&lt;/span&gt;的，即与&lt;span&gt;Java&lt;/span&gt;或者&lt;span&gt;.NET&lt;/span&gt;语法没有太大不同。依据来自&lt;span&gt;db4o&lt;/span&gt;社区管理者&lt;span&gt;------German&lt;/span&gt;的解释：&lt;span&gt; "native in this
     context means that the query is not much different than the language (e.g.
     Java or .NET) (native to the language mean not alien to the language). It means
     "very close" to the language thus native. SQL strings are non
     native because they don't follow the sintaxis of the language (Java or
     .NET)."&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="text-align:left;"&gt;&lt;b&gt;&lt;span&gt;Descend&lt;/span&gt;&lt;/b&gt;&lt;span&gt;：在上下文中翻译为&lt;span&gt;"&lt;/span&gt;深层访问&lt;span&gt;"&lt;/span&gt;。也就是进入到对象 树的更深层次来访问对象的分支（比如属性或者字段）。来自&lt;span&gt;db4o&lt;/span&gt;社区的解释：&lt;span&gt;"descend in that context
     means to go deeper in the object tree, to dig into an object branch (such
     as a field or property).With SODA you use descend to go to a specific
     field/property in the object and pass a constraint value on that
     field."&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="text-align:left;"&gt;&lt;b&gt;&lt;span&gt;object ID&lt;/span&gt;&lt;/b&gt;&lt;span&gt;：对象标识。&lt;span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="text-align:left;"&gt;&lt;b&gt;&lt;span&gt;Unique Universal IDs&lt;/span&gt;&lt;/b&gt;&lt;span&gt;：这里不用翻译，就是&lt;span&gt;UUID&lt;/span&gt;，做过数据库开发的朋友们都知道它。&lt;span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="text-align:left;"&gt;&lt;b&gt;&lt;span&gt;Out of the box&lt;/span&gt;&lt;/b&gt;&lt;span&gt;：这里可以翻译为&lt;span&gt;"&lt;/span&gt;拿来就用、即开即用&lt;span&gt;"&lt;/span&gt;。原意为&lt;span&gt;"&lt;/span&gt;开箱即用&lt;span&gt;"&lt;/span&gt;也用作&lt;span&gt;"off the shelf"&lt;/span&gt;（现货供应）的同义词，其含义是指能够满足一定需求的、已经作好了的软件、硬件或两者的结合形式。如不采用，就需要投入专门的人力物力来开
     发。&lt;span&gt;out-of-the-box&lt;/span&gt;在计算机术语里可以指&lt;span&gt;"&lt;/span&gt;从盒子里拿出来直接可以使用的，也就是即开即用&lt;span&gt;"&lt;/span&gt;的意思。&lt;span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="text-align:left;"&gt;&lt;b&gt;&lt;span&gt;db4o team&lt;/span&gt;&lt;/b&gt;&lt;span&gt;：统一一下称为&lt;span&gt;db4o&lt;/span&gt;团队。&lt;span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="text-align:left;"&gt;&lt;b&gt;&lt;span&gt;Programmatic&lt;/span&gt;&lt;/b&gt;&lt;span&gt;：程序化。即通过编程的方式实现某种目的。&lt;span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="text-align:left;"&gt;&lt;b&gt;&lt;span&gt;predicate&lt;/span&gt;&lt;/b&gt;&lt;span&gt;：这里翻译为&lt;span&gt;"&lt;/span&gt;断言&lt;span&gt;"&lt;/span&gt;。依据是&lt;span&gt;William R. Cook&lt;/span&gt;和&lt;span&gt;Carl Rosenberger&lt;/span&gt;编写的《&lt;span&gt;&lt;a href="http://www.cs.utexas.edu/%7Ewcook/papers/NativeQueries/NativeQueries8-23-05.pdf" title="Visit page outside Confluence"&gt;Native Queries for Persistent
     Objects A Design White Paper&lt;sup&gt;&lt;span style="text-decoration:none;"&gt;
      
      
       
       
       
       
       
       
       
       
       
       
       
       
      
      
      
     
      
     &lt;span&gt;&lt;img class="rendericon" align="absmiddle" border="0" height="7" width="7"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/span&gt;》。&lt;span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;&lt;span style="font-size:10.5pt;"&gt;关于&lt;span&gt;db4o&lt;/span&gt;中文文档项目和团队：&lt;span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;

&lt;p class="MsoNormal" style="text-align:left;" align="left"&gt;&lt;span&gt;&lt;a href="http://wiki.redsaga.com/confluence/display/db4o/Home"&gt;http://wiki.redsaga.com/confluence/display/db4o/Home&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:left;" align="left"&gt;&lt;span&gt;&lt;a href="http://code.google.com/p/chinesedb4o/"&gt;http://code.google.com/p/chinesedb4o/&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;h2&gt;&lt;span style="font-size:10.5pt;"&gt;db4o&lt;/span&gt;&lt;span style="font-size:10.5pt;"&gt;中文文档项目团队的工作计划：&lt;span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;

&lt;p class="MsoNormal" style="text-align:left;" align="left"&gt;&lt;span&gt;&lt;a href="http://wiki.redsaga.com/confluence/pages/viewpage.action?pageId=2112"&gt;http://wiki.redsaga.com/confluence/pages/viewpage.action?pageId=2112&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://developer.db4o.com/aggbug.aspx?PostID=45394" width="1" height="1"&gt;</content><author><name>cleverpig</name><uri>http://developer.db4o.com/members/cleverpig.aspx</uri></author><category term="db4o 7.0 中文 文档 项目" scheme="http://developer.db4o.com/blogs/chinese/archive/tags/db4o+7.0+_2D4E8765_+_87656368_+_7998EE76_/default.aspx" /></entry><entry><title>使用db4o实现超强的Android地图应用</title><link rel="alternate" type="text/html" href="http://developer.db4o.com/blogs/chinese/archive/2007/12/14/db4o-android.aspx" /><id>http://developer.db4o.com/blogs/chinese/archive/2007/12/14/db4o-android.aspx</id><published>2007-12-14T02:49:00Z</published><updated>2007-12-14T02:49:00Z</updated><content type="html">
&lt;p&gt;&amp;nbsp;原作者：&lt;span id="ctl00_ctl00_rcr_sidebar_aboutThisTopic_aboutTopicModifiedByLabel"&gt;&lt;/span&gt;&lt;a href="http://developer.db4o.com/members/German+Viscuso.aspx"&gt;German Viscuso&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 译者：&lt;span id="ctl00_ctl00_bcr_topicView___TopicBody"&gt;&lt;/span&gt;&lt;a href="http://developer.db4o.com/members/rosen.aspx" target="_blank"&gt;Rosen&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="5"&gt;&lt;b&gt;&lt;font color="#008000"&gt;简介&lt;/font&gt;
								&lt;br&gt;
						&lt;/b&gt;
				&lt;/font&gt;
				&lt;br&gt;
				本项目基于&lt;a href="http://www.linkedin.com/in/davanum"&gt;DavanumSrinivas&lt;/a&gt;开发的&lt;a href="http://davanum.wordpress.com/2007/11/19/drawing-overlays-for-android-maps-aka-search-for-starbucks"&gt;BrowseMap&lt;/a&gt;，&lt;a href="http://davanum.wordpress.com/2007/11/19/drawing-overlays-for-android-maps-aka-search-for-starbucks"&gt;BrowseMap&lt;/a&gt;是一个为Android开发的Google Maps浏览器，能提供：&lt;br&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;在Android上浏览Google Maps
&lt;/li&gt;
&lt;li&gt;地图的放大和缩小
&lt;/li&gt;
&lt;li&gt;跟随鼠标移动（在真实设备上应该是触摸屏）
&lt;/li&gt;
&lt;li&gt;交通和卫星视图之间转换
&lt;/li&gt;
&lt;li&gt;定位&lt;/li&gt;
&lt;/ul&gt;
（这些地图应用程序基础功能实际上已经在Android上实现了）&lt;br&gt;&lt;br&gt;但由于增加了db4o对象持久化引擎，MapMe在这些基础功能之上提供了不少新特性：&amp;nbsp;
		
&lt;ul&gt;
&lt;li&gt;把重要的位置信息作为书签保存到db4o（包括缩放级别、卫星交通视图的所有地图持久化内容） 
&lt;/li&gt;
&lt;li&gt;浏览书签列表 
&lt;/li&gt;
&lt;li&gt;编辑书签 
&lt;/li&gt;
&lt;li&gt;从书签中导航到地图上某个位置 
&lt;/li&gt;
&lt;li&gt;根据当前GPS所报告的位置居中显示地图 &lt;/li&gt;
&lt;/ul&gt;
		
&lt;p&gt;
				&lt;b&gt;
						&lt;font color="#008000" size="5"&gt;屏幕截图&lt;/font&gt;
				&lt;/b&gt;
				&lt;br&gt;
				&lt;br&gt;想看应用程序是如何运作的，你可以观看在&lt;a href="http://www.youtube.com/watch?v=uHNQKM7Qxhs"&gt;YouTube上的MapMe视频&lt;/a&gt;、从一个外部服务器下载&lt;a href="http://smartware.com.ar/tutorials/MapMe.avi"&gt;高分辨率视频&lt;/a&gt;(30 Mb)或下面的屏幕截图：&lt;br&gt;&lt;br&gt;db4o总部（卫星+交通视图）&lt;br&gt;&lt;br&gt;&lt;img src="http://developer.db4o.com/ProjectSpaces/download.ashx/MapMe/New-1.Png"&gt;&lt;br&gt;&lt;br&gt;MapMe主菜单：&lt;br&gt;&lt;br&gt;&lt;img src="http://developer.db4o.com/ProjectSpaces/download.ashx/MapMe/New-2.Png"&gt;&lt;br&gt;&lt;br&gt;建立书签/导航点(navpoint)：&lt;br&gt;&lt;br&gt;&lt;img src="http://developer.db4o.com/ProjectSpaces/download.ashx/MapMe/New-3.Png"&gt;&lt;br&gt;&lt;br&gt;保存的书签/导航点(navpoint)列表：&lt;br&gt;&lt;br&gt;&lt;img src="http://developer.db4o.com/ProjectSpaces/download.ashx/MapMe/New-4.Png"&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;&lt;font color="#008000" size="5"&gt;MapMe如何利用db4o？&lt;/font&gt;&lt;/b&gt;&lt;br&gt;&lt;br&gt;如果你查看源代码（下面有下载），你会发现DB helper类处理了所有的持久化操作（数据库的开启、存储、查询、计数），而这一切都不超过80行代码！&lt;br&gt;&lt;br&gt;而且这一切都很简单，不会损失性能。好吧，现在就让我们来看一下项目中用到的持久化方法。&lt;/p&gt;
		
&lt;p&gt;
				&lt;b&gt;
						&lt;font color="#008000" size="4"&gt;开启数据库&lt;/font&gt;
				&lt;/b&gt;
				&lt;br&gt;
				&lt;br&gt;开启数据库的确很简单，并且在必要的时候还能自动生成数据库文件。一旦打开，db4o将锁定数据库文件。&lt;/p&gt;
		&lt;div style="padding:4px 5px 4px 4px;font-size:13px;width:98%;"&gt;
				&lt;span&gt;public&lt;/span&gt;
				&lt;span&gt;&amp;nbsp;ObjectContainer&amp;nbsp;db(){&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;
				&lt;span&gt;try&lt;/span&gt;
				&lt;span&gt;&amp;nbsp;{&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;
				&lt;span&gt;if&lt;/span&gt;
				&lt;span&gt;(oc&amp;nbsp;&lt;/span&gt;
				&lt;span&gt;==&lt;/span&gt;
				&lt;span&gt;&amp;nbsp;&lt;/span&gt;
				&lt;span&gt;null&lt;/span&gt;
				&lt;span&gt;&amp;nbsp;&lt;/span&gt;
				&lt;span&gt;||&lt;/span&gt;
				&lt;span&gt;&amp;nbsp;oc.ext().isClosed())&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;oc&amp;nbsp;&lt;/span&gt;
				&lt;span&gt;=&lt;/span&gt;
				&lt;span&gt;&amp;nbsp;Db4o.openFile(dbConfig(),&amp;nbsp;db4oDBFullPath(context));&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;
				&lt;span&gt;return&lt;/span&gt;
				&lt;span&gt;&amp;nbsp;oc;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;/span&gt;
				&lt;span&gt;catch&lt;/span&gt;
				&lt;span&gt;&amp;nbsp;(Exception&amp;nbsp;e)&amp;nbsp;{&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Log.e(Db4oHelper.&lt;/span&gt;
				&lt;span&gt;class&lt;/span&gt;
				&lt;span&gt;.getName(),&amp;nbsp;e.toString());&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;
				&lt;span&gt;return&lt;/span&gt;
				&lt;span&gt;&amp;nbsp;&lt;/span&gt;
				&lt;span&gt;null&lt;/span&gt;
				&lt;span&gt;;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br&gt;&lt;br&gt;}&lt;br&gt;&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;br&gt;&lt;/span&gt;
				&lt;span&gt;private&lt;/span&gt;
				&lt;span&gt;&amp;nbsp;String&amp;nbsp;db4oDBFullPath(Context&amp;nbsp;ctx)&amp;nbsp;{&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;
				&lt;span&gt;return&lt;/span&gt;
				&lt;span&gt;&amp;nbsp;ctx.getDataDir()&amp;nbsp;&lt;/span&gt;
				&lt;span&gt;+&lt;/span&gt;
				&lt;span&gt;&amp;nbsp;&lt;/span&gt;
				&lt;span&gt;"&lt;/span&gt;
				&lt;span&gt;/&lt;/span&gt;
				&lt;span&gt;"&lt;/span&gt;
				&lt;span&gt;&amp;nbsp;&lt;/span&gt;
				&lt;span&gt;+&lt;/span&gt;
				&lt;span&gt;&amp;nbsp;&lt;/span&gt;
				&lt;span&gt;"&lt;/span&gt;
				&lt;span&gt;browsemap.db4o&lt;/span&gt;
				&lt;span&gt;"&lt;/span&gt;
				&lt;span&gt;;&lt;br&gt;&lt;br&gt;}&lt;/span&gt;
		&lt;/div&gt;
		&lt;br&gt;注意我们所存放的数据库文件路径是和上下文数据目录相关的。&lt;br&gt;&lt;br&gt;&lt;font color="#008000"&gt;&lt;b&gt;&lt;font size="4"&gt;配置数据库&lt;/font&gt;&lt;/b&gt;&lt;br&gt;&lt;/font&gt;&lt;br&gt;这里我们提供一个配置对象，以便在打开数据库的时候把它传递进去（代码如下）。&lt;br&gt;&lt;br&gt;&lt;div style="padding:4px 5px 4px 4px;font-size:13px;width:98%;"&gt;&lt;span&gt;private&lt;/span&gt;&lt;span&gt;&amp;nbsp;Configuration&amp;nbsp;dbConfig(){&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Configuration&amp;nbsp;c&amp;nbsp;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&amp;nbsp;Db4o.newConfiguration();&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;c.objectClass(MapBookmark.&lt;/span&gt;&lt;span&gt;class&lt;/span&gt;&lt;span&gt;).objectField(&lt;/span&gt;&lt;span&gt;"&lt;/span&gt;&lt;span&gt;name&lt;/span&gt;&lt;span&gt;"&lt;/span&gt;&lt;span&gt;).indexed(&lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;span&gt;);&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;c.objectClass(MapBookmark.&lt;/span&gt;&lt;span&gt;class&lt;/span&gt;&lt;span&gt;).updateDepth(&lt;/span&gt;&lt;span&gt;2&lt;/span&gt;&lt;span&gt;);&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;c.objectClass(MapBookmark.&lt;/span&gt;&lt;span&gt;class&lt;/span&gt;&lt;span&gt;).minimumActivationDepth(&lt;/span&gt;&lt;span&gt;3&lt;/span&gt;&lt;span&gt;);&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;c.objectClass(MapBookmark.&lt;/span&gt;&lt;span&gt;class&lt;/span&gt;&lt;span&gt;).cascadeOnDelete(&lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;span&gt;);&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;return&lt;/span&gt;&lt;span&gt;&amp;nbsp;c;&lt;br&gt;&lt;br&gt;}&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;注意，为MapBookmark对象建立的索引字段是“name”，并设置激活和更新级别。&lt;br&gt;&lt;br&gt;&lt;b&gt;&lt;font color="#008000" size="4"&gt;保存书签&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;在这里我们调用一系列的操作，无论对象是否存在于数据库，对象都会被更新或插入。&lt;/p&gt;
&lt;div style="padding:4px 5px 4px 4px;font-size:13px;width:98%;"&gt;&lt;span&gt;public&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;void&lt;/span&gt;&lt;span&gt;&amp;nbsp;setBookmark(&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;String&amp;nbsp;name,&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;String&amp;nbsp;description,&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;int&lt;/span&gt;&lt;span&gt;&amp;nbsp;latitude,&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;int&lt;/span&gt;&lt;span&gt;&amp;nbsp;longitude,&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;int&lt;/span&gt;&lt;span&gt;&amp;nbsp;zoomLevel,&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;boolean&lt;/span&gt;&lt;span&gt;&amp;nbsp;satellite,&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;boolean&lt;/span&gt;&lt;span&gt;&amp;nbsp;traffic){&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MapBookmark&amp;nbsp;bkm&amp;nbsp;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&amp;nbsp;getBookmark(name);&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;if&lt;/span&gt;&lt;span&gt;(bkm&amp;nbsp;&lt;/span&gt;&lt;span&gt;==&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;null&lt;/span&gt;&lt;span&gt;)&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bkm&amp;nbsp;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;new&lt;/span&gt;&lt;span&gt;&amp;nbsp;MapBookmark(name);&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bkm.setDescription(description);&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bkm.setLatitude(latitude);&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bkm.setLongitude(longitude);&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bkm.setZoomLevel(zoomLevel);&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bkm.setSatellite(satellite);&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bkm.setTraffic(traffic);&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;db().set(bkm);&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;db().commit();&lt;br&gt;&lt;br&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;由此可见，在保存到数据库之前，我们已经设置好所有字段。&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;font color="#008000" size="4"&gt;根据name查询书签&lt;br&gt;&lt;/font&gt;&lt;/b&gt;&lt;br&gt;我们通过Query by Example(QBE)传入一个原型来取回符合name条件的书签。&lt;/p&gt;
&lt;div style="padding:4px 5px 4px 4px;font-size:13px;width:98%;"&gt;&lt;span&gt;public&lt;/span&gt;&lt;span&gt;&amp;nbsp;MapBookmark&amp;nbsp;getBookmark(String&amp;nbsp;name){&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MapBookmark&amp;nbsp;proto&amp;nbsp;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;new&lt;/span&gt;&lt;span&gt;&amp;nbsp;MapBookmark(name);&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ObjectSet&amp;nbsp;result&amp;nbsp;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&amp;nbsp;db().get(proto);&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;if&lt;/span&gt;&lt;span&gt;(result.hasNext()){&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;return&lt;/span&gt;&lt;span&gt;&amp;nbsp;(MapBookmark)result.next();&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;return&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;null&lt;/span&gt;&lt;span&gt;;&lt;br&gt;&lt;br&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;QBE利用反射来检查原型对象的字段。&lt;br&gt;&lt;br&gt;&lt;b&gt;&lt;font color="#008000" size="4"&gt;查询所有书签&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;这里，我们把SODA查询结果拷贝到ArrayList中。但要注意，当使用Native Queries时你不必这样做（在这种情况下将直接返回List&amp;lt;MapBookmark&amp;gt;）。&lt;/p&gt;
&lt;div style="padding:4px 5px 4px 4px;font-size:13px;width:98%;"&gt;&lt;span&gt;public&lt;/span&gt;&lt;span&gt;&amp;nbsp;List&lt;/span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;MapBookmark&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;getBookmarkList(){&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ArrayList&lt;/span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;MapBookmark&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;ret&amp;nbsp;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;new&lt;/span&gt;&lt;span&gt;&amp;nbsp;ArrayList&lt;/span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;MapBookmark&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;();&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ObjectSet&amp;nbsp;result&amp;nbsp;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&amp;nbsp;getBookmarks();&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;while&lt;/span&gt;&lt;span&gt;&amp;nbsp;(result.hasNext())&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ret.add((MapBookmark)result.next());&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;return&lt;/span&gt;&lt;span&gt;&amp;nbsp;ret;&lt;br&gt;&lt;br&gt;}&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;span&gt;private&lt;/span&gt;&lt;span&gt;&amp;nbsp;ObjectSet&amp;nbsp;getBookmarks(){&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Query&amp;nbsp;query&amp;nbsp;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&amp;nbsp;db().query();&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;query.constrain(MapBookmark.&lt;/span&gt;&lt;span&gt;class&lt;/span&gt;&lt;span&gt;);&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;query.descend(&lt;/span&gt;&lt;span&gt;"&lt;/span&gt;&lt;span&gt;name&lt;/span&gt;&lt;span&gt;"&lt;/span&gt;&lt;span&gt;).orderAscending();&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;return&lt;/span&gt;&lt;span&gt;&amp;nbsp;query.execute();&lt;br&gt;&lt;br&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;&lt;b&gt;&lt;font color="#008000" size="4"&gt;删除书签&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;
&lt;div style="padding:4px 5px 4px 4px;font-size:13px;width:98%;"&gt;&lt;span&gt;public&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;void&lt;/span&gt;&lt;span&gt;&amp;nbsp;deleteBookmark(String&amp;nbsp;name)&amp;nbsp;{&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MapBookmark&amp;nbsp;bkm&amp;nbsp;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&amp;nbsp;getBookmark(name);&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;if&lt;/span&gt;&lt;span&gt;(bkm&amp;nbsp;&lt;/span&gt;&lt;span&gt;!=&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;null&lt;/span&gt;&lt;span&gt;){&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;db().delete(bkm);&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;db().commit();&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br&gt;&lt;br&gt;}&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;如果在db4o参考系统中存在符合条件的对象，你便可以轻松地调用delete()操作删除它。&lt;br&gt;&lt;br&gt;&lt;b&gt;&lt;font color="#008000" size="4"&gt;书签计数&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;
&lt;div style="padding:4px 5px 4px 4px;font-size:13px;width:98%;"&gt;&lt;span&gt;public&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;int&lt;/span&gt;&lt;span&gt;&amp;nbsp;bookamrkCount(){&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;return&lt;/span&gt;&lt;span&gt;&amp;nbsp;getBookmarks().size();&lt;br&gt;&lt;br&gt;}&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;span&gt;private&lt;/span&gt;&lt;span&gt;&amp;nbsp;ObjectSet&amp;nbsp;getBookmarks(){&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Query&amp;nbsp;query&amp;nbsp;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&amp;nbsp;db().query();&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;query.constrain(MapBookmark.&lt;/span&gt;&lt;span&gt;class&lt;/span&gt;&lt;span&gt;);&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;query.descend(&lt;/span&gt;&lt;span&gt;"&lt;/span&gt;&lt;span&gt;name&lt;/span&gt;&lt;span&gt;"&lt;/span&gt;&lt;span&gt;).orderAscending();&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;return&lt;/span&gt;&lt;span&gt;&amp;nbsp;query.execute();&lt;br&gt;&lt;br&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;&lt;br&gt;要通过查询来进行对象计数，你只要获得查询结果的数量即可。&lt;br&gt;&lt;br&gt;&lt;b&gt;&lt;font color="#008000" size="5"&gt;待完成&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;基于书签的查询功能（通过db4o查询）
&lt;/li&gt;
&lt;li&gt;支持手势识别(gesture recognition)（&lt;a href="http://code.google.com/android/reference/com/google/android/maps/GestureDetector.html"&gt;链接&lt;/a&gt;）
&lt;/li&gt;
&lt;li&gt;当前位置声音提示(Tweet current location)（&lt;a href="http://davanum.wordpress.com/2007/11/21/twitter-client-for-android-how-to-make-xml-over-http-calls/"&gt;链接&lt;/a&gt;）
&lt;/li&gt;
&lt;li&gt;在屏幕上动态跟踪GPS定位并把GPS路线存储到数据库上（以便今后查看）
&lt;/li&gt;
&lt;li&gt;把定位信息发送给联系人（短消息、e-mail等）&lt;/li&gt;
&lt;/ul&gt;
&lt;b&gt;&lt;font color="#008000" size="5"&gt;下载&lt;/font&gt;&lt;/b&gt;&lt;br&gt;&lt;br&gt;&lt;a href="http://developer.db4o.com/ProjectSpaces/view.aspx/MapMe/MapMe.Zip"&gt;MapMe.Zip&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.youtube.com/watch?v=uHNQKM7Qxhs"&gt;YouTube上的MapMe视频&lt;/a&gt;&lt;br&gt;&lt;a href="http://smartware.com.ar/tutorials/MapMe.avi"&gt;高分辨率视频&lt;/a&gt;(30 Mb)&lt;img src="http://developer.db4o.com/aggbug.aspx?PostID=44988" width="1" height="1"&gt;</content><author><name>cleverpig</name><uri>http://developer.db4o.com/members/cleverpig.aspx</uri></author><category term="db4o 7.0 android 定位 地图 MapMe" scheme="http://developer.db4o.com/blogs/chinese/archive/tags/db4o+7.0+android+_9A5B4D4F_+_3057FE56_+MapMe/default.aspx" /></entry><entry><title>db4objects宣布db4o数据库已经为Android作好准备</title><link rel="alternate" type="text/html" href="http://developer.db4o.com/blogs/chinese/archive/2007/12/07/db4objects-db4o-android.aspx" /><id>http://developer.db4o.com/blogs/chinese/archive/2007/12/07/db4objects-db4o-android.aspx</id><published>2007-12-07T07:35:00Z</published><updated>2007-12-07T07:35:00Z</updated><content type="html">&lt;h1&gt;&lt;a title="db4objects宣布db4o数据库已经为Android作好准备-db4objects宣布db4o数据库已经为Android作好准备" class="" name="db4objects宣布db4o数据库已经为Android作好准备-db4objects宣布db4o数据库已经为Android作好准备"&gt;&lt;/a&gt;db4objects宣布db4o数据库已经为Android作好准备&lt;/h1&gt;


&lt;h4&gt;&lt;a title="db4objects宣布db4o数据库已经为Android作好准备-db4o提供了GoogleMobile计划所缺少要素：一个移动、高效、跨应用的数据存储" class="" name="db4objects宣布db4o数据库已经为Android作好准备-db4o提供了GoogleMobile计划所缺少要素：一个移动、高效、跨应用的数据存储"&gt;&lt;/a&gt;db4o提供了Google Mobile计划所缺少要素：一个移动、高效、跨应用的数据存储&lt;/h4&gt;

&lt;p&gt;2007年11月5日，圣玛刁(美国加州) db4objects (&lt;span class="nobr"&gt;&lt;a href="http://www.db4o.com" title="Visit page outside Confluence" rel="nofollow"&gt;www.db4o.com&lt;sup&gt;&lt;img src="http://developer.db4o.com/confluence/images/icons/linkext7.gif" class="rendericon" alt="" align="absmiddle" border="0" height="7" width="7"&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/span&gt; )：
面向Java和.NET的领先开源对象数据库，宣布db4o无缝地运行在Android平台上，后者是由具有Google背景的开放电话手机联盟
（Open Handset
Alliance）近期推出的移动设备开发软件。尽管Java开发者正乐忠于Android完整的面向对象平台时，却因Android与关系数据库绑定而
感到失望，因为这意味这又回到了需要在对象和数据表之间的进行大量笨重的工作。db4o通过提供快速、安全、原生的Java对象数据库填补这一空白，使存
储对象和在应用之间共享数据变得轻松而简单。&lt;/p&gt;

&lt;p&gt;Google通过开放电话手机联盟推出Android，而引发了无线世界的一次变革。与大家所预期的大肆宣传gPhone正相反，Google创建
这一永久改变无线世界的开源软件平台。Android正在跨越从硬件到软件，使得Verizon的CEO
McAdam在12月3日的商务周刊中写到他已经看到了工业进入了"转折点"。&lt;/p&gt;

&lt;p&gt;Android软件开发包由应用框架、开发环境、工具、调试器和开发者用来创建强大应用所不可或缺的应用组成。
Java是此框架的主要语言，而Android框架为面向对象编程提供了清晰的途径。Java开发者现在就可以编写丰富而令人兴奋的应用，并将它们运行在
基于Android系统的电话上。&lt;/p&gt;

&lt;p&gt;因此，Android沿用了关系数据库的确使人吃惊，这是唯一和面向对象不协调的元素。幸运的是，db4objects已经提出了解决方案。
db4o能够无缝地运行在Android之上，对任何复杂对象进行本地存储和读取。在下载Android
SDK几分钟后，db4objects的工程师就已经在Android上运行了db4o，并已通过了3500个测试实例的考验。目前，db4o的设备级软
件质量已经通过部署在高速列车、飞机、复印机等关键性任务领域而获得了证明，当然它也能够被每个Androis开发者灵活使用。&lt;/p&gt;

&lt;p&gt;db4objects的社区主管German Viscuso演示了db4o提供的高效性：将&lt;span class="nobr"&gt;&lt;a href="http://developer.db4o.com/ProjectSpaces/view.aspx/Android_Password_Manager" title="Visit page outside Confluence" rel="nofollow"&gt;PasswordSafe&lt;sup&gt;&lt;img src="http://developer.db4o.com/confluence/images/icons/linkext7.gif" class="rendericon" alt="" align="absmiddle" border="0" height="7" width="7"&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/span&gt; 移植到运行db4o的Android平台上。"这太可怕了，"PasswordSafe（使用SQLite关系数据库）的作者Steven Osborn如此惊呼，"db4o代码如此之优雅。"。另一个示例应用展示了db4o对Android平台的超强适应力：&lt;span class="nobr"&gt;&lt;a href="http://developer.db4o.com/ProjectSpaces/view.aspx/MapMe" title="Visit page outside Confluence" rel="nofollow"&gt;MapMe&lt;sup&gt;&lt;img src="http://developer.db4o.com/confluence/images/icons/linkext7.gif" class="rendericon" alt="" align="absmiddle" border="0" height="7" width="7"&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/span&gt; ，它在Android平台上显示2D地图，并利用db4o存储和查询Google Maps上的全球导航点。&lt;/p&gt;

&lt;p&gt;这里还有一些使用如db4o这样的面向对象数据库的收益：包括轻松的代码维护、能够基于更加复杂的数据模式创造多样的革新应用。与rigid中预定
义SQL表的方式截然不同，db4o允许动态、自由形式的数据，这些数据能够在任何时候被修改或改进。另外，db4o提供了高效的数据复制工具dRS
（db4o Replication
System），这是Android软件的缺少另一个元素。因此，开发者能够编写将用户数据备份到后台数据服务器或者家庭PC的软件应用。而同时消费者可
以在手机上随时启动游戏、暂停游戏，然后晚上回到家中继续游戏。商业用途包括外勤人员自动化、RFID数据获取、本地缓存地理数据的复杂导航系统。&lt;/p&gt;

&lt;p&gt;获取更多关于db4o的产品信息，请阅读db4object首席软件框架师Carl Rosenberger的博客《&lt;span class="nobr"&gt;&lt;a href="http://developer.db4o.com/blogs/chinese/archive/2007/12/07/android-mobile.aspx" title="Visit page outside Confluence" rel="nofollow"&gt;为什么Android掀起了mobile飓风?&lt;sup&gt;&lt;img src="http://wiki.redsaga.com/confluence/images/icons/linkext7.gif" class="rendericon" alt="" align="absmiddle" border="0" height="7" width="7"&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/span&gt; 》或访问&lt;span class="nobr"&gt;&lt;a href="http://www.db4o.com/android" title="Visit page outside Confluence" rel="nofollow"&gt;db4o Android网站&lt;sup&gt;&lt;img src="http://developer.db4o.com/confluence/images/icons/linkext7.gif" class="rendericon" alt="" align="absmiddle" border="0" height="7" width="7"&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/span&gt; 。 &lt;/p&gt;&lt;img src="http://developer.db4o.com/aggbug.aspx?PostID=44111" width="1" height="1"&gt;</content><author><name>cleverpig</name><uri>http://developer.db4o.com/members/cleverpig.aspx</uri></author><category term="db4o" scheme="http://developer.db4o.com/blogs/chinese/archive/tags/db4o/default.aspx" /><category term="db4o 7.0 android" scheme="http://developer.db4o.com/blogs/chinese/archive/tags/db4o+7.0+android/default.aspx" /></entry><entry><title>为什么Android掀起了mobile飓风?</title><link rel="alternate" type="text/html" href="http://developer.db4o.com/blogs/chinese/archive/2007/12/07/android-mobile.aspx" /><id>http://developer.db4o.com/blogs/chinese/archive/2007/12/07/android-mobile.aspx</id><published>2007-12-07T06:06:00Z</published><updated>2007-12-07T06:06:00Z</updated><content type="html">&lt;h1&gt;为什么Android掀起了mobile飓风？&lt;/h1&gt;&lt;p&gt;&lt;b&gt;作者：Carl Rosenberger&amp;nbsp;&amp;nbsp;  译者：cleverpig&lt;/b&gt;&lt;br&gt;&lt;/p&gt;

&lt;p&gt;自从Android面向移动设备的软件SDK发布，已经有几周时间了。对我这个db4o对象数据库的创始人来讲，它已经成为了在我们产品和公司生命中最兴奋的事。&lt;/p&gt;

&lt;p&gt;Android 将重振早已支离破碎的移动开发平台，并使面向全球用户、基于定位应用的移动开发成为了可能。我认为这才是移动飓风的掀起之时。为什么这么讲？我想下面会给出答案。&lt;/p&gt;

&lt;h2&gt;&lt;a title="为什么Android掀起了mobile飓风？-鸟瞰飓风" class="" name="为什么Android掀起了mobile飓风？-鸟瞰飓风"&gt;&lt;/a&gt;鸟瞰飓风&lt;/h2&gt;

&lt;p&gt;从整体的视角纵观，移动操作系统的世界呈现群雄并起之势。而其中的主要"赢家"就是那些拥有私有技术的手机厂商和运营商。但是，甚至连
Symbian、Microsoft、Apple这样的业界巨擎都没有占有明显优势：只不过是每年6000万、2000万、1000万的手机部署量。&lt;/p&gt;

&lt;p&gt;由于没有标准的操作系统，因此运营商尝试着用AJAX在浏览器上编写应用，以使其应用变得更加通用。但将AJAX应用于手机的确存在着一些劣势：&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;在小屏幕上的用户体验不会好到哪里。&lt;/li&gt;&lt;li&gt;应用只能在连接网络的条件下工作。&lt;/li&gt;&lt;li&gt;没有本地存储和缓存结构化数据的解决方案。&lt;/li&gt;&lt;li&gt;由于传输延迟和带宽限制，复杂的交换应用不可能被实施。&lt;/li&gt;&lt;li&gt;设备的本地处理能力没有发挥。&lt;/li&gt;&lt;li&gt;可扩展的服务端应用开发面临严峻挑战。&lt;/li&gt;&lt;li&gt;AJAX的应用部署是复杂、昂贵并且迟缓的。&lt;/li&gt;&lt;li&gt;没有标准支持浏览器访问本地设备服务：比如GPS、摄像头、通讯录、通话列表、麦克风或耳机。&lt;/li&gt;&lt;/ul&gt;



&lt;p&gt;设想一下，如果你有了一个绝对超酷的移动应用创意，并打算将它进行全球部署，那么你选择哪种技术？如果你并不急于发布的话，那么就应该使用Android。下面是我认为Android之所以称王的几点理由。&lt;/p&gt;

&lt;h2&gt;&lt;a title="为什么Android掀起了mobile飓风？-定位服务" class="" name="为什么Android掀起了mobile飓风？-定位服务"&gt;&lt;/a&gt;定位服务&lt;/h2&gt;

&lt;p&gt;Google这是因为提供定位相关的服务而闻名于世。而Android的SDK已经具备了两个非常有用的package:com.google.android.maps和android.location。你可以使用它们在GoogleMaps上面创建自己的超酷应用。LocationManager提供了"ProximityAlert"（接近性提示）的功能，它能够在你进入某个指定
位置范围时唤醒手机并完成某些任务。&lt;/p&gt;

&lt;h2&gt;&lt;a title="为什么Android掀起了mobile飓风？-资金和广告资源" class="" name="为什么Android掀起了mobile飓风？-资金和广告资源"&gt;&lt;/a&gt;资金和广告资源&lt;/h2&gt;

&lt;p&gt;Google在这方面可称得上相当老练、资深了。&lt;/p&gt;

&lt;h2&gt;&lt;a title="为什么Android掀起了mobile飓风？-开源" class="" name="为什么Android掀起了mobile飓风？-开源"&gt;&lt;/a&gt;开源&lt;/h2&gt;

&lt;p&gt;Android采用Apache
License，就像免费啤酒一样提供给每个人免费下载、使用。每个人都能利用Android组件并将它们用到自己的科技产品中。有哪家愿意花费时间和金
钱来重新发明轮子，而拒绝重用Android组件呢？如果得到了来自Google工程师的开发支持，那些归各家公司私有的技术分支注定将汇聚到
Android产品线中来。&lt;/p&gt;

&lt;h2&gt;&lt;a title="为什么Android掀起了mobile飓风？-强大的生态系统" class="" name="为什么Android掀起了mobile飓风？-强大的生态系统"&gt;&lt;/a&gt;强大的生态系统&lt;/h2&gt;

&lt;p&gt;有了Linux、Java和Eclipse IDE这些强有力的伙伴，Google将成为最强大的开源"生态系统"。&lt;/p&gt;

&lt;h2&gt;&lt;a title="为什么Android掀起了mobile飓风？-应用" class="" name="为什么Android掀起了mobile飓风？-应用"&gt;&lt;/a&gt;应用&lt;/h2&gt;

&lt;p&gt;Google已经发起了1000万美元奖金的开发者挑战赛，来促进应用快速成长。&amp;nbsp;&lt;/p&gt;

&lt;h2&gt;&lt;a title="为什么Android掀起了mobile飓风？-技术" class="" name="为什么Android掀起了mobile飓风？-技术"&gt;&lt;/a&gt;技术&lt;/h2&gt;

&lt;p&gt;Android的第一个SDK完全是那些聪明绝顶的Java工程师在足够自由和时间的保证下从草图开始创建摩天大楼的"基石"。&lt;/p&gt;

&lt;p&gt;Dalvik Java
VM采用简练、高效的bytecode格式运行，它能够在低资源消耗和没有应用相互干扰的情况下并行执行多个应用。这些特性已经在Sun公司的Java
RFE（Request For Enhancement）上出现多年了，而却被Google轻松地实现了。&lt;/p&gt;

&lt;p&gt;Google使用&lt;span class="nobr"&gt;&lt;a href="http://harmony.apache.org/" title="Visit page outside Confluence" rel="nofollow"&gt;Apache的Harmony&lt;sup&gt;&lt;img src="http://wiki.redsaga.com/confluence/images/icons/linkext7.gif" class="rendericon" alt="" align="absmiddle" border="0" height="7" width="7"&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/span&gt;类库是一个明智的举动。这样Google便脱离了Sun而走上全面开源Java之路。而且Harmony在某些方面的速度也快于Sun的VM。&lt;/p&gt;

&lt;p&gt;Android随SDK而发布的Eclipse集成工具是个令人吃惊的好工具，任何使用Eclipse的开发者都能在几分钟内编写完第一个可运行的
Android应用。它在Eclipse中的DDMS视图提供了对模拟器的控制和检测，它是我所见过的最好的模拟器管理控制台。通过它，你可以看到所有运
行着的活动、堆使用率和线程工作状况，而且控制系统还将每个线程消耗的时间作自动叠加。&lt;/p&gt;

&lt;p&gt;Android指南告诉了开发者"为什么在移动设备上高效地控制应用是多么重要"：高效意味着更长的电池寿命、更轻的电池重量和更低的设备开销。&lt;/p&gt;

&lt;p&gt;我认为Android应用框架概念看上去都很不错，其中一些出色的关键点：&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;活动领域（Activity） - 应用的屏幕&lt;/li&gt;&lt;li&gt;行为意图（Intent） - 一个行为请求&lt;/li&gt;&lt;li&gt;行为意图接收者（Intent Receiver） - 对请求作出反应的应用代码&lt;/li&gt;&lt;li&gt;服务（Services） - 可分享的不可见应用组件&lt;/li&gt;&lt;/ul&gt;


&lt;h2&gt;&lt;a title="为什么Android掀起了mobile飓风？-数据库支持" class="" name="为什么Android掀起了mobile飓风？-数据库支持"&gt;&lt;/a&gt;数据库支持&lt;/h2&gt;

&lt;p&gt;"内容提供者" 意味着能够提供类似数据库的功能。目前，这是db4o非常感兴趣的，让我们看Android中提供的数据库操作API：&lt;/p&gt;
&lt;div class="code"&gt;&lt;div class="codeContent"&gt;
&lt;pre class="code-java"&gt;&lt;span class="code-keyword"&gt;public&lt;/span&gt; &lt;span class="code-keyword"&gt;abstract&lt;/span&gt; Cursor query(&lt;br&gt;    ContentURI uri,&lt;br&gt;    &lt;span class="code-object"&gt;String&lt;/span&gt;[] projection,&lt;br&gt;    &lt;span class="code-object"&gt;String&lt;/span&gt; selection,&lt;br&gt;    &lt;span class="code-object"&gt;String&lt;/span&gt;[] selectionArgs,&lt;br&gt;    &lt;span class="code-object"&gt;String&lt;/span&gt; groupBy,&lt;br&gt;    &lt;span class="code-object"&gt;String&lt;/span&gt; having,&lt;br&gt;    &lt;span class="code-object"&gt;String&lt;/span&gt; sortOrder)&lt;br&gt;insert(ContentURI uri, ContentValues values)&lt;br&gt;update(&lt;br&gt;    ContentURI uri,&lt;br&gt;    ContentValues values,&lt;br&gt;    &lt;span class="code-object"&gt;String&lt;/span&gt; selection,&lt;br&gt;    &lt;span class="code-object"&gt;String&lt;/span&gt;[] selectionArgs)&lt;br&gt;delete(ContentURI uri, &lt;span class="code-object"&gt;String&lt;/span&gt; selection, &lt;span class="code-object"&gt;String&lt;/span&gt;[] selectionArgs)&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;


&lt;p&gt;&amp;nbsp;&lt;br&gt;怎么是这样的？非常抱歉，这不是Java（也不是原生语法），也不是面向对象的，更不是SQL。&lt;/p&gt;

&lt;p&gt;在不久后，我们将会对db4o和以上的接口进行全面比较，以其展示给大家：优雅的对象持久化应该是什么样子的。如果你一点也不了解db4o，那么这里是&lt;span class="nobr"&gt;&lt;a href="http://developer.db4o.com/files/default.aspx" title="Visit page outside Confluence" rel="nofollow"&gt;db4o的下载&lt;sup&gt;&lt;img src="http://wiki.redsaga.com/confluence/images/icons/linkext7.gif" class="rendericon" alt="" align="absmiddle" border="0" height="7" width="7"&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/span&gt;和&lt;span class="nobr"&gt;&lt;a href="http://www.db4o.com/downloads/db4o-7.0-java-tutorial.pdf" title="Visit page outside Confluence" rel="nofollow"&gt;开发指南&lt;sup&gt;&lt;img src="http://wiki.redsaga.com/confluence/images/icons/linkext7.gif" class="rendericon" alt="" align="absmiddle" border="0" height="7" width="7"&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/span&gt;。&lt;/p&gt;

&lt;p&gt;目前的Android数据库API还缺少基于定位服务的关键元素：开发者如何创建对"邻近的停车场" 或者"位于在1公里内的好友"等与定位服务相关的查询？非常明显，地理信息的标准查询是数据库API中很必要的部分。&lt;/p&gt;

&lt;h2&gt;&lt;a title="为什么Android掀起了mobile飓风？-我的第一个Android应用" class="" name="为什么Android掀起了mobile飓风？-我的第一个Android应用"&gt;&lt;/a&gt;我的第一个Android应用&lt;/h2&gt;

&lt;p&gt;当然，我尝试编写了第一个简单的Android应用...&lt;/p&gt;

&lt;p&gt;我并不喜欢用XML编写GUI的方式，因此我想一定会有Eclipse可用的可视化编辑器出现。Apple在iPhone中为用户提供了"bar"
来提高用户体验，也许Google正在希望社区能够创建一些更好的东西，因为"重新思考传统的用户接口"已经被写在了Android开发挑战赛网站上，成
为了评选的一大原则。&lt;/p&gt;

&lt;p&gt;作为我的第一个Android应用，我简单地将一个对象保存到db4o并出奇地高兴，因为支持JDK1.1的db4o很出色地完成了这个简单的任务。&lt;/p&gt;

&lt;p&gt;因此，让我们看看当使用支持JDK1.2的db4o会遇到什么问题？哦，在Eclipse中调试模拟器的感觉可真是超好、超快。在将应用部署到模拟
器或者步进式调试代码时没有任何的时间延迟。这太棒了！发生了什么问题？
明显地，java.nio.channels.FileLock#release()方法跑出了IO异常。嘿，我发现了我的第一个Android
bug。在删除了这句惹事生非的#release()语句后，JDK1.2版本代码通过了我的小测试，并运行良好。接着，让我们将持久化对象中的字段修改
为private，来看看AccessibleObject#setAccessible()是否能够允许我们访问这个private字段。太酷了，它通
过了测试，我们拥有了一个运行在Android系统上的、功能完整的db4o，可见Android系统上的Java足够支持我们所做的每件事！&lt;/p&gt;

&lt;h2&gt;&lt;a title="为什么Android掀起了mobile飓风？-Android，让我们成为朋友吧！" class="" name="为什么Android掀起了mobile飓风？-Android，让我们成为朋友吧！"&gt;&lt;/a&gt;Android，让我们成为朋友吧！&lt;/h2&gt;

&lt;p&gt;综上所述， 上面编写的代码看上去非常酷、而且稳定。Android对GUI和数据库的支持并不尽善尽美，但它们却都能被db4o这样的第三方软件提供商来改善。&lt;/p&gt;

&lt;h2&gt;&lt;a title="为什么Android掀起了mobile飓风？-Mobile顶级应用" class="" name="为什么Android掀起了mobile飓风？-Mobile顶级应用"&gt;&lt;/a&gt;Mobile顶级应用&lt;/h2&gt;

&lt;p&gt;如果我没有在db4o工作的话，那么我将会马上去创建我所梦想的基于定位的应用 ：&lt;/p&gt;

&lt;h3&gt;&lt;a title="为什么Android掀起了mobile飓风？-驾乘分享" class="" name="为什么Android掀起了mobile飓风？-驾乘分享"&gt;&lt;/a&gt;驾乘分享&lt;/h3&gt;

&lt;p&gt;一个人独占一辆汽车是没有必要的。我们能够做得比在交通堵塞中度过人生中十分之一的"清醒"时光更好，而且更好地保护我们的环境。&lt;/p&gt;

&lt;p&gt;基于定位的系统能够发现总是同时走相同路线的两个人，这将使将他们组织在一起拼车成为了可能。通过安装巨大的数据库，你甚至在从A地至Z地的过程中
无需开车。你只需要在手机上输入你所计划的路线，系统将自动发现那些走这条路线的人，并且按需更换搭乘的车辆也将成为服务的一部分。&lt;/p&gt;

&lt;p&gt;就像我们制定环境保护法一样，我们还可以利用法规强制在汽车上安装"驾乘分享"系统（只是强制安装，而不强迫使用）。这样，通过节省了汽油、减少排出的废气而获得的经济收益将是巨大的。甚至政府还可能为这样的一个系统买单？&lt;img src="http://wiki.redsaga.com/confluence/images/icons/emoticons/smile.gif" class="emoticon" alt="" align="absmiddle" border="0" height="20" width="20"&gt;&lt;/p&gt;

&lt;p&gt;如果你认为安全性是个问题的话： 那么女性驾驶者可以搭载女性乘客啊。&lt;/p&gt;

&lt;p&gt;当今，已经有一些基于兴趣而开发的驾乘分享系统，但还没有能够力拔头筹的系统：它必需具备实时、自动化、并易用的特性。
想象一下你的手机将通过语音告诉你："请停在下一个超市旁，你的邻居Sue需要搭车到Santa
Monica。作为回报，她为你提供一个冰点，并将告诉你一些关于上周你不在家时你的孩子的所作所为。"。这简直是酷死了。&lt;/p&gt;

&lt;h3&gt;&lt;a title="为什么Android掀起了mobile飓风？-随时随地会面" class="" name="为什么Android掀起了mobile飓风？-随时随地会面"&gt;&lt;/a&gt;随时随地会面&lt;/h3&gt;

&lt;p&gt;通常，你都要每天穿梭于老朋友之间， 但也许经常和他们只相距半公里或者十几分钟的路程。而如果这时你收到手机发来的好友提示，并能联系到好友和他一起喝杯咖啡，难道这不很好吗？而移动定位系统能为你作这样的安排。&lt;/p&gt;

&lt;p&gt;假如你身处外地，并没有朋友一起吃晚饭。那么去问问你的手机可以找到谁吧？也许你十年未见的同学正生活在这个城市，并拥有城镇中最好的酒吧！。。。你只需要做的就是走上几分钟，去找他一起喝上几杯。&lt;/p&gt;

&lt;p&gt;假如你在纽约有和某人的会议约定，而你正准备乘飞机到那里。目前你在费城开另外一个会议，而此时那个在纽约将会面的人也在此地。这将是你节省一天路程的好机会！？&lt;/p&gt;

&lt;h2&gt;&lt;a title="为什么Android掀起了mobile飓风？-感谢全世界" class="" name="为什么Android掀起了mobile飓风？-感谢全世界"&gt;&lt;/a&gt;感谢全世界&lt;/h2&gt;

&lt;p&gt;Android这个标准的移动操作系统将使上面所谈的两种应用变得易于编写。而这种变革不仅发生在美国，而是全世界。&amp;nbsp;&lt;/p&gt;

&lt;h2&gt;&lt;a title="为什么Android掀起了mobile飓风？-只为手机而作？" class="" name="为什么Android掀起了mobile飓风？-只为手机而作？"&gt;&lt;/a&gt;只为手机而作？&lt;/h2&gt;

&lt;p&gt;当然Android看上去是为手机而编写。但没有理由使这个开源、自由的软件被用于其它应用领域和设备上。&lt;/p&gt;

&lt;p&gt;我觉得Android能够说服设备生产商： Java能够在相同的开发时间内编写比C更快的应用。&lt;/p&gt;

&lt;h2&gt;&lt;a title="为什么Android掀起了mobile飓风？-Web3.0" class="" name="为什么Android掀起了mobile飓风？-Web3.0"&gt;&lt;/a&gt;Web 3.0&lt;/h2&gt;

&lt;p&gt;在Android发布之前，来自商务方面长达10000英尺的报告已经非常明显地提出：Web3.0将基于定位服务，Google将成为大赢家。&lt;/p&gt;

&lt;p&gt;Android不是敷衍的发布版本，那将使Steve Ballmer感到愤怒的。它已经成为了优秀的工程，一个面向未来的一流基石！Android正在改变世界！&lt;/p&gt;&lt;img src="http://developer.db4o.com/aggbug.aspx?PostID=44108" width="1" height="1"&gt;</content><author><name>cleverpig</name><uri>http://developer.db4o.com/members/cleverpig.aspx</uri></author><category term="db4o" scheme="http://developer.db4o.com/blogs/chinese/archive/tags/db4o/default.aspx" /><category term="db4o 7.0 android" scheme="http://developer.db4o.com/blogs/chinese/archive/tags/db4o+7.0+android/default.aspx" /></entry><entry><title>Android与db4o的完美结合-Password Manager</title><link rel="alternate" type="text/html" href="http://developer.db4o.com/blogs/chinese/archive/2007/11/28/android-db4o-password-manager.aspx" /><id>http://developer.db4o.com/blogs/chinese/archive/2007/11/28/android-db4o-password-manager.aspx</id><published>2007-11-28T04:28:00Z</published><updated>2007-11-28T04:28:00Z</updated><content type="html">&lt;p&gt;&lt;b&gt;&lt;span style="font-size:14px;"&gt;&lt;span style="color:blue;"&gt;项目简介&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br&gt;&lt;br&gt;这里提供的&lt;a href="http://developer.db4o.com/ProjectSpaces/download.ashx/Android_Password_Manager/Db4oAndroidPswMgr.Zip" target="_new"&gt;Password Manager项目&lt;/a&gt;是Steven Osborn编写的&lt;a href="http://steven.bitsetters.com/articles/2007/11/20/android-password-safe/" target="_new"&gt;PasswordSafe&lt;/a&gt;（在Apache License下发行）的改写版，目前已经实现了在&lt;a href="http://developer.db4o.com/blogs/carl/archive/2007/11/19/why-android-will-start-the-mobile-tornado.aspx" target="_new"&gt;Android&lt;/a&gt;平台下的基本密码管理功能。项目源代码中使用db4o代替了SQLite，这样不但使持久化处理更为直观，而且使开发过程更快速、整个应用更加高效。&lt;br&gt;&lt;br&gt;在这个项目中，你可以获得以下资源：&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;* db4o与SQLite之间在基本持久化操作上的比较&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;* 完整的Android示例应用代码&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;* 应用运行时的视频演示&lt;br&gt;&lt;br&gt;&lt;b&gt;&lt;span style="font-size:14px;"&gt;&lt;span style="color:blue;"&gt;基本功能&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br&gt;&lt;br&gt;本应用基本功能是安全地保存网站登录信息，例如URL、用户名、密码，它使用128位AES加密算法。使用者必需提供正确的密码才能访问应用，而密码被用于加密/解密应用数据。&lt;br&gt;&lt;br&gt;这里提供了采用db4o技术的Password Manager在Android模拟器下运行的在线视频：&lt;br&gt;&lt;a href="http://www.youtube.com/watch?v=UFSD44AcBwM" target="_new"&gt;http://www.youtube.com/watch?v=UFSD44AcBwM&lt;/a&gt;&lt;br&gt;&lt;br&gt;如
果你下载了源代码（请见本页末尾的详细说明），那么你会看到原来PasswordSafe中的DBHepler类（实现SQLite下的持久化）已经被替
换为Db4oHelper类（实现db4o的持久化）。现在，就让我为你展示db4o和SQLite在持久化处理上的不同之处吧。&lt;br&gt;&lt;br&gt;&lt;b&gt;&lt;span style="font-size:14px;"&gt;&lt;span style="color:blue;"&gt;SQL初始化开销&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br&gt;&lt;br&gt;这是你需要在SQLite下初始化密码管理器SQL代码（表名、表创建命令等）：&lt;br&gt;&lt;img src="http://developer.db4o.com/ProjectSpaces/download.ashx/Android_Password_Manager/1.Jpg" alt="image" style="display:inline;" border="0"&gt;&lt;br&gt;而下面是等价的db4o代码：&lt;br&gt;&lt;img src="http://developer.db4o.com/ProjectSpaces/download.ashx/Android_Password_Manager/2.Jpg" alt="image" style="display:inline;" border="0"&gt;&lt;br&gt;正如你所看到的，在db4o中无需预定义schema（你可以将db4o对象模式当作schema使用，并且&lt;a href="http://developer.db4o.com/Resources/view.aspx/Reference/Implementation_Strategies/Refactoring_And_Schema_Evolution" target="_new"&gt;在这种对象模型下进行重构是非常优雅的&lt;/a&gt;，甚至&lt;a href="http://developer.db4o.com/Resources/view.aspx/Reference/Implementation_Strategies/Refactoring_and_Schema_Evolution/Automatic_refactoring" target="_new"&gt;在一些简单的情况下是自动化的&lt;/a&gt;）。&lt;br&gt;&lt;br&gt;&lt;b&gt;&lt;span style="font-size:14px;"&gt;&lt;span style="color:blue;"&gt;数据库打开和创建机制&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br&gt;&lt;br&gt;在SQLite中，你需要调用两种不同的方法，一种是创建数据库，另一种是打开数据库：&lt;br&gt;&lt;img src="http://developer.db4o.com/ProjectSpaces/download.ashx/Android_Password_Manager/3.Jpg" alt="image" style="display:inline;" border="0"&gt;&lt;br&gt;而在db4o中，你只需要调用openFile()，它将根据数据库是否存在来创建或者打开数据库：&lt;br&gt;&lt;img src="http://developer.db4o.com/ProjectSpaces/download.ashx/Android_Password_Manager/4.Jpg" alt="image" style="display:inline;" border="0"&gt;&lt;br&gt;也许这里的差别看起来无关紧要，但更简短的代码才是更清晰的代码！&lt;br&gt;&lt;br&gt;&lt;b&gt;&lt;span style="font-size:14px;"&gt;&lt;span style="color:blue;"&gt;更新和插入数据&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br&gt;&lt;br&gt;使用关系数据库SQLite时，你需要根据具体情况传送插入或更新命令（完全正确地构造反射数据表字段的SQL字符串确并非易事）：&lt;br&gt;&lt;img src="http://developer.db4o.com/ProjectSpaces/download.ashx/Android_Password_Manager/5.Jpg" alt="image" style="display:inline;" border="0" height="450" width="470"&gt;&lt;br&gt;这里是等价的db4o代码：&lt;br&gt;&lt;img src="http://developer.db4o.com/ProjectSpaces/download.ashx/Android_Password_Manager/6.Jpg" alt="image" style="display:inline;" border="0"&gt;&lt;br&gt;你
是否发现了不同？db4o实际上是一种单行代码（one-line-of-code）的存储数据库。db4o自动检查对象是新的还是已存在的，并根据对象
状态进行更新或者插入（我们只需要调用set操作）。值得注意的是，在上面的代码中我们手工提供了对象的新id，而db4o是可以将其配置为自增字段的。&lt;br&gt;&lt;br&gt;&lt;b&gt;&lt;span style="font-size:14px;"&gt;&lt;span style="color:blue;"&gt;查询所有记录&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br&gt;&lt;br&gt;在SQLite中，我们不得不进行人工的对象关系映射：&lt;br&gt;&lt;img src="http://developer.db4o.com/ProjectSpaces/download.ashx/Android_Password_Manager/7.Jpg" alt="image" style="display:inline;" border="0"&gt;&lt;br&gt;而在db4o中，我们完全可以忘掉关系映射：&lt;br&gt;&lt;img src="http://developer.db4o.com/ProjectSpaces/download.ashx/Android_Password_Manager/8.Jpg" alt="image" style="display:inline;" border="0"&gt;&lt;br&gt;请注意：在上面简短的查询中，我们通过db4o的&lt;a href="http://developer.db4o.com/Resources/view.aspx/Reference/Object_Lifecycle/Querying/SODA_Query_API" target="_new"&gt;SODA&lt;/a&gt;查询了全部PassEntry对象，并将结果按照"id"字段进行排序（在上面的SQLite示例中没有排序）。&lt;br&gt;&lt;br&gt;它不能再简单了！&lt;br&gt;&lt;br&gt;&lt;b&gt;&lt;span style="font-size:14px;"&gt;&lt;span style="color:blue;"&gt;通过字段查询单一记录&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br&gt;&lt;br&gt;通过Id查询记录的SQLite版本：&lt;br&gt;&lt;img src="http://developer.db4o.com/ProjectSpaces/download.ashx/Android_Password_Manager/9.Jpg" alt="image" style="display:inline;" border="0"&gt;&lt;br&gt;下面是db4o版本，它使用了&lt;a href="http://developer.db4o.com/Resources/view.aspx/Reference/Object_Lifecycle/Querying" target="_new"&gt;db4o三种查询系统&lt;/a&gt;之一------&lt;a href="http://developer.db4o.com/Resources/view.aspx/Reference/Object_Lifecycle/Querying/Query_By_Example" target="_new"&gt;Exmaple（也称为QBE）&lt;/a&gt;代替前面的&lt;a href="http://developer.db4o.com/Resources/view.aspx/Reference/Object_Lifecycle/Querying/SODA_Query_API" target="_new"&gt;SODA&lt;/a&gt;进行查询：&lt;br&gt;&lt;img src="http://developer.db4o.com/ProjectSpaces/download.ashx/Android_Password_Manager/10.Jpg" alt="image" style="display:inline;" border="0"&gt;&lt;br&gt;可以看出这是多么短小、清晰的代码啊！&lt;br&gt;&lt;br&gt;&lt;b&gt;&lt;span style="font-size:14px;"&gt;&lt;span style="color:blue;"&gt;结论&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br&gt;&lt;br&gt;我希望你已经通过以上短小的文档了解到了db4o的优点。你希望在应用中将持久化提升到一个新的高度吗？请现在就&lt;a href="http://developer.db4o.com/files/default.aspx" target="_new"&gt;下载db4oJava版本或者.NET版本&lt;/a&gt;吧！它是免费的！&lt;br&gt;&lt;br&gt;&lt;b&gt;&lt;span style="font-size:14px;"&gt;&lt;span style="color:blue;"&gt;相关资源&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;* &lt;a href="http://developer.db4o.com/Resources/view.aspx/Formula_One_Tutorial" target="_new"&gt;db4o指南&lt;/a&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;* &lt;a href="http://developer.db4o.com/Resources/view.aspx/Reference/Getting_Started" target="_new"&gt;安装向导&lt;/a&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;* &lt;a href="http://developer.db4o.com/Resources/default.aspx" target="_new"&gt;开发者资源&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;&lt;span style="font-size:14px;"&gt;&lt;span style="color:blue;"&gt;TODO&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;* 使用XTEA替换自定义加密算法（XTEA能够提供数据库级别加密和IO加密，而不是字段级加密）&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;* 提供检索功能（为了按名称进行过滤）&lt;br&gt;&lt;br&gt;Steve的PasswordSafe项目发布在Google Code上，那里有更多的TODO：&lt;br&gt;&lt;a href="http://code.google.com/p/android-passwordsafe/issues/" target="_new"&gt;http://code.google.com/p/android-passwordsafe/issues/&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;&lt;span style="font-size:14px;"&gt;&lt;span style="color:blue;"&gt;Bugs&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;* 在密码记录编辑器中尝试编辑website输入框中的URL时会发生错误。&lt;br&gt;&lt;br&gt;&lt;b&gt;&lt;span style="font-size:14px;"&gt;&lt;span style="color:blue;"&gt;源代码下载&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://developer.db4o.com/ProjectSpaces/download.ashx/Android_Password_Manager/Db4oAndroidPswMgr.Zip" target="_new"&gt;Db4oAndroidPswMgr.Zip&lt;/a&gt;&lt;/p&gt;&lt;img src="http://developer.db4o.com/aggbug.aspx?PostID=43899" width="1" height="1"&gt;</content><author><name>cleverpig</name><uri>http://developer.db4o.com/members/cleverpig.aspx</uri></author><category term="db4o 7.0 android" scheme="http://developer.db4o.com/blogs/chinese/archive/tags/db4o+7.0+android/default.aspx" /></entry><entry><title>db4objects发布领先的开源对象数据库7.0版本 </title><link rel="alternate" type="text/html" href="http://developer.db4o.com/blogs/chinese/archive/2007/11/14/db4objects-7-0.aspx" /><id>http://developer.db4o.com/blogs/chinese/archive/2007/11/14/db4objects-7-0.aspx</id><published>2007-11-14T06:27:00Z</published><updated>2007-11-14T06:27:00Z</updated><content type="html">&lt;P&gt;2007年11月13日，圣马刁市(美国加州)，db4objects (&lt;A href="http://www.db4o.com/" target=_new&gt;www.db4o.com&lt;/A&gt;)：面向Java和.NET的领先开源对象数据库，发布了db4o最新7.0开发版本（beta）。此版本提供了重要的新特性：透明激活（Transparent Activation），它将使从前读取复杂数据对象的工作变得非常容易，只需要编写一行代码，但却在性能上超越了前辈们（比如Hibernate、关系或非关系数据库）。目前，此版本对于Java和db4o集合（collections）支持本地透明激活，.NET版本已经被列入了十二月的开发计划，并将在明年第一季度全面支持所有集合类型。&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="COLOR:green;"&gt;“这次db4o数据库主要加强点是在开发过程中，简化了对复杂对象图表的处理。”&lt;/SPAN&gt;db4o项目技术委员会的领导者Rodrigo de Olivera谈到。&lt;SPAN style="COLOR:green;"&gt;“正如人们不喜欢手动档的繁琐，转而选择自动挡轿车一样，透明激活技术提供了与db4o协助的完美无缝方式，而无需了解下层数据状况。你能够将精力放在应用功能上，db4o将确保你的对象模型时刻准备着行动。”&lt;/SPAN&gt;&lt;BR&gt;&lt;BR&gt;在7.0版本，db4o自动检查对象图标的激活深度，从而只从磁盘装载绝对最小量的数据、同时消耗更少的内存并提升性能。与例如Hibernate这样的高度抽象数据架构、其它的对象关系解决方案或者非本地对象数据库的不同的是，db4o内嵌了Java和.NET引擎，它能够在本地对透明激活特性进行优化，从而将其性能提升比原来快44倍。由于开发者不再需要手工定义那些正被操作、保存或者读取的对象的激活深度，因此使开发时间锐减。&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="COLOR:green;"&gt;“我们的应用使用了大量复杂的对象图表，” &lt;/SPAN&gt;位于亚特兰大的领先语音识别软件提供商Joseph Duda of Nexidia说。&lt;SPAN style="COLOR:green;"&gt;“透明激活技术将大大降低应用的内存空间，并且减少了启动次数和运行时图表装载的开销。”&lt;/SPAN&gt;&lt;BR&gt;&lt;BR&gt;透明激活的实现与db4o版本的不断增强都是由时刻活跃在db4o社区、世界上最大的、近三万Java和.NET开发者群体驱动着的。感谢这伟大的协助和开源开发模式，db4objects把对象数据库放回到了“软件开发世界的地图”之上，并使db4o成为了每个创新Java或者.NET系统架构的首选，尤其是在嵌入式或者移动软件应用领域。&lt;BR&gt;&lt;BR&gt;db4o的注册用户能够从db4o开发站点下载最新版本：&lt;A href="http://developer.db4o.com/files/folders/db4o_70/default.aspx" target=_new&gt;http://developer.db4o.com/files/folders/db4o_70/default.aspx&lt;/A&gt;&lt;BR&gt;.NET版本已经被列入了十二月的开发计划，并有望在2008年第一季度发布。&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;db4o大中华区首席代表处 &lt;BR&gt;Harry Li &lt;BR&gt;地址:深圳市福田区金田北路诺德中心24A &lt;BR&gt;邮编: 518000 &lt;BR&gt;联系电话: +86-13528805195 &lt;BR&gt;邮件:china@db4o.com &lt;BR&gt;&lt;/P&gt;&lt;img src="http://developer.db4o.com/aggbug.aspx?PostID=43532" width="1" height="1"&gt;</content><author><name>chris.lo</name><uri>http://developer.db4o.com/members/chris.lo.aspx</uri></author></entry><entry><title>db4o 在北京和武汉举办用户会议,欢迎报名参加</title><link rel="alternate" type="text/html" href="http://developer.db4o.com/blogs/chinese/archive/2007/09/24/db4o-_1753AC4E8C54666B496C287537621A4FAE8B_.aspx" /><id>http://developer.db4o.com/blogs/chinese/archive/2007/09/24/db4o-_1753AC4E8C54666B496C287537621A4FAE8B_.aspx</id><published>2007-09-24T05:25:00Z</published><updated>2007-09-24T05:25:00Z</updated><content type="html">&lt;P&gt;db4objects, Java 及.NET 开放源码面向对象数据库的领导者, 为了积极响应大家的意见, db4objects将于9月29日晚19:00-21:00在北京，以及9月30日下午14:00-17:00 在武汉举办User Group. 在User Group上, 你将会和db4o的CEO, 以及db4o的本地合作伙伴进行面对面交流, 同时, 你将会和Matrix的众多会员就敏捷开发, 面向对象数据库等技术进行面对面交流. &lt;BR&gt;&lt;BR&gt;本次db4o中国巡回举办的User Group的时间和地点为: &lt;BR&gt;&lt;BR&gt;北京: &lt;BR&gt;时间: 9月29日 星期六 晚上19:00- 21:00 &lt;BR&gt;地点: 北京西苑饭店--北京三里河路一号,近紫竹院和动物园,交通方便(地图：&lt;A href="http://www.xiyuanhotel.com.cn/chinese/showmap.html"&gt;http://www.xiyuanhotel.com.cn/chinese/showmap.html&lt;/A&gt;&lt;A href="http://www.xiyuanhotel.com.cn/chinese/walkingmap.html"&gt;&lt;/A&gt;) &lt;BR&gt;议程: &lt;BR&gt;晚上 18:30 登记入场 &lt;BR&gt;&lt;BR&gt;会议主题:&lt;BR&gt;&lt;BR&gt;db4o和敏捷开发(db4o CEO Christof)&lt;BR&gt;db4o V6.4 的嵌入式性能改进(Andrew, db4o核心开发)&lt;BR&gt;JavaFX-不仅是图形化脚本(Cleverpig, Matrix负责人)&lt;/P&gt;
&lt;P&gt;武汉&lt;BR&gt;时间: 9月30日 星期日 下午15:00- 17:00 &lt;BR&gt;地点: 武汉光谷华美达大酒店,武汉市武昌区珞瑜路726号.&lt;BR&gt;议程:&amp;nbsp;&lt;BR&gt;下午 14:30 登记入场 &lt;BR&gt;&lt;BR&gt;会议主题:&lt;BR&gt;&lt;BR&gt;db4o和敏捷开发(db4o CEO Christof)&lt;BR&gt;db4o V6.4 的嵌入式性能改进(Andrew, db4o核心开发)&lt;BR&gt;db4o在汽车导航系统中的应用(Liinfeng, KOTEI CTO)&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;语言 : 普通话、英语 &lt;BR&gt;&lt;BR&gt;入场费全免, 但由于名额有限. 有兴趣参加者请将参与的场次、姓名、所属机构、职位, 联系电话及参加人数电邮至 &lt;A href="mailto:china@db4o.com"&gt;&lt;FONT color=#333333&gt;china@db4o.com&lt;/FONT&gt;&lt;/A&gt; 登记预留座位. &lt;BR&gt;&lt;BR&gt;敬上, &lt;BR&gt;&lt;BR&gt;db4o大中华区首席代表处 &lt;BR&gt;Harry Li &lt;BR&gt;地址:深圳市福田区金田北路诺德中心24A &lt;BR&gt;邮编: 518000 &lt;BR&gt;联系电话: +86-13528805195 &lt;BR&gt;邮件:china@db4o.com &lt;BR&gt;&lt;/P&gt;&lt;img src="http://developer.db4o.com/aggbug.aspx?PostID=41877" width="1" height="1"&gt;</content><author><name>chris.lo</name><uri>http://developer.db4o.com/members/chris.lo.aspx</uri></author></entry><entry><title>db4o 10月通讯</title><link rel="alternate" type="text/html" href="http://developer.db4o.com/blogs/chinese/archive/2007/09/24/db4o-10.aspx" /><id>http://developer.db4o.com/blogs/chinese/archive/2007/09/24/db4o-10.aspx</id><published>2007-09-24T04:56:00Z</published><updated>2007-09-24T04:56:00Z</updated><content type="html">&lt;P class=MsoNormal style="MARGIN:0pt;"&gt;&lt;FONT size=3&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;本月&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT size=3&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;K U D O &lt;BR&gt;&lt;BR&gt;"db4objects &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;真正让你的业务模型持久化了&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;, &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;这是别的方式所无法替代得&lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman" size=3&gt;. "&lt;BR&gt;-- Dirk Louwers (The Netherlands), September, 2007 (&lt;/FONT&gt;&lt;A href="http://developer.db4o.com/members/dlouwers.aspx?pnr=0034000000KSZVwAAP"&gt;&lt;FONT face="Times New Roman" size=3&gt;http://developer.db4o.com/members/dlouwers.aspx?pnr=0034000000KSZVwAAP&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Times New Roman" size=3&gt;)&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;A R T I C L E S&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;-- db4o V6.4 &lt;/FONT&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;大幅提升了嵌入式客户端&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;/&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;服务器模式的性能&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT size=3&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;--&lt;BR&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;性能问题，一直以来都是我们从用户调查中获取的最关注的问题。在&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;db4o V6.4 &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;发布之际，我们很高兴宣布：新版本大幅提升了嵌入式客户端&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;/&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;服务器模式的性能&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;嵌入式客户端&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;/&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;服务器模式主要指以下模式：几个客户端程序同时产生了事务，而对应却只有一个&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;ObjectContianer &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;服务器的情况&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT size=3&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;.&lt;BR&gt;&lt;BR&gt;db4o V6.4 &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;通过直接在&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;”&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;客户端&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;”&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;和&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;”&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;服务器&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;”&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;之间传递对象，而无&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;marshalling &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;以及&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt; unmarshalling &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;这些对象来改进性能&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;. db4o V6.4 &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;对每一个事务都会保留一个&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;local reference system, &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;同时确保在查询的过程中使用的是正确&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;reference system. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;所有的事务之间将会共享&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;Metadata. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;现在&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;db4o&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;的嵌入式客户端&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;/&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;服务器模式能够处理以下情况&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;: &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;一个&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;ObjectContainer &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;同时处理多个事务&lt;/SPAN&gt;&lt;FONT face="Times New Roman"&gt; &lt;/FONT&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;－&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt; db4o&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;开发小组使用了这样一个名字来诠释它：&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT size=3&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt; Multi-Transactional-ObjectContainer (MTOC).&lt;BR&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;大幅改进了嵌入式客户端&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;/&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;服务器模式性能的&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;db4o V6.4 &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;现在能够在&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;db4o&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;的官方网站进行下载使用了：&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt; (&lt;/FONT&gt;&lt;A href="http://developer.db4o.com/files/folders/db4o_64/default.aspx?pnr=0034000000KSZVwAAP"&gt;&lt;FONT face="Times New Roman"&gt;http://developer.db4o.com/files/folders/db4o_64/default.aspx?pnr=0034000000KSZVwAAP&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Times New Roman"&gt;). &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;感兴趣的用户野可以参考一下&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;Carl&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;的开发&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;blog (&lt;/FONT&gt;&lt;A href="http://developer.db4o.com/blogs/product_news/archive/2007/09/15/embedded-client-server-performance-improvements.aspx?pnr=0034000000KSZVwAAP"&gt;&lt;FONT face="Times New Roman"&gt;http://developer.db4o.com/blogs/product_news/archive/2007/09/15/embedded-client-server-performance-improvements.aspx?pnr=0034000000KSZVwAAP&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Times New Roman"&gt;). &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;嵌入式客户端&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;/&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;服务器模式也在以下文章中提到：&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt; (&lt;/FONT&gt;&lt;A href="http://developer.db4o.com/Resources/view.aspx/Reference/Client-Server/Embedded?pnr=0034000000KSZVwAAP"&gt;&lt;FONT face="Times New Roman"&gt;http://developer.db4o.com/Resources/view.aspx/Reference/Client-Server/Embedded?pnr=0034000000KSZVwAAP&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Times New Roman"&gt;) – &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;如果你之前也在使用嵌入式客户端&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;/&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;服务器模式，那么升级后你无需修改任何代码，因为&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;APIs&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;还是一致的&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT size=3&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;.&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;-- db4objects &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;承办&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;ODBMS &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;全球会议&lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman" size=3&gt;--&lt;BR&gt;&lt;BR&gt;ICOODB (&lt;/FONT&gt;&lt;A href="http://odbmsjournal.org/icoodb/index.html"&gt;&lt;FONT face="Times New Roman" size=3&gt;http://odbmsjournal.org/icoodb/index.html&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Times New Roman" size=3&gt;) &lt;/FONT&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;是全球第一个专注于面向对象数据库的全球国际性会议&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;. db4objects&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;的&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;CEO Christof Wittig (&lt;/FONT&gt;&lt;A href="http://developer.db4o.com/blogs/christof/archive/2007/09/18/international-conference-on-object-databases-in-berlin-march-2008.aspx?pnr=0034000000KSZVwAAP"&gt;&lt;FONT face="Times New Roman"&gt;http://developer.db4o.com/blogs/christof/archive/2007/09/18/international-conference-on-object-databases-in-berlin-march-2008.aspx?pnr=0034000000KSZVwAAP&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Times New Roman"&gt;) &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;以及首席架构师&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;Carl Rosenberger (&lt;/FONT&gt;&lt;A href="http://www.odbms.org/about_contributors_rosenberger.html"&gt;&lt;FONT face="Times New Roman"&gt;www.odbms.org/about_contributors_rosenberger.html&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Times New Roman"&gt;) &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;将会在会议上演讲，同时会在此会议上做演讲的还有&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;Robert Greene (&lt;/FONT&gt;&lt;A href="http://www.odbms.org/about_contributors_greene.html"&gt;&lt;FONT face="Times New Roman"&gt;www.odbms.org/about_contributors_greene.html&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Times New Roman"&gt;), Mike Card (&lt;/FONT&gt;&lt;A href="http://www.odbms.org/about_contributors_card.html"&gt;&lt;FONT face="Times New Roman"&gt;www.odbms.org/about_contributors_card.html&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Times New Roman"&gt;) &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;以及&lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman" size=3&gt; Ralph Westphal (&lt;/FONT&gt;&lt;A href="http://www.ralfw.de/default.html"&gt;&lt;FONT face="Times New Roman" size=3&gt;www.ralfw.de/default.html&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Times New Roman" size=3&gt;).&lt;BR&gt;&lt;BR&gt;ICOODB (&lt;/FONT&gt;&lt;A href="http://www.icoodb.org/"&gt;&lt;FONT face="Times New Roman" size=3&gt;www.icoodb.org&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Times New Roman" size=3&gt;) &lt;/FONT&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;目前由一个独立的委员会负责管理和组织&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;, &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;这个委员会由&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;ODBMS.ORG &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;的专家&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt; Prof. Dr. Stefan Edlich (&lt;/FONT&gt;&lt;A href="http://www.odbms.org/about_contributors_edlich.html"&gt;&lt;FONT face="Times New Roman"&gt;www.odbms.org/about_contributors_edlich.html&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Times New Roman"&gt;) (TFH Berlin) &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;以及&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;Dr. James Paterson (&lt;/FONT&gt;&lt;A href="http://www.odbms.org/about_contributors_paterson.html"&gt;&lt;FONT face="Times New Roman"&gt;www.odbms.org/about_contributors_paterson.html&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Times New Roman"&gt;) (Glasgow Caledonian University) &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;。&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;ICOODB 2008&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;将会在&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;2008&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;年&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;3&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;月得&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;13&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;和&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;14&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;日在德国柏林的&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;University of Applied Sciences (TFH) &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;举行&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;你能够在&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;ODBMS.org&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;获取关于本次会议的相关信息&lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman" size=3&gt; (&lt;/FONT&gt;&lt;A href="http://www.odbms.org/about_news_20070918.html"&gt;&lt;FONT face="Times New Roman" size=3&gt;www.odbms.org/about_news_20070918.html&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Times New Roman" size=3&gt;).&lt;BR&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;同时，&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;db4o&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;的全球用户会议也将会在&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;ICOODB 2008&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;举行的前一天，也就是&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;2008&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;年&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;3&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;月&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;12&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;日&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;举行。&lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;FONT face="Times New Roman" size=3&gt;-- db4objects&lt;/FONT&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;赞助社区有贡献用户免费参加&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;ICOODB &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;会议旅程&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT size=3&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;--&lt;BR&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;官方选举出来了&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;3&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;名&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;db4o most Valued Professionals (dVP) 2008 (&lt;/FONT&gt;&lt;A href="http://www.db4o.com/community/professionals/dVP/directory2008.aspx?pnr=0034000000KSZVwAAP"&gt;&lt;FONT face="Times New Roman"&gt;www.db4o.com/community/professionals/dVP/directory2008.aspx?pnr=0034000000KSZVwAAP&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Times New Roman"&gt;)&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;作为最终的胜利者&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;. db4objects &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;将会赞助他们参加明年在德国柏林举行的&lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman" size=3&gt; ICOODB 2008 (&lt;/FONT&gt;&lt;A href="http://odbmsjournal.org/icoodb/index.html"&gt;&lt;FONT face="Times New Roman" size=3&gt;http://odbmsjournal.org/icoodb/index.html&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Times New Roman" size=3&gt;).&lt;BR&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;这&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;3&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;名获胜者分别是&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT size=3&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;:&lt;BR&gt;&lt;BR&gt;Chris Beams (USA)&lt;BR&gt;Rosen Jiang (China)&lt;BR&gt;Buu Nguyen (Vietnam)&lt;BR&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;这些&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;dVP&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;们同时还会有机会参加&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;3&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;月&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;12&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;日&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;举行的&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;db4o&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;全球用户会议，&lt;/SPAN&gt;&lt;FONT face="Times New Roman"&gt; &lt;/FONT&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;与&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;db4o&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;的核心开发者以及其他成员会面和交流&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT size=3&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;.&lt;BR&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;让我们一起祝贺这些&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;dVP&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;们，同时感谢他们为&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;db4o&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;社区作出的贡献吧！&lt;/SPAN&gt;&lt;FONT face="Times New Roman"&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;SPAN&gt;&lt;BR&gt;&lt;BR&gt;&lt;FONT face="Times New Roman" size=3&gt;-- &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;&lt;FONT size=3&gt;社区新闻&lt;/FONT&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt; --&lt;BR&gt;by German Viscuso&lt;BR&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;对&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;db4o&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;社区来说，这是一个让人激动的月份。以下是&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;db4o ProjectSpaces &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;中一些新成立项目的亮点：&lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman" size=3&gt; (&lt;/FONT&gt;&lt;A href="http://developer.db4o.com/ProjectSpaces/default.aspx?pnr=0034000000KSZVwAAP"&gt;&lt;FONT face="Times New Roman" size=3&gt;http://developer.db4o.com/ProjectSpaces/default.aspx?pnr=0034000000KSZVwAAP&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Times New Roman" size=3&gt;):&lt;BR&gt;&lt;BR&gt;PHP&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;&lt;FONT size=3&gt;中使用&lt;/FONT&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;db4o &lt;BR&gt;db4o &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;的开发者们总是对在不同的开发语言中使用&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;db4o&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;感到很有兴趣。最近，一个新的社区项目成立了，目的就是让&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;db4o&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;支持&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;PHP&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;开发。这个&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;idea&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;是在&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;Nicolas Cano&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;的一片&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;blog&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;文后激发出来的&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;这表明了让&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;db4o&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;和别的开发语言整合起来并不是一件特别困难的事情。这个项目还处于&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;proof of concept &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;阶段，但是因为&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;PHP&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;是那么地受欢迎，所以你将会很快看到用户社区带来的改进&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;如果你关注这个项目，请查看&lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman" size=3&gt;(&lt;/FONT&gt;&lt;A href="http://projects.db4o.com/PHP_Db4o?pnr=0034000000KSZVwAAP"&gt;&lt;FONT face="Times New Roman" size=3&gt;http://projects.db4o.com/PHP_Db4o?pnr=0034000000KSZVwAAP&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Times New Roman" size=3&gt;).&lt;BR&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;同时我们也维护了一个&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;db4o&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;和别的语言整合的特性列表，你可以查看这里：&lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman" size=3&gt; (&lt;/FONT&gt;&lt;A href="http://projects.db4o.com/Tools_And_Add-Ons/Language_Bindings_or_Implementations?pnr=0034000000KSZVwAAP"&gt;&lt;FONT face="Times New Roman" size=3&gt;http://projects.db4o.com/Tools_And_Add-Ons/Language_Bindings_or_Implementations?pnr=0034000000KSZVwAAP&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Times New Roman" size=3&gt;).&lt;BR&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;新的&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;Web&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;应用案例&lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN&gt;&lt;BR&gt;&lt;FONT face="Times New Roman" size=3&gt;Alan Lavintman (&lt;/FONT&gt;&lt;A href="http://developer.db4o.com/members/alan_lavintman.aspx?pnr=0034000000KSZVwAAP"&gt;&lt;FONT face="Times New Roman" size=3&gt;http://developer.db4o.com/members/alan_lavintman.aspx?pnr=0034000000KSZVwAAP&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Times New Roman" size=3&gt;) &lt;/FONT&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;以及&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt; Dario Quintana (&lt;/FONT&gt;&lt;A href="http://developers.db4o.com/members/uooopaa.aspx?pnr=0034000000KSZVwAAP"&gt;&lt;FONT face="Times New Roman"&gt;http://developers.db4o.com/members/uooopaa.aspx?pnr=0034000000KSZVwAAP&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Times New Roman"&gt;) &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;贡献了一个新的&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;web&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;应&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;-RHEs, &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;这是一个人力资源管理的&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;web&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;应用&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;(&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;西班牙文界面&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;)&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;，这个应用使用了&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0pt;"&gt;&lt;FONT size=3&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;db4o, Spring, Javaserver Faces &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;以及&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt; Facelets. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;你可以从下面查看这个应用：&lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman" size=3&gt; (&lt;/FONT&gt;&lt;A href="http://projects.db4o.com/RHEs?pnr=0034000000KSZVwAAP"&gt;&lt;FONT face="Times New Roman" size=3&gt;http://projects.db4o.com/RHEs?pnr=0034000000KSZVwAAP&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Times New Roman" size=3&gt;).&lt;BR&gt;&lt;BR&gt;LINQ-provider-for-db4o project&lt;BR&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;另外一个很棒的项目&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;LINQ-provider-for-db4o project&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;，是由我们的社区会员&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;Luciano Di Cocco (&lt;/FONT&gt;&lt;A href="http://developer.db4o.com/members/ldicocco.aspx?pnr=0034000000KSZVwAAP"&gt;&lt;FONT face="Times New Roman"&gt;http://developer.db4o.com/members/ldicocco.aspx?pnr=0034000000KSZVwAAP&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Times New Roman"&gt;)&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;创立的&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;. LINQ-provider-for-db4o project &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;的目标是在&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;db4o&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"&gt;中&lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman" size=3&gt;The objective is to have rough equivalence with Native Queries using LINQ. Even tough this is still a primitive and limited implementation of a LINQ provider for db4o you might find it interesting since it is based on Matt Warren's sample (&lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/mattwar"&gt;&lt;FONT face="Times New Roman" size=3&gt;http://blogs.msdn.com/mattwar&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Times New Roman" size=3&gt;).&lt;BR&gt;You can see Lucianos's initial version here (&lt;/FONT&gt;&lt;A href="http://projects.db4o.com/LINQ_To_Db4o?pnr=0034000000KSZVwAAP"&gt;&lt;FONT face="Times New Roman" size=3&gt;http://projects.db4o.com/LINQ_To_Db4o?pnr=0034000000KSZVwAAP&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Times New Roman" size=3&gt;).&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;媒 体 报 道&lt;BR&gt;&lt;BR&gt;"The busy Java developer's guide to db4o: Arrays and collections" (&lt;/FONT&gt;&lt;A href="http://www.ibm.com/developerworks/java/library/j-db4o5.html?ca=drs"&gt;&lt;FONT face="Times New Roman" size=3&gt;www.ibm.com/developerworks/java/library/j-db4o5.html?ca=drs&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Times New Roman" size=3&gt;-)&lt;BR&gt;IBM developerWorks, September 18, 2007, by Ted Neward&lt;BR&gt;&lt;BR&gt;Startup City: db4objects Takes A Run At The Object Database Market (&lt;/FONT&gt;&lt;A href="http://www.informationweek.com/news/showArticle.jhtml?articleID=201806547"&gt;&lt;FONT face="Times New Roman" size=3&gt;www.informationweek.com/news/showArticle.jhtml?articleID=201806547&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Times New Roman" size=3&gt;)&lt;BR&gt;InformationWeek, September 15, 2007, by John Foley&lt;BR&gt;&lt;BR&gt;"Konservierungsmittel" (&lt;/FONT&gt;&lt;A href="http://www.linux-magazin.de/heft_abo/ausgaben/2007/09/konservierungsmittel?category=0"&gt;&lt;FONT face="Times New Roman" size=3&gt;http://www.linux-magazin.de/heft_abo/ausgaben/2007/09/konservierungsmittel?category=0&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Times New Roman" size=3&gt;)&lt;BR&gt;Linux-Magazin September 2007, by Tim Schuermann (In German)&lt;BR&gt;&lt;BR&gt;"Versatile Querying With db4o" (&lt;/FONT&gt;&lt;A href="http://www.ftponline.com/channels/java/2007_07/rgrehan"&gt;&lt;FONT face="Times New Roman" size=3&gt;www.ftponline.com/channels/java/2007_07/rgrehan&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Times New Roman" size=3&gt;)&lt;BR&gt;FTPOnline, July 25, 2007, by Rick Grehan&lt;BR&gt;&lt;BR&gt;--------&lt;BR&gt;&lt;BR&gt;&lt;FONT face=Arial&gt;&lt;SPAN style="FONT-SIZE:10pt;"&gt;新闻联系人&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;"&gt;: &lt;/SPAN&gt;&lt;BR&gt;Harry Li &lt;BR&gt;db4o大中华区代表处&lt;BR&gt;地址:深圳市福田区金田北路诺德中心24A &lt;BR&gt;邮编: 518000&lt;BR&gt;联系电话: +86-13528805195 &lt;BR&gt;&lt;/FONT&gt;&lt;A href="mailto:china@db4o.com"&gt;&lt;FONT face=Arial color=#333333&gt;china@db4o.com&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Arial&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Times New Roman" size=3&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://developer.db4o.com/aggbug.aspx?PostID=41875" width="1" height="1"&gt;</content><author><name>chris.lo</name><uri>http://developer.db4o.com/members/chris.lo.aspx</uri></author></entry><entry><title>db4o 7月通讯: db4o: OSGI 应用中的持久层方案</title><link rel="alternate" type="text/html" href="http://developer.db4o.com/blogs/chinese/archive/2007/07/03/db4o-7-db4o-osgi.aspx" /><id>http://developer.db4o.com/blogs/chinese/archive/2007/07/03/db4o-7-db4o-osgi.aspx</id><published>2007-07-03T15:42:00Z</published><updated>2007-07-03T15:42:00Z</updated><content type="html">&lt;P class=t2&gt;&lt;A href="http://www.db4o.com/about/news/events/"&gt;事 件&lt;/A&gt; &lt;/P&gt;
&lt;P class=t2&gt;&lt;A href="http://www.osgi.org/news_events/2007_06_communities/overview.asp" target=_blank&gt;OSGi Alliance Community Meeting&lt;BR&gt;&lt;/A&gt;June 26-27, 2007, Siemens AG Corporate Offices, Munich, Germany &lt;/P&gt;
&lt;P class=t2&gt;本 月 &lt;A href="http://blogs.db4o.com/kudos"&gt;K U D O&lt;/A&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;
&lt;P class=t2&gt;&lt;I&gt;"Hibernate和db4o对比，就好象CP/M和Windows NT对比一样。对于一个略微复杂的项目(消费者，产品，销售)，使用Hibernate，我们往往需要好几天的时间来完成，而使用db4o则可以在很短的几分钟内完成代码."&lt;/I&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; --&lt;A href="http://www.artima.com/forums/flat.jsp?forum=276&amp;amp;thread=206671" target=_blank&gt;Achilleas Margaritis, May 28, 2007&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=t2&gt;文 章 &lt;/P&gt;&lt;A class="" title=Article1 name=Article1&gt;&lt;/A&gt;
&lt;P class=t2&gt;&lt;BR&gt;&lt;B&gt;-- db4o 与 ProSyst&amp;nbsp;合作为OSGI应用提供持久层解决方案--&lt;/B&gt; &lt;/P&gt;
&lt;P class=t2&gt;db4objects 与客户端和服务器端OSGi 平台提供商ProSyst，结成了战略合作伙伴的关系，双方将会共同提供包含持久层解决方案的OSGI平台。&lt;/P&gt;
&lt;P class=t2&gt;OSGi framework 允许开发者将功能作为一个动态的组件安装到现有的Java应用当中。该功能能够被安装，启动，更新，停止等，而不会影响别的独立的组件。SD Times 称之为："&lt;A href="http://www.sdtimes.com/article/story-20070601-27.html" target=_blank&gt;a quiet contender for the title of most important technology of the decade&lt;/A&gt;". &lt;/P&gt;
&lt;P class=t2&gt;&lt;A href="http://developer.db4o.com/files/folders/db4o_63/tags/Java/default.aspx?pnr=0034000000KSZVwAAP"&gt;db4o 6.3 Java版本&lt;/A&gt; 最新增加了与OSGI兼容的服务接口。ProSyst 已经在他们的开源和商业产品中采用db4o 作为一个标准的对象持久解决方案。更多的信息可以访问 &lt;A href="http://www.prosyst.com/news/db4o.html" target=_blank&gt;press release&lt;/A&gt; 或者访问我们的&lt;A href="http://www.db4o.com/OSGi?pnr=0034000000KSZVwAAP" target=_blank&gt;OSGi page&lt;/A&gt;. &lt;/P&gt;&lt;A class="" title=Article2 name=Article2&gt;&lt;/A&gt;
&lt;P class=t2&gt;&lt;BR&gt;&lt;B&gt;--&amp;nbsp;100 % 的性能提升--&lt;/B&gt; &lt;/P&gt;
&lt;P class=t2&gt;我们在PolePosition 中使用了db4o 6.3来进行测试，包括存储和操作对象，而这些操作获得了接近100％的提升。这是因为我们在最新版本中采用了新的IoAdapter cache，已经是默认使用的属性了. &lt;/P&gt;
&lt;P class=t2&gt;&lt;A href="http://polepos.org/" target=_blank&gt;PolePosition&lt;/A&gt; 是一系列对数据库功能的性能测试. &lt;/P&gt;
&lt;P class=t2&gt;为了保证产品的质量，整套PolePosition tests 都整合进了我们的持久集成过程之中，已经运行了很多个星期了。这些测试能够在某些因素导致db4o性能或者速度或者大小发生显著变化的时候，给开发者提出预警。&lt;/P&gt;&lt;A class="" title=Article3 name=Article3&gt;&lt;/A&gt;
&lt;P class=t2&gt;&lt;BR&gt;&lt;B&gt;-- NO "BROKEN WINDOWS" - 实现零关键错误--&lt;/B&gt; &lt;/P&gt;
&lt;P class=t2&gt;我们很高兴宣布我们这个月首次实现了零关键bugs，同时，我们也将在今后的开发中保证这个状态。采用社区的反馈以及敏捷开发实践是我们一贯的策略。我们的目标是实现"No Broken Windows"，也就是在产品中不出现关键的bugs。我们也为解决关键bugs制定了解决的方案。 &lt;/P&gt;
&lt;P class=t2&gt;你可以在 &lt;A href="http://tracker.db4o.com/?pnr=0034000000KSZVwAAP" target=_blank&gt;Jira&lt;/A&gt;&amp;nbsp;查看我们的进度, 我们的bug，任务以及改进。&lt;/P&gt;&lt;A class="" title=Article4 name=Article4&gt;&lt;/A&gt;
&lt;P class=t2&gt;&lt;BR&gt;&lt;B&gt;-- 客户焦点: POSTBANK 在咨询工具中采用db4o --&lt;/B&gt; &lt;/P&gt;
&lt;P class=t2&gt;Postbank,是德国著名的零售银行，面临着改进他们的财务咨询软件的压力，实现在线和离线的销售支持。而db4o帮他们实现了这个功能。 &lt;/P&gt;
&lt;P class=t2&gt;&lt;I&gt;"我们需要一个简单易用的数据库，不需要长时间的设计，能够帮助我们在短时间内实现应用。我们比较了很多款数据库，但是db4o是这些里面性能最佳和最易用的，所以我们选择了db4o."&lt;/I&gt;&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; -- Horst Hartberger, Technical Project Leader, &lt;A href="http://www.postbank.de/" target=_blank&gt;Postbank AG&lt;/A&gt; &lt;/P&gt;&lt;A class="" title=Article5 name=Article5&gt;&lt;/A&gt;
&lt;P class=t2&gt;&lt;BR&gt;&lt;B&gt;-- db4objects 加入了 ACCESS GLOBAL PARTNER PROGRAM --&lt;/B&gt; &lt;/P&gt;
&lt;P class=t2&gt;因为几个大客户项目的驱动，db4objects 和 ACCESS, 全球领先的移动应用技术公司，建立了合作伙伴关系。同时，db4objects还加入了Access Connect Ecosystem (ACE) partner program. 双方的合作将会为移动终端带来定制的Java持久层方案。&lt;/P&gt;
&lt;P class=t2&gt;运营商需要硬件无关的平台来使得他们提供差异化的服务，而Java为这个框架提供了理想的平台。&lt;/P&gt;
&lt;P class=t2&gt;ACCESS 与终端提供商有很好的合作关系，双方的合作是移动技术和持久层方案的合作，必将为下一代的运营商的差异化服务作出贡献。&lt;/P&gt;
&lt;P class=t2&gt;更多信息：&lt;A href="http://www.access-company.com/news/press/ACCESS/2007/20070601_orange.html" target