亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Android與db4o的完美結合-Password Manager

系統 1809 0

db4o 轉載 - 瘋狂 --專注java,開源,架構,項目管理 - BlogJava

Android與db4o的完美結合-Password Manager

項目簡介

這里提供的 Password Manager項目 是Steven Osborn編寫的 PasswordSafe (在Apache License下發行)的改寫版,目前已經實現了在 Android 平臺下的基本密碼管理功能。項目源代碼中使用db4o代替了SQLite,這樣不但使持久化處理更為直觀,而且使開發過程更快速、整個應用更加高效。

在這個項目中,你可以獲得以下資源:

????* db4o與SQLite之間在基本持久化操作上的比較
????* 完整的Android示例應用代碼
????* 應用運行時的視頻演示

基本功能

本應用基本功能是安全地保存網站登錄信息,例如URL、用戶名、密碼,它使用128位AES加密算法。使用者必需提供正確的密碼才能訪問應用,而密碼被用于加密/解密應用數據。

這里提供了采用db4o技術的Password Manager在Android模擬器下運行的在線視頻:
http://www.youtube.com/watch?v=UFSD44AcBwM

如果你下載了源代碼(請見本頁末尾的詳細說明),那么你會看到原來PasswordSafe中的DBHepler類(實現SQLite下的持久化)已經被替換為Db4oHelper類(實現db4o的持久化)。現在,就讓我為你展示db4o和SQLite在持久化處理上的不同之處吧。

SQL初始化開銷

這是你需要在SQLite下初始化密碼管理器SQL代碼(表名、表創建命令等):

而下面是等價的db4o代碼:

正如你所看到的,在db4o中無需預定義schema(你可以將db4o對象模式當作schema使用,并且 在這種對象模型下進行重構是非常優雅的 ,甚至 在一些簡單的情況下是自動化的 )。

數據庫打開和創建機制

在SQLite中,你需要調用兩種不同的方法,一種是創建數據庫,另一種是打開數據庫:

而在db4o中,你只需要調用openFile(),它將根據數據庫是否存在來創建或者打開數據庫:

也許這里的差別看起來無關緊要,但更簡短的代碼才是更清晰的代碼!

更新和插入數據

使用關系數據庫SQLite時,你需要根據具體情況傳送插入或更新命令(完全正確地構造反射數據表字段的SQL字符串確并非易事):

這里是等價的db4o代碼:

你是否發現了不同?db4o實際上是一種單行代碼(one-line-of-code)的存儲數據庫。db4o自動檢查對象是新的還是已存在的,并根據對象狀態進行更新或者插入(我們只需要調用set操作)。值得注意的是,在上面的代碼中我們手工提供了對象的新id,而db4o是可以將其配置為自增字段的。

查詢所有記錄

在SQLite中,我們不得不進行人工的對象關系映射:

而在db4o中,我們完全可以忘掉關系映射:

請注意:在上面簡短的查詢中,我們通過db4o的 SODA 查詢了全部PassEntry對象,并將結果按照"id"字段進行排序(在上面的SQLite示例中沒有排序)。

它不能再簡單了!

通過字段查詢單一記錄

通過Id查詢記錄的SQLite版本:

下面是db4o版本,它使用了 db4o三種查詢系統 之一------ Exmaple(也稱為QBE) 代替前面的 SODA 進行查詢:

可以看出這是多么短小、清晰的代碼啊!

結論

我希望你已經通過以上短小的文檔了解到了db4o的優點。你希望在應用中將持久化提升到一個新的高度嗎?請現在就 下載db4oJava版本或者.NET版本 吧!它是免費的!

相關資源

????* db4o指南
????* 安裝向導
????* 開發者資源

TODO

????* 使用XTEA替換自定義加密算法(XTEA能夠提供數據庫級別加密和IO加密,而不是字段級加密)
????* 提供檢索功能(為了按名稱進行過濾)

Steve的PasswordSafe項目發布在Google Code上,那里有更多的TODO:
http://code.google.com/p/android-passwordsafe/issues/

Bugs

????* 在密碼記錄編輯器中嘗試編輯website輸入框中的URL時會發生錯誤。

源代碼下載

???? Db4oAndroidPswMgr.Zip

Android與db4o的完美結合-Password Manager


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲自拍激情 | 狠狠色噜噜狠狠狠狠69 | 国产欧美一区二区 | 国产日产欧美一区二区三区 | 日本免费不卡一区 | 久久久久久久国产精品毛片 | 一级日本特黄毛片视频 | 久久毛片免费看 | 一级毛片日本特黄97人人 | 国产99在线a视频 | 精品久久久中文字幕 | 欧美精品国产一区二区三区 | 亚洲看片网 | 红色毛片 | 国产精品99久久久久久人 | 日韩欧美一中字暮 | 中文精品北条麻妃中文 | 2019年国产不卡在线刷新 | 欧美成人免费在线视频 | 四虎成人免费视频 | 日日摸日日添夜夜爽97 | 国产精品国产色综合色 | 97在线视| 久久国产亚洲观看 | 久久精品.com| 四虎影视亚洲精品 | 青草草在线观看 | 婷婷开心激情 | h片免费看 | 色狠狠成人综合色 | 国产精品不卡 | 91在线视频 | 亚洲午夜久久影院 | 婷婷六月激情在线综合激情 | 中文欧美一级强 | 精品久久久久久中文字幕网 | 久久中文字幕久久久久 | 免费视频成人国产精品网站 | 国产免费一级在线观看 | 九九热在线视频 | 欧美日韩一区二区三区自拍 |