繁体   English   中英

如何在 flutter 应用程序中的特定日期和时间更新 sqflite 数据库中的表记录?(Android)

[英]How to update table records in sqflite database on a specific date and time in a flutter app?(Android)

我为 Android 开发了 flutter 移动应用程序。 它有一个“付款”数据表。 我需要在 1 月 31 日 23.59 小时更新它。 我怎样才能做到这一点?

在应用程序的主要 class 中调用 function 是不合适的,因为如果在我检查的特定时间没有打开应用程序,数据库将不会更新。 所以在我看来,这应该使用自动更新功能来处理。

我可以想到两种解决方案:

第一:如果支付表的数据只在你的应用中使用,那么你不需要在同一时间更新它。 您可以编写一个在应用程序打开时运行的if代码(例如在启动屏幕中),以检查是否已通过所需的时间(1 月 31 日 23.59 小时)。 如果过了那个时间,那就做你想做的事情。

第二:您可以使用workmanager 这是一个在后台运行 function 的插件。 它有一个registerOneOffTask function 满足您的需求。

void main() {
  Workmanager.initialize(
    callbackDispatcher, // The top level function, aka callbackDispatcher
    isInDebugMode: true // If enabled it will post a notification whenever the task is running. Handy for debugging tasks
  );
  Workmanager.registerOneOffTask("1", "simpleTask"); //Android only (see below)
  runApp(MyApp());
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM