詳細說明Android設計平臺原理
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,因此更加敏捷。
【編輯推薦】