Android设计平台的免费软件能够把利用手机上的照相机把手机变成一个移动条码阅读器,通过与全球各地的手机制造商和移动运营商结成合作伙伴,开发既有用又有吸引力的移动服务,并推广这些产品。
目前我了解到的一个是SQLite,一个就是db4o。SQLite 是Android设计平台内置的精简型关系型数据库,能实现标准关系型数据库的大部分功能。db4o是对象数据库,在编程上更为简单。个人比较看好对象数据库在手机上的使用。因为在手机上所要处理的数据毕竟是少量的。
对性能要求不象数据库服务器那么高。这时对象数据库编程简单、可灵活适应未来变化的优点就显现出来了。但因为db4o不是Android内置支持的,目前还做不到和Android特有的一些编程部件的无缝结合。 Android内嵌了SQLite数据库,这是一个轻量级的关系型数据库。与J2SE不同,Android上定义了一套新的数据库操作API,而不是使用JDBC。
db4objects宣布了其旗舰产品db4o可以无缝的运行在Android平台。db4o是一款面向对象的原生(native)数据库。我个人不是很喜欢Android内置的这套数据库API,因为它并不遵循JDBC规范。在我的理解,Android的一大亮点就是拥抱现有的技术,赢得了java开发人员的喜欢。
而新的查询API意味着原有的基于JDBC的数据库相关的程序不能直接运行于Android。从这个角度来讲,db4o在所有的API方面保持了高度一致,无需做任何修改,因为db4o是完全基于java的原生数据库。
开发人员可能更习惯使用面向关系型数据库,但是db4o在API设计方面非常适合移动设备的开发,非常简洁。拿Android平台内置的联系人数据结构来讲,存储,读取联系人,如果使用db4o,只需10行只有的代码,如果使用SQLite的话,则需要上百行代码。
db4o直接面对对象,无需把对象转化为表结构字段,因为编程更不容易出错。和服务端不同,手机上的数据库更要求自适应管理,而无需数据库管理员,这也是db4o的设计目标之一。 db4o在Android设计平台上的部署不需要任何配置或改动,就当作一个普通的library就可以流畅运行了。由于市场上还没有Android手机出售所以无法给出确切的性能比较。
但是在模拟器上的比较证明db4o的综合性能丝毫不逊于SQLite, 在一些情况下甚至有数量级的优势,比如已知数据的id来进行删/改/查等,对于手机应用这是非常普遍的使用场景。
Android设计平台上目前没有成熟的O/R Mapping框架,对于大多数习惯了Hibernate,JDO,iBatis等各种框架的开发人员来说,面向对象数据库更符合他们的使用习惯。而且面向对象数据库直接避免了O/R Mapping的问题,重构代码完全不用考虑重构数据库或者配置,更不用修改SQL,因此更加敏捷。
【编辑推荐】
【责任编辑:苏越 TEL:(010)68476606】
点赞 0