轉(zhuǎn):Android 數(shù)據(jù)庫框架總結(jié)荠商,總有一個適合你!
推薦使用GreenDao
或Realm
一:OrmLite
簡述: 優(yōu)點: 1.輕量級续誉;2.使用簡單莱没,易上手;3.封裝完善酷鸦;4.文檔全面饰躲。缺點:1.基于反射,效率較低(本人還沒有覺得效率低)臼隔;2.缺少中文翻譯文檔
jar包 地址:http://ormlite.com/releases/
集成方法:把jar包復(fù)制到as的libs文件夾下嘹裂,并且引用jar包即可
用于學(xué)習(xí)的相關(guān)博客:
我的博客
總結(jié):比較好的一個數(shù)據(jù)庫開源框架。不過git上很久沒有更新了摔握,貌似人家好像不在git上做項目維護(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ì)的介紹了其用法例嘱。還不錯的框架。
三:GreenDao
簡述:其優(yōu)點還包括以下幾點:1.存取速度快; 2.支持?jǐn)?shù)據(jù)庫加密; 3.輕量級; 4.激活實體; 5.支持緩存; 6.代碼自動生成
git 地址:https://github.com/greenrobot/greenDAO
集成方法: compile ‘org.greenrobot:greendao:3.2.0’
用于學(xué)習(xí)的相關(guān)博客:
GreenDao3.2.0項目的接入和簡單的使用
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ù)庫加密
加密注意事項:
多添加一個依賴的
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的升級處理一個不錯的git地址:GreenDaoUpgradeHelper
總結(jié):效率很高拼卵,插入和更新的速度是sqlite的2倍,加載實體的速度是ormlite的4.5倍蛮艰,目前git上一直在做更新維護(hù)腋腮,start數(shù)量為9000多。
四:DBFlow
簡述:其優(yōu)點還包括以下幾點:1.存取速度快; 2.支持?jǐn)?shù)據(jù)庫加密; 3.輕量級; 4.激活實體; 5.支持緩存; 6.代碼自動生成
git 地址:https://github.com/Raizlabs/DBFlow
集成方法: 參考git地址中的內(nèi)容
用于學(xué)習(xí)的相關(guān)博客:
DBFlow的初步使用
我所了解的Android數(shù)據(jù)庫框架——DBFlow
總結(jié):也是很不錯的數(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ù)庫實現(xiàn),所以它比任何的ORM速度都快很多奸披,甚至比SLite速度都要快昏名。
3.跨平臺:Realm 支持 iOS & OS X (Objective?C & Swift) & Android。我們可以在這些平臺上共享Realm數(shù)據(jù)庫文件阵面,并且上層邏輯可以不用任何改動的情況下實現(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ù)變更通知,自動數(shù)據(jù)同步,簡單身份驗證授帕,訪問控制同木,事件處理,最重要的是跨平臺跛十,目前已有Java彤路,Objective C,Swift芥映,React-Native洲尊,Xamarin這五種實現(xiàn)。和 SQLite 不同奈偏,它允許你在持久層直接和數(shù)據(jù)對象工作坞嘀。在它之上是一個函數(shù)式風(fēng)格的查詢api,眾多的努力讓它比傳統(tǒng)的SQLite 操作更快 惊来。在as3.0以上版本的集成方法: api ‘io.realm:realm-android-library:2.1.1’丽涩。官網(wǎng)上推薦的插件化集成方法,在as3.0以上會報錯裁蚁。
相關(guān)博客:
個人感覺這篇博客矢渊,對這兩個框架的優(yōu)缺點分析的很到位检眯。得出的結(jié)論大概是:
(一萬條數(shù)據(jù)測試結(jié)果:添加,刪除速度大大優(yōu)于 Realm昆淡。而查詢速度卻大大遜色于 Realm。)
Android數(shù)據(jù)庫框架GreenDao&Realm實戰(zhàn)分析
SQLite數(shù)據(jù)庫框架ORMLite與GreenDao的簡單比較