gpt4 book ai didi

android - 使用kotlin在特定时期更新firebase实时数据库

转载 作者:行者123 更新时间:2023-11-29 23:30:35 25 4
gpt4 key购买 nike

我正在使用 Firebase 实时数据库编写 Kotlin Android 应用程序,我想在特定时间段(10 秒)内更新 GPS 数据,而不是实时更新。 Timer()Handler() 都试过了,但是更新时间不准确,有时不到10秒。

我读了this但这没有帮助。

val myTimer = Timer()
val task = object : TimerTask() {
override fun run() {
val database = FirebaseDatabase.getInstance()
val gps = GPS(latFirebase, longFirebase)
val mAuth = FirebaseAuth.getInstance()
val currentUser = mAuth!!.currentUser
val userID = currentUser!!.uid
val ref = database.getReference("gps_data/$userID")
ref.setValue(gps)
}
}
myTimer.schedule(task, 100, 10000)

最佳答案

不幸的是,Firebase 实时数据库中没有内置每十秒自动递增的操作。如果您需要该功能,您将不得不从客户端应用程序执行此操作,使用如下处理程序:

val handler = Handler()
val timer = Timer()
val doAsynchronousTask = object : TimerTask() {
override fun run() {
handler.post {
try {
//Your function call
} catch (e: Exception) {
// TODO Auto-generated catch block
}
}
}
}
timer.schedule(doAsynchronousTask, 0, 10000)

或者从服务器端环境执行此操作,例如 Cloud Functions .由于 Cloud Functions 仅在响应触发器时运行,并且还没有内置的时间触发器,因此您可以使用 cron-job.org 等服务来模拟它。为此,请参阅 Frank van Puffelen 的回答 post .

关于android - 使用kotlin在特定时期更新firebase实时数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52764375/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com