Android 數(shù)據(jù)庫框架總結(jié),總有一個(gè)適合你!

轉(zhuǎn):Android 數(shù)據(jù)庫框架總結(jié),總有一個(gè)適合你!
推薦使用GreenDaoRealm


一:OrmLite

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

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

集成方法:把jar包復(fù)制到as的libs文件夾下,并且引用jar包即可

用于學(xué)習(xí)的相關(guān)博客:

我的博客
總結(jié):比較好的一個(gè)數(shù)據(jù)庫開源框架。不過git上很久沒有更新了,貌似人家好像不在git上做項(xiàng)目維護(hù)了,而是在 官網(wǎng) 上做維護(hù)更新。

二:LitePal

簡述:暫無

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

集成方法:compile ‘org.litepal.android:core:1.5.0’

用于學(xué)習(xí)的相關(guān)博客:

我的博客
郭霖的博客
總結(jié):LitePal 框架是郭大神開源的數(shù)據(jù)庫框架,他的博客也比較詳細(xì)的介紹了其用法。還不錯(cuò)的框架。

三:GreenDao

簡述:其優(yōu)點(diǎn)還包括以下幾點(diǎn):1.存取速度快; 2.支持?jǐn)?shù)據(jù)庫加密; 3.輕量級; 4.激活實(shí)體; 5.支持緩存; 6.代碼自動(dòng)生成

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

集成方法: compile ‘org.greenrobot:greendao:3.2.0’

用于學(xué)習(xí)的相關(guān)博客:

GreenDao3.2.0項(xiàng)目的接入和簡單的使用
GreenDao3.2的使用,愛不釋手
Android ORM 框架:GreenDao 使用詳解(進(jìn)階篇)
GreenDao數(shù)據(jù)加密相關(guān)博客:

greenDAO的使用詳解—(4)greenDAO3.2.2結(jié)合sqlcipher加密數(shù)據(jù)庫
greendao3.0以上使用步驟(三):數(shù)據(jù)庫加密
加密注意事項(xiàng):
多添加一個(gè)依賴的

compile 'net.zetetic:android-database-sqlcipher:3.5.7@aar'
1
網(wǎng)址:https://www.zetetic.net/sqlcipher/sqlcipher-for-android/

關(guān)于GreenDao3.2的升級處理一個(gè)不錯(cuò)的git地址:GreenDaoUpgradeHelper

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

四:DBFlow

簡述:其優(yōu)點(diǎn)還包括以下幾點(diǎn):1.存取速度快; 2.支持?jǐn)?shù)據(jù)庫加密; 3.輕量級; 4.激活實(shí)體; 5.支持緩存; 6.代碼自動(dòng)生成

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

集成方法: 參考git地址中的內(nèi)容

用于學(xué)習(xí)的相關(guān)博客:

DBFlow的初步使用
我所了解的Android數(shù)據(jù)庫框架——DBFlow
總結(jié):也是很不錯(cuò)的數(shù)據(jù)庫框架,kotlin,rx好像都支持,比GreenDao3.2的使用好像跟方便一些(還沒有具體使用)。目前git上一直在做更新維護(hù),截止2018.1.19日前start數(shù)量為3944多。

五:Realm

簡述:
1.易用:Ream 不是在SQLite基礎(chǔ)上的ORM,它有自己的數(shù)據(jù)查詢引擎。并且十分容易使用。
2.快速:由于它是完全重新開始開發(fā)的數(shù)據(jù)庫實(shí)現(xiàn),所以它比任何的ORM速度都快很多,甚至比SLite速度都要快。
3.跨平臺:Realm 支持 iOS & OS X (Objective?C & Swift) & Android。我們可以在這些平臺上共享Realm數(shù)據(jù)庫文件,并且上層邏輯可以不用任何改動(dòng)的情況下實(shí)現(xiàn)移植。
4.高級:Ream支持加密,格式化查詢,易于移植,支持JSON,流式api,數(shù)據(jù)變更通知等高級特性
5.可視化

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

官網(wǎng)地址:https://realm.io/docs/java/latest/#getting-started

集成方法:官網(wǎng)中或相關(guān)博客中已做詳細(xì)說明

用于學(xué)習(xí)的相關(guān)博客:

【Android】Realm詳解
Realm For Android詳細(xì)教程
郭霖微信推薦 地址
總結(jié):目前git上一直在做更新維護(hù),start數(shù)量也為7000多。數(shù)據(jù)庫Realm,是用來替代sqlite的一種解決方案,它有一套自己的數(shù)據(jù)庫存儲引擎,比sqlite更輕量級,擁有更快的速度,并且具有很多現(xiàn)代數(shù)據(jù)庫的特性,比如支持JSON,流式api,數(shù)據(jù)變更通知,自動(dòng)數(shù)據(jù)同步,簡單身份驗(yàn)證,訪問控制,事件處理,最重要的是跨平臺,目前已有Java,Objective C,Swift,React-Native,Xamarin這五種實(shí)現(xiàn)。和 SQLite 不同,它允許你在持久層直接和數(shù)據(jù)對象工作。在它之上是一個(gè)函數(shù)式風(fēng)格的查詢api,眾多的努力讓它比傳統(tǒng)的SQLite 操作更快 。在as3.0以上版本的集成方法: api ‘io.realm:realm-android-library:2.1.1’。官網(wǎng)上推薦的插件化集成方法,在as3.0以上會報(bào)錯(cuò)。

相關(guān)博客:

個(gè)人感覺這篇博客,對這兩個(gè)框架的優(yōu)缺點(diǎn)分析的很到位。得出的結(jié)論大概是:
(一萬條數(shù)據(jù)測試結(jié)果:添加,刪除速度大大優(yōu)于 Realm。而查詢速度卻大大遜色于 Realm。)
Android數(shù)據(jù)庫框架GreenDao&Realm實(shí)戰(zhàn)分析

SQLite數(shù)據(jù)庫框架ORMLite與GreenDao的簡單比較

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • OrmLite 簡述: 優(yōu)點(diǎn): 1.輕量級;2.使用簡單,易上手;3.封裝完善;4.文檔全面。缺點(diǎn):1.基于反射,...
    Jannonx閱讀 801評論 0 3
  • 原文章地址一:OrmLite簡述: 優(yōu)點(diǎn): 1.輕量級;2.使用簡單,易上手;3.封裝完善;4.文檔全面。缺點(diǎn):1...
    如若成楓閱讀 1,415評論 0 2
  • 令人絕望的一周又從輸液開始,只不過是在另外地方的新一家醫(yī)院,唯一不變的只有希望盡早康復(fù)的急切心情。盡管新的醫(yī)院規(guī)模...
    夏野閱讀 137評論 0 0
  • 前幾天,有點(diǎn)事兒下班晚走了一會兒,在電梯里碰到實(shí)施部的劉工,感覺整個(gè)人都很疲倦的樣子;我問這是怎么啦,碰到難纏的項(xiàng)...
    普實(shí)軟件閱讀 557評論 0 0
  • 飄飄欲仙,稀里糊涂, 可愛的老男人,我又見到了你。 我伸手摸不到天堂, 滴淚侵不去地獄, 想擁一枝玫瑰尋你, 然人...
    弋斯閱讀 420評論 0 0

友情鏈接更多精彩內(nèi)容