OrmLite
簡(jiǎn)述: 優(yōu)點(diǎn): 1.輕量級(jí);2.使用簡(jiǎn)單,易上手;3.封裝完善;4.文檔全面。缺點(diǎn):1.基于反射,效率較低(本人還沒有覺得效率低);2.缺少中文翻譯文檔
jar包 地址:http://ormlite.com/releases/
集成方法:把jar包復(fù)制到as的libs文件夾下,并且引用jar包即可
-
用于學(xué)習(xí)的相關(guān)博客:
總結(jié):比較好的一個(gè)數(shù)據(jù)庫(kù)開源框架。不過git上很久沒有更新了,貌似人家好像不在git上做項(xiàng)目維護(hù)了,而是在 官網(wǎng) 上做維護(hù)更新。
LitePal
簡(jiǎn)述:暫無(wú)
集成方法:compile ‘org.litepal.android:core:1.5.0’
-
用于學(xué)習(xí)的相關(guān)鏈接:
總結(jié):LitePal 框架是郭大神開源的數(shù)據(jù)庫(kù)框架,他的博客也比較詳細(xì)的介紹了其用法。還不錯(cuò)的框架。
GreenDao3.2
簡(jiǎn)述:其優(yōu)點(diǎn)還包括以下幾點(diǎn):1.存取速度快; 2.支持?jǐn)?shù)據(jù)庫(kù)加密; 3.輕量級(jí); 4.激活實(shí)體; 5.支持緩存; 6.代碼自動(dòng)生成
集成方法: compile ‘org.greenrobot:greendao:3.2.0’
-
用于學(xué)習(xí)的相關(guān)博客:
GreenDao數(shù)據(jù)加密相關(guān)博客:
- greenDAO的使用詳解—(4)greenDAO3.2.2結(jié)合sqlcipher加密數(shù)據(jù)庫(kù)
- greendao3.0以上使用步驟(三):數(shù)據(jù)庫(kù)加密
加密注意事項(xiàng):
多添加一個(gè)依賴的
compile 'net.zetetic:android-database-sqlcipher:3.5.7@aar'
網(wǎng)址:https://www.zetetic.net/sqlcipher/sqlcipher-for-android/
關(guān)于GreenDao3.2的升級(jí)處理一個(gè)不錯(cuò)的git地址:GreenDaoUpgradeHelper
總結(jié):效率很高,插入和更新的速度是sqlite的2倍,加載實(shí)體的速度是ormlite的4.5倍,目前git上一直在做更新維護(hù),start數(shù)量為9000多。
DBFlow
簡(jiǎn)述:其優(yōu)點(diǎn)還包括以下幾點(diǎn):1.存取速度快; 2.支持?jǐn)?shù)據(jù)庫(kù)加密; 3.輕量級(jí); 4.激活實(shí)體; 5.支持緩存; 6.代碼自動(dòng)生成
集成方法: 參考git地址中的內(nèi)容
-
用于學(xué)習(xí)的相關(guān)博客:
總結(jié):也是很不錯(cuò)的數(shù)據(jù)庫(kù)框架,kotlin,rx好像都支持,比GreenDao3.2的使用好像跟方便一些(還沒有具體使用)。目前git上一直在做更新維護(hù),截止2018.1.19日前start數(shù)量為3944多。
Realm
簡(jiǎn)述:
1.易用:Ream 不是在SQLite基礎(chǔ)上的ORM,它有自己的數(shù)據(jù)查詢引擎。并且十分容易使用。
2.快速:由于它是完全重新開始開發(fā)的數(shù)據(jù)庫(kù)實(shí)現(xiàn),所以它比任何的ORM速度都快很多,甚至比SLite速度都要快。
3.跨平臺(tái):Realm 支持 iOS & OS X (Objective?C & Swift) & Android。我們可以在這些平臺(tái)上共享Realm數(shù)據(jù)庫(kù)文件,并且上層邏輯可以不用任何改動(dòng)的情況下實(shí)現(xiàn)移植。
4.高級(jí):Ream支持加密,格式化查詢,易于移植,支持JSON,流式api,數(shù)據(jù)變更通知等高級(jí)特性
5.可視化
官網(wǎng)地址:https://realm.io/docs/java/latest/#getting-started
集成方法:官網(wǎng)中或相關(guān)博客中已做詳細(xì)說(shuō)明
-
用于學(xué)習(xí)的相關(guān)博客:
總結(jié):目前git上一直在做更新維護(hù),start數(shù)量也為7000多。數(shù)據(jù)庫(kù)Realm,是用來(lái)替代sqlite的一種解決方案,它有一套自己的數(shù)據(jù)庫(kù)存儲(chǔ)引擎,比sqlite更輕量級(jí),擁有更快的速度,并且具有很多現(xiàn)代數(shù)據(jù)庫(kù)的特性,比如支持JSON,流式api,數(shù)據(jù)變更通知,自動(dòng)數(shù)據(jù)同步,簡(jiǎn)單身份驗(yàn)證,訪問控制,事件處理,最重要的是跨平臺(tái),目前已有Java,Objective C,Swift,React-Native,Xamarin這五種實(shí)現(xiàn)。和 SQLite 不同,它允許你在持久層直接和數(shù)據(jù)對(duì)象工作。在它之上是一個(gè)函數(shù)式風(fēng)格的查詢api,眾多的努力讓它比傳統(tǒng)的SQLite 操作更快 。
相關(guān)博客:
個(gè)人感覺這篇博客,對(duì)這兩個(gè)框架的優(yōu)缺點(diǎn)分析的很到位。得出的結(jié)論大概是:
(一萬(wàn)條數(shù)據(jù)測(cè)試結(jié)果:添加,刪除速度大大優(yōu)于 Realm。而查詢速度卻大大遜色于 Realm。)
Android數(shù)據(jù)庫(kù)框架GreenDao&Realm實(shí)戰(zhàn)分析