带sqlite的dart-Flatter工作槽
发布时间:2022-04-28 00:48:29 161
相关标签: # 数据库# 数据
我正在为SQLite数据库和workmanger构建一个金融应用程序,使用flatter和flatter_drift进行后台任务。
现在,我需要一种在后台运行插入查询的方法,即使应用程序每隔一段时间(如天/周/月)关闭一次。
我尝试了下面的内容,但抛出了一个我调用的错误AppDatabase
多次初始化,这是真的,因为我无法使用getIt
到目前为止,我在代码方面所做的工作:
void callbackDispatcher() {
configureInjection(Environment.prod);
final ITransactionService transactionService = TransactionService(
TransactionRepository(TransactionsDao(AppDatabase())),
ContactPickerService(),
ImagePickerService(),
);
Workmanager().executeTask(
(task, inputData) async {
switch (task) {
case 'repeatedTransaction':
// final String tId = inputData['string'];
final String? id = inputData?['string'];
optionOf(id).fold(
() => null,
(id) async {
final Either<TransactionFailure, TransactionDomain?> t =
await transactionService.findTransactionById(id);
t.fold(
(l) => print('$l'),
(transactionDomain) {
if (transactionDomain != null) {
transactionService.create(transactionDomain.copyWith(
date: TransactionDate(DateTime.now())));
}
},
);
},
);
break;
default:
} //simpleTask will be emitted here.
return Future.value(true);
},
);
}
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报