android - android中的Firebase子事件监听器
问题描述
我有一个 Firebase 的 ChildEventListener,在它的 onChildAdded() 方法中,我调用了 run() 方法(在主线程中运行),它始终将大量数据插入 SQLite 数据库。这一刻,UI 很僵硬。我怎么解决这个问题?谢谢,任何答案!
片段代码
fun start() {
val query = fromServerQueueRef.orderByChild(FireEntity.SERVER_TIMESTAMP).startAt(0.0).limitToFirst(READ_LIMIT)
overwatch = object : Overwatch() {
private var counter = 0
override fun onChildAdded(dataSnapshot: DataSnapshot, s: String?) {
counter++
entityHandler.run(dataSnapshot, counter)
if (counter == READ_LIMIT) {
stop()
start()
}
}
}
overwatch.start(query)
}
解决方案
如果您使用的是firebase ,则可以使用离线同步数据库,它非常简单实用。
推荐阅读
- javascript - 无法在 Crypto 中重现 SubtleCrypto
- heroku - 无法登录 Heroku
- c# - EF 核心:更新特定字段得到跟踪错误
- csv - Symfony - 将GET参数传递给另一条路线?
- go - 使用 Pion/Webrtc 的 Nack 响应者拦截器
- jenkins - 你如何在jenkins中指定cppcheck参数
- angular - 使用过滤器 rxjs - angular 的重复代码,如何改进它?
- python - BeautifulSoup: html-encode 特殊字符
- azure-devops - 是否有可能恢复对无数故事历史中显示的专栏板所做的更改?
- python - 子类中返回值的类型提示