因?yàn)橐鎿Q,所以研究了用什么數(shù)據(jù)庫,然后選擇了Realm!
GreenDao由商業(yè)公司greenrobot維護(hù),但該公司在3年前就將重心轉(zhuǎn)移到新的數(shù)據(jù)庫ObjectBox,
在最近一年已經(jīng)停止維護(hù)GreenDao。
該項(xiàng)目?jī)H開源了SDK部分的代碼,Gradle插件部分代碼并未開源。由于沒有源碼,
大量bug出現(xiàn)了數(shù)年都無法修復(fù),在最新的開發(fā)環(huán)境下已經(jīng)難以編譯。預(yù)期2019年以后,
Android官方在Android Plugin 4.0刪除廢棄API后,GreenDAO將徹底不能使用。
greenrobot官方以無時(shí)間處理為由拖延拒絕提供插件源碼,導(dǎo)致該項(xiàng)目無法被社區(qū)維護(hù)。
Gradle團(tuán)隊(duì)官方也曾介入,但greenrobot仍然無任何回應(yīng)。
我在開發(fā)過程中遇到了查看數(shù)據(jù)庫的問題!以前用過的時(shí)候很好用!
因?yàn)镽ealm和NoSql都是,所以不能查看之前的xx.db表格
Realm是官方引入的,因?yàn)樗麄兊臄?shù)據(jù)庫格式是xxx.realm實(shí)用的花紋筆刷下載,所以需要使用自己的工具來查看
Realm macNeo picker(截圖/查看字體/取顏色代碼),linux,有支持
但我不得不抱怨,我是系統(tǒng),realm只支持.1以上的系統(tǒng)
所以使用Realm只能放棄
在此處使用 +
但是git:-realm的最新更新時(shí)間是2年前,訪問還存在各種問題,中間差點(diǎn)放棄使用Realm
可能會(huì)報(bào)各種錯(cuò)誤,比如
java.lang.NoClassDefFoundError Lio/realm/internal/SharedRealm$Durability
java.lang.NoClassDefFoundError: Failed resolution of: Lio/realm/internal/LinkView;
java.lang.NoClassDefFoundError Lio/realm/internal/SharedGroup
但是還是解決了,但是不知道以后隨著時(shí)間的推移會(huì)不會(huì)出現(xiàn)問題
好mac數(shù)據(jù)庫gui可視化軟件,我正式介紹一下如何訪問+
1.它可以在您的根構(gòu)建下。或在應(yīng)用程序的構(gòu)建下。
maven { url 'https://github.com/WickeDev/stetho-realm/raw/master/maven-repo' }
為了避免各種問題潮流風(fēng)格花紋筆刷,我在app的build下添加了。
repositories {
maven { url 'https://github.com/WickeDev/stetho-realm/raw/master/maven-repo' }
}
dependencies {
debugApi 'com.facebook.stetho:stetho:1.5.1'
debugApi 'com.uphyca:stetho_realm:2.3.0'
}
注意:url地址,不是maven {url '#39; }
順便說一下,我使用的Realm是:
classpath "io.realm:realm-gradle-plugin:5.11.0"
2.下執(zhí)行:
Stetho.initialize( Stetho.newInitializerBuilder(this)
.enableDumpapp(Stetho.defaultDumperPluginsProvider(this))
.enableWebKitInspector(RealmInspectorModulesProvider.builder(this).build())
.build())
網(wǎng)上也有如下配置:(看評(píng)論應(yīng)該知道什么意思了,但是我如下訪問的時(shí)候還是打不開,然后(true)mac數(shù)據(jù)庫gui可視化軟件,就可以了自己測(cè)試)
p>
Stetho.newInitializerBuilder(this)
.enableDumpapp(Stetho.defaultDumperPluginsProvider(this))
.enableWebKitInspector(
RealmInspectorModulesProvider.builder(this)
.withDeleteIfMigrationNeeded(true) //if there is any changes in database schema then rebuild bd.
.withMetaTables() //extract table meta data
.withLimit(10000) //by default limit of data id 250, but you can increase with this
.build()
)
.build());
完成后,在觸發(fā)數(shù)據(jù)存儲(chǔ)后運(yùn)行您的代碼
在瀏覽器中輸入:://
為您自己的項(xiàng)目選擇一個(gè)
注意:有時(shí)候確認(rèn)連接沒有問題,但是在Web SQL下看不到xxx.realm。我也遇到過這個(gè)問題,搞了很久才搞定!
我是這樣解決的:
1.在代碼中或卸載重裝應(yīng)用后修改xxx.realm的名稱
2.換手機(jī)等
總是出現(xiàn)! !