Android資料庫框架總結,總有一個適合你!

技術小能手發表於2018-10-08

一:OrmLite

簡述: 優點: 1.輕量級;2.使用簡單,易上手;3.封裝完善;4.文件全面。缺點:1.基於反射,效率較低(本人還沒有覺得效率低);2.缺少中文翻譯文件

 ●  jar包 地址:http://ormlite.com/releases/

 ●  整合方法:把jar包複製到as的libs資料夾下,並且引用jar包即可

 ●  用於學習的相關部落格:

    • 我的部落格

總結:比較好的一個資料庫開源框架。不過git上很久沒有更新了,貌似人家好像不在git上做專案維護了,而是在 官網 上做維護更新。

二:LitePal

簡述:暫無

 ●  git 地址:https://github.com/LitePalFramework/LitePal

 ●  整合方法:compile ‘org.litepal.android:core:1.5.0’

 ●  用於學習的相關部落格:

    • 我的部落格

    • 郭霖的部落格

總結:LitePal 框架是郭大神開源的資料庫框架,他的部落格也比較詳細的介紹了其用法。還不錯的框架。

三:GreenDao3.2

簡述:其優點還包括以下幾點:1.存取速度快; 2.支援資料庫加密; 3.輕量級; 4.啟用實體; 5.支援快取; 6.程式碼自動生成

 ●  git 地址:https://github.com/greenrobot/greenDAO

 ●  整合方法: compile ‘org.greenrobot:greendao:3.2.0’

 ●  用於學習的相關部落格:

    • GreenDao3.2.0專案的接入和簡單的使用

    • GreenDao3.2的使用,愛不釋手

    • Android ORM 框架:GreenDao 使用詳解(進階篇)

GreenDao資料加密相關部落格:

 ●  greenDAO的使用詳解—(4)greenDAO3.2.2結合sqlcipher加密資料庫

 ●  greendao3.0以上使用步驟(三):資料庫加密

加密注意事項: 

多新增一個依賴的


compile `net.zetetic:android-database-sqlcipher:3.5.7@aar`

網址:https://www.zetetic.net/sqlcipher/sqlcipher-for-android/

關於GreenDao3.2的升級處理一個不錯的git地址:GreenDaoUpgradeHelper

總結:效率很高,插入和更新的速度是sqlite的2倍,載入實體的速度是ormlite的4.5倍,目前git上一直在做更新維護,start數量為9000多。

四:DBFlow

簡述:其優點還包括以下幾點:1.存取速度快; 2.支援資料庫加密; 3.輕量級; 4.啟用實體; 5.支援快取; 6.程式碼自動生成

 ●  git 地址:https://github.com/Raizlabs/DBFlow

 ●  整合方法: 參考git地址中的內容

 ●  用於學習的相關部落格:

總結:也是很不錯的資料庫框架,kotlin,rx好像都支援,比GreenDao3.2的使用好像跟方便一些(還沒有具體使用)。目前git上一直在做更新維護,截止2018.1.19日前start數量為3944多。

五:Realm

簡述:  
1.易用:Ream 不是在SQLite基礎上的ORM,它有自己的資料查詢引擎。並且十分容易使用。 
2.快速:由於它是完全重新開始開發的資料庫實現,所以它比任何的ORM速度都快很多,甚至比SLite速度都要快。 
3.跨平臺:Realm 支援 iOS & OS X (Objective‑C & Swift) & Android。我們可以在這些平臺上共享Realm資料庫檔案,並且上層邏輯可以不用任何改動的情況下實現移植。 
4.高階:Ream支援加密,格式化查詢,易於移植,支援JSON,流式api,資料變更通知等高階特性 
5.視覺化

 ●  git 地址:https://github.com/realm/realm-java

 ●  官網地址:https://realm.io/docs/java/latest/#getting-started

 ●  整合方法:官網中或相關部落格中已做詳細說明

 ●  用於學習的相關部落格:

總結:目前git上一直在做更新維護,start數量也為7000多。資料庫Realm,是用來替代sqlite的一種解決方案,它有一套自己的資料庫儲存引擎,比sqlite更輕量級,擁有更快的速度,並且具有很多現代資料庫的特性,比如支援JSON,流式api,資料變更通知,自動資料同步,簡單身份驗證,訪問控制,事件處理,最重要的是跨平臺,目前已有Java,Objective C,Swift,React-Native,Xamarin這五種實現。和 SQLite 不同,它允許你在持久層直接和資料物件工作。在它之上是一個函式式風格的查詢api,眾多的努力讓它比傳統的SQLite 操作更快 。在as3.0以上版本的整合方法:  api ‘io.realm:realm-android-library:2.1.1’。官網上推薦的外掛化整合方法,在as3.0以上會報錯。

原文釋出時間為:2018-10-6

本文來自雲棲社群合作伙伴“Android開發中文站”,瞭解相關資訊可以關注“Android開發中文站”。


相關文章