android room表关联,如何在首次运行时填充Android Room数据库表?
我嘗試了許多方法可以做到這一點(diǎn),每個(gè)沒(méi)有提供。
首先,我嘗試使用'addMigrations'方法向Room中添加Migration實(shí)現(xiàn),但發(fā)現(xiàn)它只在數(shù)據(jù)庫(kù)升級(jí)期間運(yùn)行,但不在創(chuàng)建時(shí)運(yùn)行。
然后,我嘗試使用'openHelperFactory'方法將SQLiteOpenHelper實(shí)現(xiàn)傳遞給Room。但是為了避開(kāi)Room的包級(jí)訪問(wèn)修飾符而創(chuàng)建了一堆類之后,我放棄了這一努力。我也嘗試了繼承Room的FrameworkSQLiteOpenHelperFactory,但是,它的構(gòu)造函數(shù)的包級(jí)訪問(wèn)修飾符不支持這一點(diǎn)。
最后,我創(chuàng)建了一個(gè)IntentService來(lái)填充數(shù)據(jù),并從我的Application子類的onCreate方法中調(diào)用它。該方法可行,但更好的解決方案應(yīng)該是即將解決此頁(yè)面上其他地方Sinigami提到的跟蹤問(wèn)題。
達(dá)里爾
[增加了2017年7月19日]
問(wèn)題看起來(lái)好像在1.0.0房解決。 Alpha 5.此版本向RoomDatabase添加了一個(gè)回調(diào)函數(shù),使您可以在數(shù)據(jù)庫(kù)第一次創(chuàng)建時(shí)執(zhí)行代碼。看一看:
總結(jié)
以上是生活随笔為你收集整理的android room表关联,如何在首次运行时填充Android Room数据库表?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 计算机专业的英语文献,计算机专业英语论文
- 下一篇: Android端发送字符到Wed端,an