簡介 本項目基于Davanum Srinivas開發的BrowseMap,BrowseMap是一個為Android開發的Google Maps瀏覽器,能提供:在Android上瀏覽Google Maps 地圖的放大和縮小 跟隨鼠標移動(在真實設備上應該是觸摸屏) 交通和衛星視圖之間轉換 定位(這樣的地圖應用程序基礎功能實際上已經在Android上實現了)但是MapMe在這些基礎功能之上提供了不少新特性,這都得感謝db4o對象持久引擎:
屏幕截圖 想看應用程序是如何運作的,你可以觀看在YouTube上的MapMe視頻、從一個外部服務器下載高分辨率視頻(30 Mb)或下面的屏幕截圖:db4o總部(衛星+交通視圖)MapMe主菜單:建立書簽/導航點(navpoint):保存的書簽/導航點(navpoint)列表:MapMe是如何運用db4o的如果你查看源代碼(下面有下載),你會發現DB helper類處理了所有的持久化操作(開啟、存儲、查詢、計數數據庫),而這一切都不超過80行代碼!這一切都很簡單,而且不會喪失性能。讓我們來看一些項目中用到的持久化方法。
開啟數據庫 開啟數據庫的確簡單,并且在必要的時候還能自動生成數據庫文件。一旦打開,db4o將鎖定數據庫文件。
注意,為MapBookmark對象建立的索引字段是“name”,并設置激活和更新級別。保存書簽
在這里我們調用一系列的操作,無論對象是否存在于數據庫,對象都會被更新或插入。
在保存到數據庫之前,我們設置好所有字段。
根據名字查詢書簽我們通過Query by Example(QBE)傳入一個原型來取回以名字為條件的書簽。
QBE利用反射來檢查原型對象的字段。查詢所有書簽
這里我們把SODA查詢結果拷貝到ArrayList中。但要注意,當使用Native Queries時你不必這樣做(在這種情況下將直接返回List<MapBookmark>)。
刪除書簽
如果你的對象在db4o參考系統中存在,你可以輕松的調用delete()操作從數據庫中刪除它。書簽計數
要通過查詢來進行對象計數,你只要詢問查詢結果的大小即可。待完成
下載MapMe.ZipYouTube上的MapMe視頻高分辨率視頻(30 Mb)請注意!引用、轉貼本文應注明原譯者:RosenJiang 以及出處:http://www.tkk7.com/rosen
Powered by: BlogJava Copyright © Rosen