如何在Android每天早上9点从数据库中取数据?

How to fetch data from the database every day at 9 am in Android?

我正在为 Android 创建一个活动应用程序。我在 SQL 服务器上使用本地数据库,我对如何实现从我的数据库中检索最新事件的后台服务有一些疑问。基本上,我想要的是这样的:每天早上 9 点,我都会收到一条通知,告知我添加了新事件。为此,我考虑使用后台服务和每天早上 9 点的警报管理器,该服务会在我的数据库中查找最近发生的事件。但是我对如何做到这一点有些疑问?我在互联网上看到了一些东西,但我最终感到困惑。如果没有互联网,是否可以在有连接的情况下立即访问数据库? 感谢所有帮助过我的人。

您正在寻找的是Workermanager。 https://developer.android.com/topic/libraries/architecture/workmanager/basics 简化:您定义一个函数,当满足您设置的约束时调用该函数。这些限制条件是上午 9 点和互联网可用,并且每 24 小时重复一次。

我会为您的任务使用 PeriodicworkRequest 并设置时间,第一次执行时应该使用 initialdelay 完成,您可以根据当前时间使用一些代码动态定义它。

您可以像您在评论中所写的那样使用 OneTimeWork 完成工作,这也会触发另一个 OneTimeWork。仅当满足所有约束条件时才执行请求,并推迟到满足条件为止。

无论您使用 OneTimeWork 还是 PeriodicWork,这取决于您的情况对时间的敏感程度

本文可以帮助您找到您喜欢的解决方案 https://medium.com/androiddevelopers/workmanager-periodicity-ff35185ff006